Creating GitHub Apps
Learn about building GitHub Apps.
About apps
You can build integrations with the GitHub APIs to add flexibility and reduce friction in your own workflow. You can also share integrations with others on GitHub Marketplace.
Differences between GitHub Apps and OAuth Apps
Understanding the differences between GitHub Apps and OAuth Apps will help you decide which app you want to create. An OAuth App acts as a GitHub user, whereas a GitHub App uses its own identity when installed on an organization or on repositories within an organization.
Rate limits for GitHub Apps
Rate limits restrict the rate of traffic to GitHub.com, to help ensure consistent access for all users.
Creating a GitHub App
You can create a GitHub App under your personal account or under any organization you own.
Using webhooks with GitHub Apps
Your GitHub App can subscribe to webhook events to receive notifications whenever certain activity occurs.
Setting permissions for GitHub Apps
When you create a GitHub App, you set the permissions that define the resources the app can access via the REST API.
Making a GitHub App public or private
When setting up a GitHub App, you can make its installation public so any GitHub user or organization can install the app, or private so you can only install it on the account that created it.
Creating a GitHub App from a manifest
A GitHub App Manifest is a preconfigured GitHub App you can share with anyone who wants to use your app in their personal repositories. The manifest flow allows someone to quickly create, install, and start extending a GitHub App without needing to register the app or connect the registration to the hosted app code.
Creating a GitHub App using URL parameters
You can preselect the settings of a new GitHub App using URL query parameters to quickly set up the new GitHub App's configuration.
Creating a custom badge for your GitHub App
You can replace the default badge on your GitHub App by uploading your own logo image and customizing the background.
About the user authorization callback URL
You can specify a URL that users will be redirected to after they authorize an app.