You can create a GitHub App under your enterprise account. The app can only be installed on your enterprise or organizations within your enterprise, and can only be authorized by members of your enterprise. The app can't be installed on user accounts.
Step 1: Registering a GitHub App
To create a GitHub App, you must first register the app. See Registering a GitHub App.
Apps can also be transferred to an enterprise from a member or organization. To transfer an app, see Transferring ownership of a GitHub App.
Step 1a: Adding an enterprise app manager
Enterprise owners can add enterprise members to an app as an app manager. App managers can manage the app's settings and credentials, but cannot install the app. For more information, see About GitHub App managers.
Step 2: Building a GitHub App
After registering a GitHub App, you will want to write code to make your GitHub App do something. For examples of how to write code, see:
- Quickstart for building GitHub Apps
- Building a GitHub App that responds to webhook events
- Building a "Login with GitHub" button with a GitHub App
- Building a CLI with a GitHub App
- Making authenticated API requests with a GitHub App in a GitHub Actions workflow
You should aim to follow best practices. See Best practices for creating a GitHub App.
Step 3: Authorizing or installing your GitHub App
Once your GitHub App is registered, you'll need to make it available for use, either through authorization or installation, depending on the app’s purpose.
Enterprise owners and app managers can modify the permissions for apps owned by their enterprise at any time. Permissions changes will be automatically accepted by organizations in the enterprise if the change was made by the enterprise owner. Otherwise, the changes will be accepted only where the app manager is also an organization owner, and an organization owner must accept the update request for all other organizations.
Step 3a: Authorizing your GitHub App
Some GitHub Apps, like Copilot extensions, require authorization but do not need to be installed on an organization. Users in your enterprise can authorize the app to access resources within organizations. However, the app will only have access to GitHub resources where it is installed. See Authorizing GitHub Apps.
Step 3b: Sharing your GitHub App via an installation link
For apps that require installation to function, you can provide organization owners with an installation link. Once the app is installed, it will have access to the organization's resources. See Sharing your GitHub App.
Step 4: Installing your GitHub App (if required)
If your GitHub App requires installation (not just authorization), organization owners can use the install link to install the app on their organization. See Installing a GitHub App from a third party.
If your app uses enterprise permissions, you can install it on your enterprise. To find the installation link, go to the app's settings page in your enterprise account. See Installing a GitHub App on your enterprise.