> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub GitHub App connector profile – StackOne setup guide

> Set up the GitHub App connector profile for GitHub in StackOne. One-time admin setup required before your users can link GitHub accounts via Hub.

<Warning>Owner privileges in your GitHub organization or admin access to your GitHub account are required to create a GitHub App.</Warning>

<Panel>
  <div className="not-prose guides-scope-selector" data-guides-scope-selector data-guide-actions-json="[{&#x22;id&#x22;:&#x22;github_list_workflow_runs&#x22;,&#x22;label&#x22;:&#x22;List Workflow Runs&#x22;,&#x22;scopes&#x22;:[&#x22;ActionsRead&#x22;,&#x22;workflow&#x22;]},{&#x22;id&#x22;:&#x22;github_get_workflow_run&#x22;,&#x22;label&#x22;:&#x22;Get Workflow Run&#x22;,&#x22;scopes&#x22;:[&#x22;ActionsRead&#x22;,&#x22;workflow&#x22;]},{&#x22;id&#x22;:&#x22;github_cancel_workflow_run&#x22;,&#x22;label&#x22;:&#x22;Cancel Workflow Run&#x22;,&#x22;scopes&#x22;:[&#x22;ActionsWrite&#x22;,&#x22;workflow&#x22;]},{&#x22;id&#x22;:&#x22;github_re_run_workflow&#x22;,&#x22;label&#x22;:&#x22;Re-run Workflow&#x22;,&#x22;scopes&#x22;:[&#x22;ActionsWrite&#x22;,&#x22;workflow&#x22;]},{&#x22;id&#x22;:&#x22;github_list_workflow_jobs&#x22;,&#x22;label&#x22;:&#x22;List Workflow Jobs&#x22;,&#x22;scopes&#x22;:[&#x22;ActionsRead&#x22;,&#x22;workflow&#x22;]},{&#x22;id&#x22;:&#x22;github_list_artifacts&#x22;,&#x22;label&#x22;:&#x22;List Artifacts&#x22;,&#x22;scopes&#x22;:[&#x22;ActionsRead&#x22;,&#x22;workflow&#x22;]},{&#x22;id&#x22;:&#x22;github_download_artifact&#x22;,&#x22;label&#x22;:&#x22;Download Artifact&#x22;,&#x22;scopes&#x22;:[&#x22;ActionsRead&#x22;,&#x22;workflow&#x22;]},{&#x22;id&#x22;:&#x22;github_create_workflow_dispatch&#x22;,&#x22;label&#x22;:&#x22;Trigger Workflow&#x22;,&#x22;scopes&#x22;:[&#x22;ActionsWrite&#x22;,&#x22;WorkflowsWrite&#x22;,&#x22;workflow&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_list_commits&#x22;,&#x22;label&#x22;:&#x22;List Commits&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;repo&#x22;,&#x22;public_repo&#x22;]},{&#x22;id&#x22;:&#x22;github_get_commit&#x22;,&#x22;label&#x22;:&#x22;Get Commit&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;repo&#x22;,&#x22;public_repo&#x22;]},{&#x22;id&#x22;:&#x22;github_get_repository_content&#x22;,&#x22;label&#x22;:&#x22;Get Repository Content&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;repo&#x22;,&#x22;public_repo&#x22;]},{&#x22;id&#x22;:&#x22;github_create_or_update_file&#x22;,&#x22;label&#x22;:&#x22;Create Or Update File&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_delete_file&#x22;,&#x22;label&#x22;:&#x22;Delete File&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_create_deployment&#x22;,&#x22;label&#x22;:&#x22;Create Deployment&#x22;,&#x22;scopes&#x22;:[&#x22;DeploymentsWrite&#x22;,&#x22;repo_deployment&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_list_deployments&#x22;,&#x22;label&#x22;:&#x22;List Deployments&#x22;,&#x22;scopes&#x22;:[&#x22;DeploymentsRead&#x22;,&#x22;repo_deployment&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_create_deployment_status&#x22;,&#x22;label&#x22;:&#x22;Create Deployment Status&#x22;,&#x22;scopes&#x22;:[&#x22;DeploymentsWrite&#x22;,&#x22;repo_deployment&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_delete_deployment&#x22;,&#x22;label&#x22;:&#x22;Delete Deployment&#x22;,&#x22;scopes&#x22;:[&#x22;DeploymentsWrite&#x22;,&#x22;repo_deployment&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_unified_get_me&#x22;,&#x22;label&#x22;:&#x22;Get Unified Credentials&#x22;,&#x22;scopes&#x22;:[&#x22;ProfileRead&#x22;,&#x22;EmailAddressesRead&#x22;]},{&#x22;id&#x22;:&#x22;github_unified_list_groups&#x22;,&#x22;label&#x22;:&#x22;List Unified Groups&#x22;,&#x22;scopes&#x22;:[&#x22;MembersRead&#x22;,&#x22;read:org&#x22;]},{&#x22;id&#x22;:&#x22;github_unified_get_group&#x22;,&#x22;label&#x22;:&#x22;Get Unified Group&#x22;,&#x22;scopes&#x22;:[&#x22;MembersRead&#x22;,&#x22;read:org&#x22;]},{&#x22;id&#x22;:&#x22;github_unified_list_organizations&#x22;,&#x22;label&#x22;:&#x22;List Unified Organizations&#x22;,&#x22;scopes&#x22;:[&#x22;MembersRead&#x22;,&#x22;read:org&#x22;]},{&#x22;id&#x22;:&#x22;github_unified_get_organization&#x22;,&#x22;label&#x22;:&#x22;Get Unified Organization&#x22;,&#x22;scopes&#x22;:[&#x22;MembersRead&#x22;,&#x22;read:org&#x22;]},{&#x22;id&#x22;:&#x22;github_unified_list_roles&#x22;,&#x22;label&#x22;:&#x22;List Unified Roles&#x22;,&#x22;scopes&#x22;:[&#x22;MetadataRead&#x22;]},{&#x22;id&#x22;:&#x22;github_unified_get_role&#x22;,&#x22;label&#x22;:&#x22;Get Unified Role&#x22;,&#x22;scopes&#x22;:[&#x22;MetadataRead&#x22;]},{&#x22;id&#x22;:&#x22;github_unified_list_users&#x22;,&#x22;label&#x22;:&#x22;List Unified Users&#x22;,&#x22;scopes&#x22;:[&#x22;MembersRead&#x22;,&#x22;read:org&#x22;]},{&#x22;id&#x22;:&#x22;github_unified_get_user&#x22;,&#x22;label&#x22;:&#x22;Get Unified User&#x22;,&#x22;scopes&#x22;:[&#x22;read:user&#x22;]},{&#x22;id&#x22;:&#x22;github_list_issues&#x22;,&#x22;label&#x22;:&#x22;List Issues&#x22;,&#x22;scopes&#x22;:[&#x22;IssuesRead&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_create_issue&#x22;,&#x22;label&#x22;:&#x22;Create Issue&#x22;,&#x22;scopes&#x22;:[&#x22;IssuesWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_get_issue&#x22;,&#x22;label&#x22;:&#x22;Get Issue&#x22;,&#x22;scopes&#x22;:[&#x22;IssuesRead&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_update_issue&#x22;,&#x22;label&#x22;:&#x22;Update Issue&#x22;,&#x22;scopes&#x22;:[&#x22;IssuesWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_create_issue_comment&#x22;,&#x22;label&#x22;:&#x22;Create Issue Comment&#x22;,&#x22;scopes&#x22;:[&#x22;IssuesWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_list_issue_comments&#x22;,&#x22;label&#x22;:&#x22;List Issue Comments&#x22;,&#x22;scopes&#x22;:[&#x22;IssuesRead&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_list_authenticated_user_organizations&#x22;,&#x22;label&#x22;:&#x22;List Authenticated User Organizations&#x22;,&#x22;scopes&#x22;:[&#x22;MembersRead&#x22;,&#x22;read:org&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_list_user_organizations&#x22;,&#x22;label&#x22;:&#x22;List User Organizations&#x22;,&#x22;scopes&#x22;:[&#x22;MembersRead&#x22;,&#x22;read:org&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_get_organization&#x22;,&#x22;label&#x22;:&#x22;Get Organization&#x22;,&#x22;scopes&#x22;:[&#x22;MembersRead&#x22;,&#x22;read:org&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_update_organization&#x22;,&#x22;label&#x22;:&#x22;Update Organization&#x22;,&#x22;scopes&#x22;:[&#x22;AdministrationWrite&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_list_organization_members&#x22;,&#x22;label&#x22;:&#x22;List Organization Members&#x22;,&#x22;scopes&#x22;:[&#x22;MembersRead&#x22;,&#x22;read:org&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_check_organization_membership&#x22;,&#x22;label&#x22;:&#x22;Check Organization Membership&#x22;,&#x22;scopes&#x22;:[&#x22;MembersRead&#x22;,&#x22;read:org&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_get_organization_membership&#x22;,&#x22;label&#x22;:&#x22;Get Organization Membership&#x22;,&#x22;scopes&#x22;:[&#x22;MembersRead&#x22;,&#x22;read:org&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_list_authenticated_user_organization_memberships&#x22;,&#x22;label&#x22;:&#x22;List Authenticated User Organization Memberships&#x22;,&#x22;scopes&#x22;:[&#x22;read:org&#x22;]},{&#x22;id&#x22;:&#x22;github_invite_organization_member&#x22;,&#x22;label&#x22;:&#x22;Invite Organization Member&#x22;,&#x22;scopes&#x22;:[&#x22;MembersWrite&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_remove_organization_member&#x22;,&#x22;label&#x22;:&#x22;Remove Organization Member&#x22;,&#x22;scopes&#x22;:[&#x22;MembersWrite&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_list_pull_requests&#x22;,&#x22;label&#x22;:&#x22;List Pull Requests&#x22;,&#x22;scopes&#x22;:[&#x22;PullRequestsRead&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_create_pull_request&#x22;,&#x22;label&#x22;:&#x22;Create Pull Request&#x22;,&#x22;scopes&#x22;:[&#x22;PullRequestsWrite&#x22;,&#x22;ContentsRead&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_get_pull_request&#x22;,&#x22;label&#x22;:&#x22;Get Pull Request&#x22;,&#x22;scopes&#x22;:[&#x22;PullRequestsRead&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_update_pull_request&#x22;,&#x22;label&#x22;:&#x22;Update Pull Request&#x22;,&#x22;scopes&#x22;:[&#x22;PullRequestsWrite&#x22;,&#x22;ContentsRead&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_merge_pull_request&#x22;,&#x22;label&#x22;:&#x22;Merge Pull Request&#x22;,&#x22;scopes&#x22;:[&#x22;PullRequestsWrite&#x22;,&#x22;ContentsRead&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_create_pull_request_review&#x22;,&#x22;label&#x22;:&#x22;Create Pull Request Review&#x22;,&#x22;scopes&#x22;:[&#x22;PullRequestsWrite&#x22;,&#x22;ContentsRead&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_create_pull_request_review_comment&#x22;,&#x22;label&#x22;:&#x22;Create Pull Request Review Comment&#x22;,&#x22;scopes&#x22;:[&#x22;PullRequestsWrite&#x22;,&#x22;ContentsRead&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_list_matching_refs&#x22;,&#x22;label&#x22;:&#x22;List Matching Git References&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;repo&#x22;,&#x22;public_repo&#x22;]},{&#x22;id&#x22;:&#x22;github_get_ref&#x22;,&#x22;label&#x22;:&#x22;Get Git Reference&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;repo&#x22;,&#x22;public_repo&#x22;]},{&#x22;id&#x22;:&#x22;github_create_ref&#x22;,&#x22;label&#x22;:&#x22;Create Git Reference&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_update_ref&#x22;,&#x22;label&#x22;:&#x22;Update Git Reference&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_delete_ref&#x22;,&#x22;label&#x22;:&#x22;Delete Git Reference&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_create_release&#x22;,&#x22;label&#x22;:&#x22;Create Release&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_list_releases&#x22;,&#x22;label&#x22;:&#x22;List Releases&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;repo&#x22;,&#x22;public_repo&#x22;]},{&#x22;id&#x22;:&#x22;github_get_latest_release&#x22;,&#x22;label&#x22;:&#x22;Get Latest Release&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;repo&#x22;,&#x22;public_repo&#x22;]},{&#x22;id&#x22;:&#x22;github_update_release&#x22;,&#x22;label&#x22;:&#x22;Update Release&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_upload_release_asset&#x22;,&#x22;label&#x22;:&#x22;Upload Release Asset&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_delete_release&#x22;,&#x22;label&#x22;:&#x22;Delete Release&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_list_authenticated_user_repositories&#x22;,&#x22;label&#x22;:&#x22;List Authenticated User Repositories&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;MetadataRead&#x22;,&#x22;repo&#x22;,&#x22;public_repo&#x22;]},{&#x22;id&#x22;:&#x22;github_list_user_repositories&#x22;,&#x22;label&#x22;:&#x22;List User Repositories&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;MetadataRead&#x22;,&#x22;public_repo&#x22;]},{&#x22;id&#x22;:&#x22;github_list_organization_repositories&#x22;,&#x22;label&#x22;:&#x22;List Organization Repositories&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;MetadataRead&#x22;,&#x22;repo&#x22;,&#x22;public_repo&#x22;]},{&#x22;id&#x22;:&#x22;github_get_repository&#x22;,&#x22;label&#x22;:&#x22;Get Repository&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;MetadataRead&#x22;,&#x22;repo&#x22;,&#x22;public_repo&#x22;]},{&#x22;id&#x22;:&#x22;github_create_user_repository&#x22;,&#x22;label&#x22;:&#x22;Create User Repository&#x22;,&#x22;scopes&#x22;:[&#x22;AdministrationWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_create_organization_repository&#x22;,&#x22;label&#x22;:&#x22;Create Organization Repository&#x22;,&#x22;scopes&#x22;:[&#x22;AdministrationWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_update_repository&#x22;,&#x22;label&#x22;:&#x22;Update Repository&#x22;,&#x22;scopes&#x22;:[&#x22;AdministrationWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_delete_repository&#x22;,&#x22;label&#x22;:&#x22;Delete Repository&#x22;,&#x22;scopes&#x22;:[&#x22;AdministrationWrite&#x22;,&#x22;delete_repo&#x22;]},{&#x22;id&#x22;:&#x22;github_fork_repository&#x22;,&#x22;label&#x22;:&#x22;Fork Repository&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_list_forks&#x22;,&#x22;label&#x22;:&#x22;List Forks&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;MetadataRead&#x22;,&#x22;repo&#x22;,&#x22;public_repo&#x22;]},{&#x22;id&#x22;:&#x22;github_list_branches&#x22;,&#x22;label&#x22;:&#x22;List Branches&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;MetadataRead&#x22;,&#x22;repo&#x22;,&#x22;public_repo&#x22;]},{&#x22;id&#x22;:&#x22;github_get_branch&#x22;,&#x22;label&#x22;:&#x22;Get Branch&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;MetadataRead&#x22;,&#x22;repo&#x22;,&#x22;public_repo&#x22;]},{&#x22;id&#x22;:&#x22;github_star_repository&#x22;,&#x22;label&#x22;:&#x22;Star Repository&#x22;,&#x22;scopes&#x22;:[&#x22;StarringWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_unstar_repository&#x22;,&#x22;label&#x22;:&#x22;Unstar Repository&#x22;,&#x22;scopes&#x22;:[&#x22;StarringWrite&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_search_code&#x22;,&#x22;label&#x22;:&#x22;Search Code&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;MetadataRead&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_search_repositories&#x22;,&#x22;label&#x22;:&#x22;Search Repositories&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;MetadataRead&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_search_issues&#x22;,&#x22;label&#x22;:&#x22;Search Issues&#x22;,&#x22;scopes&#x22;:[&#x22;ContentsRead&#x22;,&#x22;MetadataRead&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_list_code_scanning_alerts&#x22;,&#x22;label&#x22;:&#x22;List Code Scanning Alerts&#x22;,&#x22;scopes&#x22;:[&#x22;SecurityEventsRead&#x22;,&#x22;security_events&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_list_secret_scanning_alerts&#x22;,&#x22;label&#x22;:&#x22;List Secret Scanning Alerts&#x22;,&#x22;scopes&#x22;:[&#x22;SecurityEventsRead&#x22;,&#x22;security_events&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_list_dependabot_alerts&#x22;,&#x22;label&#x22;:&#x22;List Dependabot Alerts&#x22;,&#x22;scopes&#x22;:[&#x22;SecurityEventsRead&#x22;,&#x22;security_events&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_update_code_scanning_alert&#x22;,&#x22;label&#x22;:&#x22;Update Code Scanning Alert&#x22;,&#x22;scopes&#x22;:[&#x22;CodeScanningAlertsWrite&#x22;,&#x22;security_events&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_update_secret_scanning_alert&#x22;,&#x22;label&#x22;:&#x22;Update Secret Scanning Alert&#x22;,&#x22;scopes&#x22;:[&#x22;SecretScanningAlertsWrite&#x22;,&#x22;security_events&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_update_dependabot_alert&#x22;,&#x22;label&#x22;:&#x22;Update Dependabot Alert&#x22;,&#x22;scopes&#x22;:[&#x22;DependabotAlertsWrite&#x22;,&#x22;security_events&#x22;,&#x22;repo&#x22;]},{&#x22;id&#x22;:&#x22;github_create_team&#x22;,&#x22;label&#x22;:&#x22;Create Team&#x22;,&#x22;scopes&#x22;:[&#x22;MembersWrite&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_list_teams&#x22;,&#x22;label&#x22;:&#x22;List Teams&#x22;,&#x22;scopes&#x22;:[&#x22;MembersRead&#x22;,&#x22;read:org&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_get_team&#x22;,&#x22;label&#x22;:&#x22;Get Team&#x22;,&#x22;scopes&#x22;:[&#x22;MembersRead&#x22;,&#x22;read:org&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_update_team&#x22;,&#x22;label&#x22;:&#x22;Update Team&#x22;,&#x22;scopes&#x22;:[&#x22;MembersWrite&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_delete_team&#x22;,&#x22;label&#x22;:&#x22;Delete Team&#x22;,&#x22;scopes&#x22;:[&#x22;MembersWrite&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_add_team_member&#x22;,&#x22;label&#x22;:&#x22;Add Team Member&#x22;,&#x22;scopes&#x22;:[&#x22;MembersWrite&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_remove_team_member&#x22;,&#x22;label&#x22;:&#x22;Remove Team Member&#x22;,&#x22;scopes&#x22;:[&#x22;MembersWrite&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_add_team_repository&#x22;,&#x22;label&#x22;:&#x22;Add Team Repository&#x22;,&#x22;scopes&#x22;:[&#x22;MembersWrite&#x22;,&#x22;admin:org&#x22;]},{&#x22;id&#x22;:&#x22;github_list_users&#x22;,&#x22;label&#x22;:&#x22;List Users&#x22;,&#x22;scopes&#x22;:[&#x22;MetadataRead&#x22;,&#x22;read:user&#x22;]},{&#x22;id&#x22;:&#x22;github_get_user&#x22;,&#x22;label&#x22;:&#x22;Get User&#x22;,&#x22;scopes&#x22;:[&#x22;MetadataRead&#x22;,&#x22;read:user&#x22;]},{&#x22;id&#x22;:&#x22;github_get_authenticated_user&#x22;,&#x22;label&#x22;:&#x22;Get Authenticated User&#x22;,&#x22;scopes&#x22;:[&#x22;ProfileRead&#x22;,&#x22;EmailAddressesRead&#x22;,&#x22;read:user&#x22;,&#x22;user&#x22;]},{&#x22;id&#x22;:&#x22;github_update_user&#x22;,&#x22;label&#x22;:&#x22;Update User&#x22;,&#x22;scopes&#x22;:[&#x22;ProfileWrite&#x22;,&#x22;user&#x22;]},{&#x22;id&#x22;:&#x22;github_list_collaborators&#x22;,&#x22;label&#x22;:&#x22;List Collaborators&#x22;,&#x22;scopes&#x22;:[&#x22;MetadataRead&#x22;,&#x22;read:user&#x22;,&#x22;user&#x22;]},{&#x22;id&#x22;:&#x22;github_add_collaborator&#x22;,&#x22;label&#x22;:&#x22;Add Collaborator&#x22;,&#x22;scopes&#x22;:[&#x22;ProfileWrite&#x22;,&#x22;user&#x22;]},{&#x22;id&#x22;:&#x22;github_remove_collaborator&#x22;,&#x22;label&#x22;:&#x22;Remove Collaborator&#x22;,&#x22;scopes&#x22;:[&#x22;ProfileWrite&#x22;,&#x22;user&#x22;]}]" style={{ borderRadius: '8px', padding: '16px', marginBottom: '24px' }}>
    <div className="guides-scope-selector__title" style={{ fontSize: '16px', fontWeight: '600', marginBottom: '12px' }}>Select Actions to adjust the guide</div>
    <div className="guides-scope-selector__muted" style={{ fontSize: '13px', marginBottom: '12px' }}>Some actions may require additional configuration in the provider to be accessible. Choose the actions you need and the guide will be updated.</div>

    <div style={{ display: 'flex', gap: '8px', marginBottom: '12px', flexWrap: 'wrap' }}>
      <input type="text" placeholder="Search actions..." className="guides-scope-selector__input" data-guide-action-search style={{ padding: '8px 12px', borderRadius: '6px', fontSize: '13px', flex: 1, minWidth: '160px' }} />

      <button type="button" className="guides-scope-selector__quick-btn" data-guide-select-all style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Select all</button>
      <button type="button" className="guides-scope-selector__quick-btn" data-guide-clear style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Clear</button>
    </div>

    <div className="guides-scope-selector__list" style={{ maxHeight: '240px', overflowY: 'auto', borderRadius: '6px', marginBottom: '12px' }}>
      <div className="guides-scope-selector__list-header" style={{ display: 'flex', alignItems: 'center', gap: '10px', padding: '8px 12px', fontSize: '12px', fontWeight: '600', position: 'sticky', top: 0, zIndex: 1 }}>
        <div style={{ width: '16px', flexShrink: 0 }} />

        <div style={{ flex: 1, textAlign: 'left' }}>Action</div>
        <div style={{ minWidth: '120px', marginLeft: 'auto', textAlign: 'right' }}>Scope(s)</div>
      </div>

      <div className="guides-scope-selector__muted" data-guide-loading style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>Loading actions...</div>
      <div className="guides-scope-selector__muted" data-guide-no-results hidden style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>No actions match your search.</div>
    </div>

    <div className="guides-scope-selector__url-section" style={{ marginTop: '12px', paddingTop: '12px' }}>
      <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Dynamic Guide URL</div>

      <div style={{ display: 'flex', alignItems: 'center', gap: '8px', flexWrap: 'wrap' }}>
        <input type="text" readOnly className="guides-scope-selector__input" data-guide-url style={{ flex: 1, minWidth: '200px', padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace' }} />

        <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-url style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap', marginLeft: 'auto' }}>Copy URL</button>
      </div>

      <div style={{ marginTop: '12px' }}>
        <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Scopes Selected</div>

        <div style={{ display: 'flex', alignItems: 'stretch', gap: '8px', flexWrap: 'wrap' }}>
          <pre className="guides-scope-selector__input" role="textbox" aria-readonly="true" tabIndex={0} data-guide-scopes-output style={{ flex: 1, minWidth: '200px', minHeight: '88px', maxHeight: '120px', overflowY: 'auto', margin: 0, padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace', whiteSpace: 'pre-wrap' }} />

          <div className="guides-scope-selector__muted" style={{ display: 'flex', flexDirection: 'column', gap: '8px', fontSize: '12px', fontWeight: '500', flexShrink: 0, alignItems: 'flex-start' }}>
            <div style={{ whiteSpace: 'nowrap' }}>Separator</div>

            <select className="guides-scope-selector__input" data-guide-scope-delimiter style={{ width: '100%', padding: '6px 10px', borderRadius: '6px', fontSize: '12px' }}>
              <option value="space">Space</option>
              <option value="comma">Comma</option>
              <option value="semicolon">Semicolon</option>
              <option value="pipe">Pipe</option>
              <option value="newline">Newline</option>
            </select>

            <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-scopes style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap' }}>Copy scopes</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</Panel>

<section data-guide-section data-guide-scopes="">
  <h2>Creating a GitHub App</h2>

  <p>Create a GitHub App to enable OAuth 2.0 authentication with enhanced security and features.</p>

  <Steps>
    <Step title="Access Developer Settings">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Sign in to your <a href="https://github.com/login" target="_blank" rel="noopener noreferrer">GitHub account</a> and navigate to developer settings.</p>

        <ul>
          <li>Click your profile photo in the upper-right corner</li>
          <li>Select <strong>Settings</strong> from the dropdown</li>
          <li>In the left sidebar, scroll down and click <strong>Developer settings</strong></li>
        </ul>
      </div>
    </Step>

    <Step title="Create New GitHub App">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Register a new GitHub App for StackOne integration.</p>

        <ul>
          <li>In the left sidebar, click <strong>GitHub Apps</strong></li>
          <li>Click <strong>New GitHub App</strong></li>
          <li>Enter <strong>GitHub App name</strong>: StackOne Integration (or your preferred name)</li>
          <li>Enter your website's <strong>Homepage URL</strong> (e.g., `https://stackone.com`)</li>
          <li>Enter <strong>Callback URL</strong>: `https://api.stackone.com/connect/oauth2/github/callback`</li>
          <li>Uncheck <strong>Request user authorization (OAuth) during installation</strong></li>
          <li>Check <strong>Expire user authorization tokens</strong> to enable refresh token support</li>
          <li>Uncheck <strong>Active</strong> under Webhook</li>
        </ul>
      </div>
    </Step>

    <Step title="Configure Permissions">
      <div data-guide-step data-guide-scopes="ActionsRead,ActionsWrite,AdministrationWrite,ContentsRead,ContentsWrite,DeploymentsRead,DeploymentsWrite,EmailAddressesRead,IssuesRead,IssuesWrite,MembersRead,MembersWrite,MetadataRead,ProfileRead,ProfileWrite,PullRequestsRead,PullRequestsWrite,SecurityEventsRead,WebhooksRead,WebhooksWrite,ChecksRead,ChecksWrite,CodeScanningAlertsRead,CodeScanningAlertsWrite,DependabotAlertsRead,DependabotAlertsWrite,SecretScanningAlertsRead,SecretScanningAlertsWrite,StarringRead,StarringWrite,WorkflowsRead,WorkflowsWrite" data-guide-display-scopes-list="ActionsRead,ActionsWrite,AdministrationWrite,ContentsRead,ContentsWrite,DeploymentsRead,DeploymentsWrite,EmailAddressesRead,IssuesRead,IssuesWrite,MembersRead,MembersWrite,MetadataRead,ProfileRead,ProfileWrite,PullRequestsRead,PullRequestsWrite,SecurityEventsRead,WebhooksRead,WebhooksWrite,ChecksRead,ChecksWrite,CodeScanningAlertsRead,CodeScanningAlertsWrite,DependabotAlertsRead,DependabotAlertsWrite,SecretScanningAlertsRead,SecretScanningAlertsWrite,StarringRead,StarringWrite,WorkflowsRead,WorkflowsWrite">
        <div className="connector-guide-actions-badge" data-guide-actions-badge data-guide-actions-badge-scopes="ActionsRead,ActionsWrite,AdministrationWrite,ContentsRead,ContentsWrite,DeploymentsRead,DeploymentsWrite,EmailAddressesRead,IssuesRead,IssuesWrite,MembersRead,MembersWrite,MetadataRead,ProfileRead,ProfileWrite,PullRequestsRead,PullRequestsWrite,SecurityEventsRead,WebhooksRead,WebhooksWrite,ChecksRead,ChecksWrite,CodeScanningAlertsRead,CodeScanningAlertsWrite,DependabotAlertsRead,DependabotAlertsWrite,SecretScanningAlertsRead,SecretScanningAlertsWrite,StarringRead,StarringWrite,WorkflowsRead,WorkflowsWrite" style={{ display: 'block', width: 'fit-content', maxWidth: '100%', padding: '2px 8px', borderRadius: '8px', fontSize: '12px', marginBottom: '8px', marginTop: '-10px', whiteSpace: 'nowrap', overflowX: 'auto', overflowY: 'hidden', msOverflowStyle: 'none', scrollbarWidth: 'none' }}>
          <span>Enables actions: </span><span data-guide-actions-badge-labels>Add Collaborator, Add Team Member, Add Team Repository, Cancel Workflow Run, Check Organization Membership, Create Deployment, Create Deployment Status, Create Git Reference, Create Issue, Create Issue Comment, Create Or Update File, Create Organization Repository, Create Pull Request, Create Pull Request Review, Create Pull Request Review Comment, Create Release, Create Team, Create User Repository, Delete Deployment, Delete File, Delete Git Reference, Delete Release, Delete Repository, Delete Team, Download Artifact, Fork Repository, Get Authenticated User, Get Branch, Get Commit, Get Git Reference, Get Issue, Get Latest Release, Get Organization, Get Organization Membership, Get Pull Request, Get Repository, Get Repository Content, Get Team, Get Unified Credentials, Get Unified Group, Get Unified Organization, Get Unified Role, Get User, Get Workflow Run, Invite Organization Member, List Artifacts, List Authenticated User Organizations, List Authenticated User Repositories, List Branches, List Code Scanning Alerts, List Collaborators, List Commits, List Dependabot Alerts, List Deployments, List Forks, List Issue Comments, List Issues, List Matching Git References, List Organization Members, List Organization Repositories, List Pull Requests, List Releases, List Secret Scanning Alerts, List Teams, List Unified Groups, List Unified Organizations, List Unified Roles, List Unified Users, List User Organizations, List User Repositories, List Users, List Workflow Jobs, List Workflow Runs, Merge Pull Request, Re-run Workflow, Remove Collaborator, Remove Organization Member, Remove Team Member, Search Code, Search Issues, Search Repositories, Star Repository, Trigger Workflow, Unstar Repository, Update Code Scanning Alert, Update Dependabot Alert, Update Git Reference, Update Issue, Update Organization, Update Pull Request, Update Release, Update Repository, Update Secret Scanning Alert, Update Team, Update User, Upload Release Asset</span>
        </div>

        <p>Set the required permissions for your integration needs. GitHub Apps use fine-grained permissions instead of traditional OAuth scopes.<br /><br />⚠️ IMPORTANT: These permissions are set here in the GitHub App configuration and CANNOT be changed during user authorization. Users will see these permissions when they authorize the app and can choose which repositories to grant access to.</p>

        <div style={{ marginTop: '8px' }} data-guide-display-scopes>
          <div className="connector-guide-scopes-container connector-guide-scopes-container--scrollable">
            <ul className="not-prose" style={{ listStyleType: "'- '", paddingLeft: '1em', margin: 0 }}>
              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="ActionsRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy ActionsRead" title="Copy scope" data-copy="ActionsRead">
                  <span className="connector-guide-scope-copy__label">ActionsRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="ActionsWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy ActionsWrite" title="Copy scope" data-copy="ActionsWrite">
                  <span className="connector-guide-scope-copy__label">ActionsWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="AdministrationWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy AdministrationWrite" title="Copy scope" data-copy="AdministrationWrite">
                  <span className="connector-guide-scope-copy__label">AdministrationWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="ContentsRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy ContentsRead" title="Copy scope" data-copy="ContentsRead">
                  <span className="connector-guide-scope-copy__label">ContentsRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="ContentsWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy ContentsWrite" title="Copy scope" data-copy="ContentsWrite">
                  <span className="connector-guide-scope-copy__label">ContentsWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="DeploymentsRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy DeploymentsRead" title="Copy scope" data-copy="DeploymentsRead">
                  <span className="connector-guide-scope-copy__label">DeploymentsRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="DeploymentsWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy DeploymentsWrite" title="Copy scope" data-copy="DeploymentsWrite">
                  <span className="connector-guide-scope-copy__label">DeploymentsWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="EmailAddressesRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy EmailAddressesRead" title="Copy scope" data-copy="EmailAddressesRead">
                  <span className="connector-guide-scope-copy__label">EmailAddressesRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="IssuesRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy IssuesRead" title="Copy scope" data-copy="IssuesRead">
                  <span className="connector-guide-scope-copy__label">IssuesRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="IssuesWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy IssuesWrite" title="Copy scope" data-copy="IssuesWrite">
                  <span className="connector-guide-scope-copy__label">IssuesWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="MembersRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy MembersRead" title="Copy scope" data-copy="MembersRead">
                  <span className="connector-guide-scope-copy__label">MembersRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="MembersWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy MembersWrite" title="Copy scope" data-copy="MembersWrite">
                  <span className="connector-guide-scope-copy__label">MembersWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="MetadataRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy MetadataRead" title="Copy scope" data-copy="MetadataRead">
                  <span className="connector-guide-scope-copy__label">MetadataRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="ProfileRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy ProfileRead" title="Copy scope" data-copy="ProfileRead">
                  <span className="connector-guide-scope-copy__label">ProfileRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="ProfileWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy ProfileWrite" title="Copy scope" data-copy="ProfileWrite">
                  <span className="connector-guide-scope-copy__label">ProfileWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="PullRequestsRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy PullRequestsRead" title="Copy scope" data-copy="PullRequestsRead">
                  <span className="connector-guide-scope-copy__label">PullRequestsRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="PullRequestsWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy PullRequestsWrite" title="Copy scope" data-copy="PullRequestsWrite">
                  <span className="connector-guide-scope-copy__label">PullRequestsWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="SecurityEventsRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy SecurityEventsRead" title="Copy scope" data-copy="SecurityEventsRead">
                  <span className="connector-guide-scope-copy__label">SecurityEventsRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="WebhooksRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy WebhooksRead" title="Copy scope" data-copy="WebhooksRead">
                  <span className="connector-guide-scope-copy__label">WebhooksRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="WebhooksWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy WebhooksWrite" title="Copy scope" data-copy="WebhooksWrite">
                  <span className="connector-guide-scope-copy__label">WebhooksWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="ChecksRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy ChecksRead" title="Copy scope" data-copy="ChecksRead">
                  <span className="connector-guide-scope-copy__label">ChecksRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="ChecksWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy ChecksWrite" title="Copy scope" data-copy="ChecksWrite">
                  <span className="connector-guide-scope-copy__label">ChecksWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="CodeScanningAlertsRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy CodeScanningAlertsRead" title="Copy scope" data-copy="CodeScanningAlertsRead">
                  <span className="connector-guide-scope-copy__label">CodeScanningAlertsRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="CodeScanningAlertsWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy CodeScanningAlertsWrite" title="Copy scope" data-copy="CodeScanningAlertsWrite">
                  <span className="connector-guide-scope-copy__label">CodeScanningAlertsWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="DependabotAlertsRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy DependabotAlertsRead" title="Copy scope" data-copy="DependabotAlertsRead">
                  <span className="connector-guide-scope-copy__label">DependabotAlertsRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="DependabotAlertsWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy DependabotAlertsWrite" title="Copy scope" data-copy="DependabotAlertsWrite">
                  <span className="connector-guide-scope-copy__label">DependabotAlertsWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="SecretScanningAlertsRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy SecretScanningAlertsRead" title="Copy scope" data-copy="SecretScanningAlertsRead">
                  <span className="connector-guide-scope-copy__label">SecretScanningAlertsRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="SecretScanningAlertsWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy SecretScanningAlertsWrite" title="Copy scope" data-copy="SecretScanningAlertsWrite">
                  <span className="connector-guide-scope-copy__label">SecretScanningAlertsWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="StarringRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy StarringRead" title="Copy scope" data-copy="StarringRead">
                  <span className="connector-guide-scope-copy__label">StarringRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="StarringWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy StarringWrite" title="Copy scope" data-copy="StarringWrite">
                  <span className="connector-guide-scope-copy__label">StarringWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="WorkflowsRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy WorkflowsRead" title="Copy scope" data-copy="WorkflowsRead">
                  <span className="connector-guide-scope-copy__label">WorkflowsRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="WorkflowsWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy WorkflowsWrite" title="Copy scope" data-copy="WorkflowsWrite">
                  <span className="connector-guide-scope-copy__label">WorkflowsWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </Step>

    <Step title="Select Installation Location">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Choose where the app can be installed.</p>

        <ul>
          <li>Under <strong>Where can this GitHub App be installed?</strong>, select either <strong>Only on this account</strong> or <strong>Any account</strong></li>
          <li>Click <strong>Create GitHub App</strong></li>
        </ul>
      </div>
    </Step>

    <Step title="Copy Client ID">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>After creation, you'll be redirected to your app's settings page.</p>

        <ul>
          <li>Locate the <strong>Client ID</strong> field and copy its value.</li>
          <li>Store this value securely for use later.</li>
        </ul>
      </div>
    </Step>

    <Step title="Generate Client Secret">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Generate a client secret for OAuth authentication.</p>

        <ul>
          <li>Scroll to the <strong>Client secrets</strong> section</li>
          <li>Click <strong>Generate a new client secret</strong></li>
          <li>Copy the displayed secret immediately and store it securely</li>
        </ul>
      </div>
    </Step>

    <Step title="Enable Refresh Token Support">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Enable refresh token support for OAuth authentication.</p>

        <ul>
          <li>Navigate to <strong>Optional features</strong> from the left sidebar menu</li>
          <li>Click the <strong>Opt-in</strong> button corresponding to <strong>User-to-server token expiration</strong>. If it's already enabled, you should see the <strong>Opt-out</strong> button instead.</li>
        </ul>
      </div>
    </Step>

    <Step title="Install the GitHub App">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Install the GitHub App on your account or organisation for full access to private repositories, organisation data, and app-level permissions. This can be done before or after linking your account in StackOne. Without installation, only public repositories and user profile data are accessible.</p>

        <ul>
          <li>Visit `https://github.com/settings/apps/{your-app-name}/installations` (replace `{your-app-name}` with your app slug) or navigate to your app's settings page, then <strong>Install App</strong> tab from sidebar.</li>
          <li>Click on <strong>Install</strong> next to the account or organisation where you want to install the app</li>
          <li>Choose <strong>All repositories</strong> or select specific repositories</li>
          <li>Click <strong>Install</strong> button.</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

## Creating the StackOne Connector Profile

To create the Connector Profile in StackOne for <strong>GitHub</strong>:

<Steps>
  <Step title="Navigate to Connector Profiles">
    Login to StackOne and navigate to [Connector Profiles](https://app.stackone.com/connector_profiles)
  </Step>

  <Step title="Create New Connector Profile">
    <ul>
      <li>Click <strong>+ Connector Profile</strong></li>
      <li>Search for and select <strong>GitHub</strong></li>
      <li>Select <strong>Type</strong> as <strong>GitHub App</strong></li>

      <li>
        Fill out the fields using details retrieved from your provider:

        <ul style={{ marginLeft: '20px' }}>
          <li><strong>Client ID</strong></li>
          <li><strong>Client Secret</strong></li>
        </ul>
      </li>

      <li>(Optional) Select <strong>Actions</strong> to be enabled for this Connector Profile</li>
      <li>Click <strong>Create profile</strong></li>
    </ul>
  </Step>
</Steps>

Congratulations! The new Connector Profile will now show up in your project ready to be used. You can now continue to <a href="/guides/accounts-section#linking-accounts">Link Accounts</a> for <strong>GitHub</strong>.
