Creating a GitHub App

You can create and register a GitHub App under your personal account or under any organization you have administrative access to.

To learn how to use GitHub App Manifests, which allow people to create preconfigured GitHub Apps, see "Creating GitHub Apps from a manifest."

Note: A user or organization can own up to 100 GitHub Apps.

  1. In the upper-right corner of any page, click your profile photo, then click Settings. Settings icon in the user bar

  2. In the left sidebar, click Developer settings. Developer settings section

  3. In the left sidebar, click GitHub Apps. GitHub Apps section

  4. Click New GitHub App. Button to create a new GitHub App

  5. In "GitHub App name", type the name of your app. Field for the name of your GitHub App

    Give your app a clear and succinct name. Your app cannot have the same name as an existing GitHub user, unless it is your own user or organization name. A slugged version of your app's name will be shown in the user interface when your integration takes an action.

  6. Optionally, in "Description", type a description of your app that users will see. Field for a description of your GitHub App

  7. In "Homepage URL", type the full URL to your app's website. Field for the homepage URL of your GitHub App

  8. In "Callback URL", type the full URL to redirect to after a user authorizes the installation. This URL is used if your app needs to identify and authorize user-to-server requests.

    You can use Add callback URL to provide additional callback URLs, up to a maximum of 10.

    Button for 'Add callback URL' and field for callback URL

  9. By default, to improve your app's security, your app will use expiring user authorization tokens. To opt-out of using expiring user tokens, you must deselect "Expire user authorization tokens". To learn more about setting up a refresh token flow and the benefits of expiring user tokens, see "Refreshing user-to-server access tokens." Option to opt-in to expiring user tokens during GitHub Apps setup

  10. If your app authorizes users using the OAuth flow, you can select Request user authorization (OAuth) during installation to allow people to authorize the app when they install it, saving a step. If you select this option, the "Setup URL" becomes unavailable and users will be redirected to your "User authorization callback URL" after installing the app. See "Authorizing users during installation" for more information. Request user authorization during installation

  11. If additional setup is required after installation, add a "Setup URL" to redirect users to after they install your app. Field for the setup URL of your GitHub App

    Note: When you select Request user authorization (OAuth) during installation in the previous step, this field becomes unavailable and people will be redirected to the "User authorization callback URL" after installing the app.

  12. In "Webhook URL", type the URL that events will POST to. Each app receives its own webhook which will notify you every time the app is installed or modified, as well as any other events the app subscribes to. Field for the webhook URL of your GitHub App

  13. Optionally, in "Webhook Secret", type an optional secret token used to secure your webhooks. Field to add a secret token for your webhook

    Note: We highly recommend that you set a secret token. For more information, see "Securing your webhooks."

  14. In "Permissions", choose the permissions your app will request. For each type of permission, use the drop-down menu and click Read-only, Read & write, or No access. Various permissions for your GitHub App

  15. In "Subscribe to events", choose the events you want your app to receive.

  16. To choose where the app can be installed, select either Only on this account or Any account. For more information on installation options, see "Making a GitHub App public or private." Installation options for your GitHub App

  17. Click Create GitHub App. Button to create your GitHub App

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Or, learn how to contribute.