Integrations
Route: /integrations/config
Scenario: You’ve just set up Mushi and want reports to automatically create Linear issues for your team, with Sentry feedback forwarding in and all fix-worker PRs going to your main GitHub repo. This page is where you wire all three up in under 10 minutes.
The Integrations page connects Mushi to the external platforms it reads data from (Sentry, Langfuse, GitHub) and the routing destinations it dispatches events to (Jira, Linear, GitHub Issues, PagerDuty).
Hero
The page header shows: N/M connected (how many platforms are configured and passing their health probe), and the timestamp of the last probe event.
Core platform integrations
These integrations feed data into Mushi or extend its internal capabilities.
Sentry
| Field | Description |
|---|---|
| DSN | Sentry project DSN — enables Sentry User Feedback events to forward into Mushi |
| Auth token | For issue-level metadata queries |
| Organisation slug | Your Sentry org |
| Project slug | Your Sentry project |
After saving, Mushi subscribes to Sentry’s User Feedback webhook so new Sentry feedback automatically becomes a Mushi report.
Langfuse
| Field | Description |
|---|---|
| Public key | Langfuse project public key |
| Secret key | Langfuse project secret key |
| Base URL | Override for self-hosted Langfuse |
When configured, every LLM call from Mushi’s edge functions streams a trace to Langfuse. Traces are visible in Integration health with a direct link.
GitHub
| Field | Description |
|---|---|
| GitHub App installation ID | The ID shown in your GitHub App settings |
| Repository URL | The repo Mushi opens fix PRs against |
| Default branch | The base branch for fix-worker PRs |
The Codebase index card shows the indexing status for the active project’s repo —
ok, stale, failed, off, or never. The index powers the Repo page
branch graph and the fix-worker’s code context.
Cursor Cloud
| Field | Description |
|---|---|
| API Key | Your Cursor API key — stored encrypted in the Supabase Vault; never exposed in the UI |
| Default model | Agent model (composer-2.5 or your account default) |
| Auto-create PRs | When enabled, Cursor opens a signed draft PR automatically after the fix run |
| Max iterations | Maximum agent loops per dispatch (default: 1) |
When configured, Mushi can dispatch a Cursor Cloud Agent to fix classified reports — the agent opens a signed draft PR and posts the link back to the Fixes page. Activate via:
- Marketplace — install the Cursor Cloud Agent plugin for event-driven dispatch (recommended for per-severity gating).
- Settings → Autofix — set
autofix_agent = cursor_cloudto make Cursor the project-wide default.
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.
Each platform card shows:
- Connection status pill — connected / disconnected / error
- Latest probe latency
- 7-day health sparkline
Click Edit to reveal the form fields. Click Test to run a live probe and see the result as a status toast.
Routing destinations
These integrations receive Mushi events as outbound webhooks or API calls.
| Destination | What it receives |
|---|---|
| Jira | Creates a Jira issue when a report is triaged |
| Linear | Creates a Linear issue; syncs fix status back |
| GitHub Issues | Opens a GitHub Issue for triaged reports |
| PagerDuty | Fires a PagerDuty incident for critical reports |
Each routing provider card shows its connection state and a Pause / Resume toggle. When paused, events are dropped — not queued — so resume promptly.
Connecting a routing provider:
- Click Edit.
- Enter the required credentials (API key, project/team ID, etc.).
- Click Save.
- Click Test to fire a test event.
Disconnecting: click Disconnect → confirm in the dialog.
For richer event routing (filter by severity, round-robin, fanout to multiple destinations), use the Plugin marketplace instead. The routing providers here are pre-built, opinionated connectors.
Common tasks
Connecting GitHub so fix-worker can open PRs
- Create a GitHub App and install it on your repo.
- On the GitHub card, click Edit.
- Enter the App installation ID, repo URL, and default branch.
- Click Save → Test → confirm the probe returns green.
- Open Repo graph — the repo header should show your connected repo.
Forwarding Sentry User Feedback into Mushi
- On the Sentry card, click Edit.
- Enter your DSN, auth token, org slug, and project slug.
- Click Save → Test.
- In Sentry, add a User Feedback webhook pointing to your Mushi API endpoint.
- Submit a test Sentry feedback — it should appear in Reports within 30 seconds.
Routing critical reports to PagerDuty
- In Routing destinations, find PagerDuty → click Edit.
- Enter your PagerDuty API key and service ID.
- Click Save → Test → confirm a test incident fires.
- Go to Reports → triage a
criticalreport → confirm a PagerDuty incident opens automatically.
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 (routing destinations)
POST /v1/admin/integrations { type, ...config }
DELETE /v1/admin/integrations/:typeCommon tasks
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 Edit, paste the
crsr_…key, then Save → Test connection. - Install the Cursor Cloud Agent plugin from Marketplace (subscribe to
report.classified) — or setautofix_agent = cursor_cloudin Settings if you want every fix dispatched via Cursor. - Triage a
criticalreport → trigger dispatch → the Fixes page will show the Cursor agent badge and PR link once the run completes.
Related pages
- Repo graph — powered by the GitHub integration
- Integration health — LLM and cron health (not integration probes)
- Plugin marketplace — advanced routing and custom webhooks
- Fix orchestrator — Cursor agent badge, artifact gallery, and live streaming view