Back

Connecting a GitHub repository

Connecting a repo to a meeting lets its coding agent implement the meeting's action items and open a pull request for you to review and merge — without ever handing it a long-lived token.

In a meeting
  1. Open the Context tab in the meeting room.
  2. Paste the repository (e.g. owner/repo) in the GitHub repository field and click Connect repo. This pulls in repo context (tree + README) for the AI.
  3. Click Connect GitHub App. A popup opens to install the app on that repository; when it closes the section shows ✓ Connected — your meeting tab never navigates away.
  4. Generate action items, then under Merge requests click Create from action items. The agent works in the background; the panel updates to PR ready for reviewwith a link when it's done.
  5. Review the pull request on GitHub. When you're happy, click Merge (in the meeting or afterwards).
What access it needs

The GitHub App requests Contents: write (push a branch), Pull requests: write (open the PR), and Metadata: read. Each agent run uses a short-lived token scoped to just that repository; it expires automatically and is never stored. The agent always opens a pull request — it never pushes to your default branch or merges on its own.

One-time admin setup

Connecting a repo only works once an operator has wired up the GitHub App (once per deployment):

  1. Register a GitHub App (Contents + Pull requests: write, Metadata: read) with its Setup URL set to https://<your-domain>/api/github/app/callbackand “Redirect on update” enabled.
  2. Set GITHUB_APP_ID, GITHUB_APP_SLUG (just the slug, e.g. seedlabs-meeting-agent — not the full URL), and GITHUB_APP_PRIVATE_KEY.
  3. Run npm run setup:agent once and set the printed AGENT_ID / ENVIRONMENT_ID.
  4. Ensure the Managed Agents beta is enabled on the Anthropic account.

Full deployment details live in DEPLOY.md. As a fallback, a global GITHUB_PAT + VAULT_ID lets all rooms share one token instead of the App.

Troubleshooting
  • The install page 404s with a doubled URL GITHUB_APP_SLUG was set to the full URL; use just the slug (seedlabs-meeting-agent).
  • “Connect GitHub App” errors— the App env vars aren't set; finish the one-time setup above.
  • “Coding agent is not configured” AGENT_ID/ENVIRONMENT_ID are missing, or no GitHub auth (App or PAT) is set.
  • “Invalid state” after installing — the install link expired; start again from Connect GitHub App.