GitHub Apps are first-class actors within GitHub. A GitHub App acts on its own behalf, taking actions via the API directly using its own identity, which means you don’t need to maintain a bot or service account as a separate user.
GitHub Apps are applications that need to be hosted somewhere. To install a GitHub App, you must be an organization owner or have admin permissions in a repository. By default, only organization owners can manage the settings of GitHub Apps in an organization.
To improve your workflow, you can create a GitHub App that contains multiple scripts or an entire application, and then connect that app to many other tools.
GitHub Apps can be installed directly on organizations and user accounts and granted access to specific repositories. They come with built-in webhooks and narrow, specific permissions. When you set up your GitHub App, you can select the repositories you want it to access.
For a walkthrough of the process of building a GitHub App, see: