{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-agen-for-work/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["Notification","LightboxImage"]},"type":"markdown"},"seo":{"title":"GitHub integration","siteUrl":"https://developers.frontegg.com/","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"github-integration","__idx":0},"children":["GitHub integration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["GitHub is a development platform for hosting code, managing repositories, and collaborating on software projects. Integrating GitHub with Frontegg allows your application to read user profiles, manage repositories, issues, pull requests, and workflows on behalf of your users through OAuth 2.0 authentication."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Prerequisites","type":"attention"},"children":[{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A GitHub account with access to ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://github.com/settings/developers"},"children":["Developer settings → OAuth Apps"]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"connect-github","__idx":1},"children":["Connect GitHub"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-1-open-the-oauth-apps-page","__idx":2},"children":["Step 1: Open the OAuth Apps page"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sign in to GitHub and navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings → Developer settings → OAuth Apps"]}," at ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://github.com/settings/developers"]},". Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New OAuth app"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/github-1.ac1f1f5df0334984c10c71ba6f43cae078a668e813852ce2f4dec9bdb73af8d3.1ce25488.png","alt":"GitHub Developer settings OAuth Apps page with New OAuth app highlighted"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-2-register-the-application","__idx":3},"children":["Step 2: Register the application"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["On the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Register a new OAuth app"]}," form, fill in the following fields:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Application name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A descriptive name, e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Frontegg Integration"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Homepage URL"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The URL of your application (e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://your-app.com"]},")"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Authorization callback URL"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://YOUR_MCP_GATEWAY_URL/integration-callback"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Leave ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Enable Device Flow"]}," unchecked. Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Register application"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/github-2.ecacfe13b627ac521b1a233819bff3d2982dd279d3749db0567cac2aabe71ca3.1ce25488.png","alt":"GitHub Register a new OAuth app form with fields filled and Register application highlighted"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-3-copy-the-client-id-and-generate-a-client-secret","__idx":4},"children":["Step 3: Copy the Client ID and generate a Client Secret"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After registration, GitHub takes you to the app's settings page. The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," is shown immediately — copy it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client secrets"]},", click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Generate a new client secret"]},". GitHub may prompt you to confirm your account password. Once generated, copy the secret value — GitHub will only display it once."]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Keep your Client Secret safe","type":"attention"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Client Secret is shown only once. If you lose it, return to this page and click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Generate a new client secret"]}," to create a replacement."]}]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/github-3.cdefe961ec0ff2ee5da06897262dbd52534bbd501af17a4659f16a2c918f291d.1ce25488.png","alt":"GitHub OAuth app settings page with Client ID and Client Secret highlighted"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"configure-the-frontegg-portal","__idx":5},"children":["Configure the Frontegg portal"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once you have the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]}," from the steps above, enter them in the integration configuration page of the Frontegg portal:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Frontegg portal"]}," and navigate to [ENVIRONMENT] → Integrations → GitHub."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]}," in the corresponding fields."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the required ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["scopes"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]},"."]}]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Scopes are configured in Frontegg","type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["GitHub OAuth apps do not define scopes at the app level — scopes are requested when a user authorizes the integration. Select the scopes your application needs in the Frontegg portal."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"common-github-oauth-scopes","__idx":6},"children":["Common GitHub OAuth scopes"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Scope"},"children":["Scope"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["user"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read/write access to profile info (includes ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["read:user"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["user:email"]},")"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["read:user"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read access to the authenticated user's profile"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["user:email"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read access to the user's email addresses"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["repo"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Full control of private and public repositories"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["public_repo"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Access to public repositories only"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["read:org"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read access to organization membership and teams"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["workflow"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Update GitHub Actions workflow files"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["read:packages"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Download packages from GitHub Packages"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["gist"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Create, read, and update gists"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["notifications"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Access user notifications"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For the full list of available scopes, see the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps"},"children":["GitHub OAuth scopes reference"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"additional-resources","__idx":7},"children":["Additional resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app"},"children":["GitHub OAuth Apps documentation"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps"},"children":["GitHub OAuth scopes reference"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.github.com/en/rest"},"children":["GitHub REST API documentation"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://github.com/settings/developers"},"children":["GitHub Developer settings"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/agen-for-work/connectors/redirect-url"},"children":["How to get your Redirect URL"]}]}]}]},"headings":[{"value":"GitHub integration","id":"github-integration","depth":2},{"value":"Connect GitHub","id":"connect-github","depth":3},{"value":"Step 1: Open the OAuth Apps page","id":"step-1-open-the-oauth-apps-page","depth":4},{"value":"Step 2: Register the application","id":"step-2-register-the-application","depth":4},{"value":"Step 3: Copy the Client ID and generate a Client Secret","id":"step-3-copy-the-client-id-and-generate-a-client-secret","depth":4},{"value":"Configure the Frontegg portal","id":"configure-the-frontegg-portal","depth":3},{"value":"Common GitHub OAuth scopes","id":"common-github-oauth-scopes","depth":4},{"value":"Additional resources","id":"additional-resources","depth":3}],"frontmatter":{"category":"Development","displayName":"GitHub","seo":{"title":"GitHub integration"}},"lastModified":"2026-05-19T15:06:34.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/agen-for-work/connectors/marketplace/github","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}