Integrations connects other services with GitHub. An integration can be a webhook, GitHub App, or OAuth App. Each type of integration serves a different use case.
Webhooks allow you to build or set up integrations which subscribe to certain events on GitHub.com. For more information on webhooks at GitHub, see "Webhooks."
Note: GitHub Apps are only compatible with the REST API v3 at this time.
GitHub Apps provide a service to an entire organization and use their own identity when performing their function. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub Apps are first class actors within GitHub. To install a GitHub App, you must be an organization owner.
A GitHub App can act on its own behalf, taking actions via the API directly instead of impersonating a user, which means a bot or service account doesn't need to be maintained as a separate user.
OAuth Apps use GitHub as an identity provider. When using OAuth Apps, all actions are performed as the user who granted access to the OAuth App. OAuth2 is a protocol that lets external applications request authorization to private details in a user's GitHub account without accessing their password. This is preferred over Basic Authentication because tokens can be limited to specific types of data and can be revoked by users at any time.