Skip to Content
v0.8.0 · shippedNative mobile SDKs, optional Sentry enrichment, and bring-your-own keys/storage. Read the changelog →
Plugin marketplaceOverview

Plugin marketplace

Mushi events flow out as HMAC-signed JSON webhooks with Standard Webhooks  headers (webhook-id / webhook-timestamp / webhook-signature: v1,…) to any tool you wire up. The marketplace ships 12 first-party plugins and lets you build your own with @mushi-mushi/plugin-sdk (retry helpers, signature verification, REST callback in one tiny package).

Available plugins

PluginTriggersDoc
PagerDutyreport.created (P0/P1)PagerDuty
Linearreport.classifiedLinear
Jira Cloudreport.classified + status syncJira Cloud
Slack appreport.created / fix.pr_opened + /mushi slash commandSlack
DiscordConfigurable per-event embedsDiscord
Microsoft TeamsAdaptive cards on classified reportsTeams
GitHub Issuesreport.classified → labelled issue with Mushi backlinkGitHub Issues
SentryMirror critical reports + resolve on fixSentry
BugsnagMirror reports into Bugsnag projects + close on fix mergeBugsnag
RollbarMirror reports + resolve Rollbar items on fixRollbar
CrashlyticsPush Mushi reports into Firebase Crashlytics issues + close on fixCrashlytics
ZapierAll eventsZapier

Browse and install from the admin console: Marketplace. Each plugin enforces strict scope — it only sees the events you subscribe it to.

Webhook delivery contract

Every dispatch is:

  • POST to your configured webhook URL with Content-Type: application/json.
  • Body: { event, deliveryId, occurredAt, projectId, pluginSlug, data }.
  • Standard Webhooks headers (standardwebhooks.com ) — receivers can use any spec-compliant library to verify:
    • webhook-id: <uuid>
    • webhook-timestamp: <unix-secs>
    • webhook-signature: v1,<base64-hmac-sha256> over ${id}.${ts}.${rawBody}
  • Legacy X-Mushi-* headers are also emitted for back-compat with first-generation receivers.
  • Retried with exponential backoff on 5xx / network errors (3 attempts: 0 / 30 / 120s).
  • Logged to plugin_dispatch_log with status, HTTP code, latency, and response excerpt — visible in Marketplace → plugin → Deliveries.

Build your own

See Building a plugin and Webhook events.

The @mushi-mushi/plugin-sdk exports verifyStandardWebhook(headers, rawBody, secret) and withRetry(fn) so a production-ready receiver is ~20 lines of code.

Last updated on