Skip to content

GitHub Setup

Create a GitHub OAuth App to access repositories, issues, pull requests, and more. Supports read-only or full write access.

  1. Go to Developer Settings

    Navigate to your GitHub Developer Settings.

  2. Create OAuth App

    Click “OAuth Apps” in the left sidebar, then “New OAuth App”. Fill in:

  3. Set Callback URL

    Add the OAuth callback URL:

    https://api.switchboard.fpdigital.ai/oauth/github/callback
  4. Save and Copy Credentials

    Click “Register application”. You’ll see your Client ID. Click “Generate a new client secret” to create the secret.

  5. Set Wrangler Secrets

    Add the credentials as Cloudflare Workers secrets:

    Terminal window
    npx wrangler secret put GITHUB_CLIENT_ID
    npx wrangler secret put GITHUB_CLIENT_SECRET
Terminal window
npx wrangler secret put GITHUB_CLIENT_ID
npx wrangler secret put GITHUB_CLIENT_SECRET
VariableDescription
GITHUB_CLIENT_IDOAuth App Client ID from GitHub Developer Settings
GITHUB_CLIENT_SECRETOAuth App Client Secret (generated once)
https://api.switchboard.fpdigital.ai/oauth/github/callback

Users choose Read-only or Full Access when connecting:

ModeScopes
Read-onlypublic_repo, read:user, read:org
Full Accessrepo, read:user, read:org, gist, workflow, notifications
  • For organization repos, the org admin may need to approve the OAuth app
  • This uses OAuth App (not GitHub App) - simpler setup, no installation required
  • Rate limit: 5,000 requests per hour per authenticated user
  • Organization repo access: If you can’t see org repos, the org admin needs to approve the OAuth app. Go to the org’s Settings > Third-party access.
  • Private repo access: Read-only mode (public_repo scope) only accesses public repos. Switch to Full Access for private repos.
  • Rate limiting: GitHub allows 5,000 requests/hour per user. Heavy operations like listing all repos may hit limits.
  • Tokens don’t expire: GitHub OAuth tokens are permanent. They only stop working if the user revokes access or the OAuth app is deleted.
  1. Go to your Switchboard Dashboard and navigate to GitHub
  2. Click Connect and authorize (choose Read-only or Full Access)
  3. Click Test Connection to verify
  4. Try: “List my GitHub repositories” or “Show open issues in [repo]”