Skip to main content

About building integrations

You can build integrations to extend GitHub's functionality.

Integrations are tools that extend GitHub's functionality. Integrations can do things on GitHub like open issues, comment on pull requests, and manage projects. They can also do things outside of GitHub based on events that happen on GitHub. For example, an integration can post on Slack when an issue is opened on GitHub.

Many integrations are GitHub Apps, GitHub Actions workflows, or custom actions for GitHub Actions workflows.

  • GitHub Apps are integrations that run on the app owner's server or on a user device. For more information, see "About creating GitHub Apps."
  • GitHub Actions workflows are workflows that run when specific events occur on GitHub. For more information, see "Understanding GitHub Actions."
  • Custom actions are code that can be executed by a GitHub Actions workflow. For more information, see "About custom actions."

Your integration can use GitHub's API to fetch data and make changes to data on GitHub. GitHub has a REST API and a GraphQL API. For more information, see:

Your integration can use webhooks to learn when specific events happen on GitHub. For more information, see "About webhooks."

If your integration is a GitHub App or custom action, you can publish your integration on GitHub Marketplace. For more information, see "About GitHub Marketplace for apps" and "Publishing actions in GitHub Marketplace."