GitHub Apps documentation
Go deeper with GitHub by integrating with our APIs and webhooks, customizing your GitHub workflow, and building and sharing apps with the community.
Start here
- About using GitHub Apps- Learn about what a GitHub App is and why you would use a GitHub App. 
- About creating GitHub Apps- GitHub Apps let you build integrations to automate processes and extend GitHub's functionality. 
- Differences between GitHub Apps and OAuth apps- In general, GitHub Apps are preferred to OAuth apps because they use fine-grained permissions, give more control over which repositories the app can access, and use short-lived tokens. 
- About authentication with a GitHub App- Your GitHub App can authenticate as itself, as an app installation, or on behalf of a user. 
Popular
- Registering a GitHub App- You can register a GitHub App under your personal account or under any organization you own. 
- Authorizing GitHub Apps- You can authorize a GitHub App to retrieve information about your GitHub account and to make changes on your behalf. 
- Building a GitHub App that responds to webhook events- Learn how to build a GitHub App that makes an API request in response to a webhook event. 
- Building a "Login with GitHub" button with a GitHub App- Follow this tutorial to write Ruby code to generate a user access token via the web application flow for your GitHub App. 
- Building a GitHub App that responds to webhook events- Learn how to build a GitHub App that makes an API request in response to a webhook event. 
- Building a "Login with GitHub" button with a GitHub App- Follow this tutorial to write Ruby code to generate a user access token via the web application flow for your GitHub App. 
- Building a CLI with a GitHub App- Follow this tutorial to write a CLI in Ruby that generates a user access token for a GitHub App via the device flow. 
- Making authenticated API requests with a GitHub App in a GitHub Actions workflow- You can use an installation access token from a GitHub App to make authenticated API requests in a GitHub Actions workflow. You can also pass the token to a custom action to enable the action to make authenticated API requests.