How it works
- Install the GitHub App. An admin clicks Connect in Settings → Integrations and installs Crumb's GitHub App on a user or organization account, for all repositories or just the ones you pick. If you grant a single repo, it becomes the default.
- Feedback arrives with its revenue. Requests come in from the widget, email, Slack, or the API, tied to an account and its ARR, and related ones group into initiatives so you can see what's at stake.
- Create the issue from the thread. The Engineering card in the thread sidebar opens a form with the feedback as the title and body. Pick a repo and send. Admins and PMs can create issues.
- Draft with AI (Cloud). On the Team plan and up, Suggest with AI writes a title and a Markdown body from the feedback, the ten most recently updated issues in your default repo, and that repo's README and top-level file list. You review it before it's sent.
- State syncs back. When the issue is closed or reopened, the Engineering field on the Crumb item shows open or closed. You still decide when the Crumb item is Shipped, which is what tells the customer.
What syncs
| What | Direction | When |
|---|---|---|
| Title and Markdown body | Crumb → GitHub | When you create the issue |
| Issue number and link | GitHub → Crumb | On creation |
| Open or closed state | GitHub → Crumb | On issue events, through the App's webhook |
| README and top-level file names | GitHub → Crumb AI | For AI drafts and Slack request sizing (Cloud) |
| Labels, assignees, comments | Not synced | Crumb sets the title and body only |
Repo context for every tracker
Code usually lives in GitHub even when tickets live somewhere else. When GitHub is connected with a default repo, its README and top-level file list also feed AI drafts for Linear and Jira tickets, and the request sizing done by Crumb's Slack bot. The AI sees the first 4,000 characters of the README and the names of top-level files and folders. It doesn't read your source code.
Setup
Crumb Cloud: install Crumb's GitHub App from Settings → Integrations, on the Team plan and up. State syncs through the App's own webhook, so there's nothing to configure per repo. If the App is uninstalled or suspended on GitHub, Crumb marks the integration as disconnected.
Self-hosted: register your own GitHub App (not an OAuth App) with Issues read and write, Contents read, and Metadata read, subscribe it to Issues and Installation events, point its post-install redirect at /api/integrations/github/callback and its webhook at /api/integrations/github/webhook, then set GITHUB_APP_ID, GITHUB_APP_SLUG, GITHUB_APP_PRIVATE_KEY, and GITHUB_WEBHOOK_SECRET. AI drafting is a Cloud feature, so self-hosted issues start from the feedback text.
Frequently asked questions
Does Crumb read my source code?
No. It reads the README in your default repo, of which the AI sees the first 4,000 characters, and the names of top-level files and folders. That's why the App asks for read access to contents.
Which repos can Crumb create issues in?
Any repo you grant the GitHub App at install time. The repo picker lists up to 100 of them, and an admin can set a default.
What syncs back from GitHub?
Whether the issue is open or closed. When that changes, the Engineering field on the Crumb item updates. Comments, labels, and assignees stay in GitHub.
Do I need GitHub for AI ticket drafts?
No. AI drafts on Crumb Cloud's Team plan and up work for Linear, Jira, and GitHub. Connecting GitHub adds your README and file list as context for all three.
Does the GitHub integration work when I self-host?
Yes. Register your own GitHub App and set four environment variables, and issue creation and state sync run on your own infrastructure. AI drafting is a Crumb Cloud feature.