Integrations
Route: /integrations/config (sidebar: Integrations, under Connect)
Scenario: You just set up Mushi Mushi and want fix PRs to open on your GitHub repo, new bugs to land in Linear, and Sentry errors to flow in, all from one page.
The Integrations page wires Mushi Mushi to the tools your team already uses. Every integration is optional except GitHub, which fixes need.
The top of the page shows which tools are connected, what is broken, and the next step.
Sections
| Section | Cards |
|---|---|
| Your code | GitHub (code repo) |
| Alerts | Slack, Discord, Microsoft Teams |
| Fix agent | Cursor Cloud, Claude Code Agent, plus the codebase index, a dry-run panel and Deployment readiness |
| Issue trackers | Linear, Jira, GitHub Issues, PagerDuty |
| Errors you already catch (optional) | Sentry; Langfuse under Advanced: trace Mushi Mushi’s AI calls in your own Langfuse |
At the foot of the page are links to Editor agents, Agent skills, Reporter updates and Plugins.
GitHub (code repo)
| Field | Description |
|---|---|
| Repo URL | The repo Mushi Mushi opens fix PRs against (SSH URLs are normalized) |
| Default branch | Base branch for fix PRs; main when blank |
| Installation token | A GitHub App installation token (preferred) or a fine-grained PAT with Contents: write and Pull requests: write |
| Webhook secret | Optional HMAC secret; set the same value on the repo’s webhook (events: Check runs, Check suites) |
The Codebase index card shows the indexing status for the active project’s repo:
ok, stale, failed, off, or never. The index powers the Pull requests page
and the fix agent’s code context. It also shows coverage in files against your plan’s
file limit (see how much of a large repo is indexed).
For a repo connected with a Personal Access Token, it shows the webhook URL that turns on push indexing.
Fix agents
Cursor Cloud
| Field | Description |
|---|---|
| API Key | Your Cursor API key (crsr_…), stored encrypted in Supabase Vault; never shown again in the UI |
| Default model | Optional Cursor model id (for example composer-2.5); blank uses your Cursor account default |
| Auto-create PRs | On by default: Cursor opens a signed draft PR when the agent finishes. Turn off to review the branch first. |
With a key saved, Mushi Mushi can dispatch a Cursor Cloud agent to fix a classified report; the agent opens a signed draft PR and the link shows on the Fixes page. For event-driven dispatch, install the Cursor Cloud Agent plugin from Plugins.
The API Key is stored via Supabase Vault. The raw key is never written to any database column. For self-hosted deployments where Supabase Vault is not accessible from the Node orchestrator, set MUSHI_CURSOR_API_KEY_OVERRIDE in your Node orchestrator environment as an escape hatch.
Claude Code Agent
A GitHub Actions workflow for your repo that runs the Claude Code CLI on a fix prompt,
commits a fix branch and opens a draft PR, with your Anthropic key kept in your GitHub
secrets. Mushi Mushi checks the key and gives you the workflow, but it does not
trigger the workflow yet: you run it yourself with a repository_dispatch event. To have
Mushi Mushi open fix PRs on its own, use Cursor Cloud or the GitHub cloud agent.
Sentry
| Field | Description |
|---|---|
| Org slug | Your Sentry organization |
| Project slug | Optional; narrows event search to one project |
| More Sentry projects | Optional; up to 10 more projects this app reports to, for import |
| Auth token | project:read + event:read (import, enrichment) and event:write (resolve on merge) |
| DSN (optional) | Only needed if you want Mushi Mushi reports forwarded as Sentry events |
| Webhook secret | The Client Secret of the Sentry internal integration whose webhook URL is the Receive URL shown on the card |
Langfuse (advanced)
| Field | Description |
|---|---|
| Host | Langfuse base URL (US cloud, EU cloud, or self-hosted) |
| Public key | Langfuse project public key |
| Secret key | Langfuse project secret key |
When configured, Mushi Mushi’s AI calls send traces to your own Langfuse project.
Card controls
Each card shows its connection state, when it was last probed, and a short health sparkline. Test connection runs a live probe and reports the result as a toast; Edit credentials (or Configure integration) opens the form. Only admins can edit.
Issue trackers
| Destination | What it does |
|---|---|
| Linear | Creates a Linear issue for a new critical or high report; when the Linear issue is completed or cancelled, the report is resolved |
| Jira | Creates a Jira issue for a new critical or high report, with severity mapped to Jira priority |
| GitHub Issues | Opens a GitHub Issue for a new critical or high report, with severity and category labels; closes it when the report is resolved |
| PagerDuty | Pages on-call (Events API v2) for critical reports only; resolves the incident when the report is closed |
Each routing card has Test connection, a Pause / Resume toggle and Disconnect. While paused, new reports are not forwarded to it.
Connecting a routing provider:
- Click Connect.
- Enter the required credentials (for Jira: base URL, user email, API token, project key; for GitHub Issues: PAT with Issues: write, owner, repo; for PagerDuty: routing key).
- Click Save, then Test connection.
For more event routing (Discord, Teams, Zapier and more, or your own webhooks), use Plugins. The trackers here are pre-built connectors.
Common tasks
Connecting GitHub so the fix agent can open PRs
- On the Your code on GitHub card, press Connect GitHub.
- Sign in to GitHub. If the Mushi Mushi GitHub App is not on your account or organization yet, GitHub asks you to install it and choose its repositories.
- Pick the repository. Mushi Mushi lists only repositories you can open, with the one named like your app first, and saves it with its default branch.
- Open Pull requests: the header shows your connected repo.
Self-hosted, or no GitHub App? Open Use a GitHub token instead under the card and paste a fine-grained token with Contents: write and Pull requests: write.
Bringing Sentry errors into Mushi Mushi
- On the Sentry card, click Configure integration.
- Enter your org slug, auth token, and optionally the project slug.
- Click Save, then Test connection.
- For live delivery, create a Sentry internal integration whose webhook URL is the card’s Receive URL, and paste its Client Secret as the Webhook secret.
Routing critical reports to PagerDuty
- In Issue trackers, find PagerDuty and click Connect.
- Enter your Events API v2 routing key.
- Click Save, then Test connection.
- The next report classified
criticalpages your on-call.
Setting up Cursor Cloud auto-fix
- Create a Cursor API key at cursor.com/dashboard/integrations → API Keys.
- Connect GitHub (code repo) first: Cursor agents need your repo URL and token.
- On the Cursor Cloud card, click Configure integration, paste the
crsr_…key, then Save → Test connection. - Install the Cursor Cloud Agent plugin from Plugins (subscribe to
report.classified) for automatic dispatch. - Dispatch a fix on a report: the Fixes page shows the Cursor agent badge and PR link once the run completes.
API
GET /v1/admin/integrations/platform
PUT /v1/admin/integrations/platform/:kind { ...credentials }
POST /v1/admin/health/integration/:kind (live probe)
GET /v1/admin/integrations (issue-tracker destinations)
POST /v1/admin/integrations { type, ...config }
DELETE /v1/admin/integrations/:typeRelated pages
- Pull requests: powered by the GitHub integration
- Mushi Mushi health: Mushi Mushi’s own AI calls and jobs
- Plugins: more routing and custom webhooks
- Fixes: Cursor agent badge, artifact gallery, and live streaming view