Skip to content

Works with your Slack apps

Murmuration’s API speaks Slack’s exact wire protocol — same methods, same envelopes, same Block Kit, same signing scheme. We prove it continuously: our public conformance suite runs unmodified official Slack SDKs against every release.

Your own bots and scripts. Anything built on an official Slack SDK needs one line — point the client at your workspace:

// JavaScript (@slack/web-api, @slack/bolt)
new WebClient(token, { slackApiUrl: "https://your-team.murmuration.chat/api/" });
# Python (slack-sdk, bolt-python)
WebClient(token=token, base_url="https://your-team.murmuration.chat/api/")

There’s no environment variable for this in the SDKs (that’s an upstream Slack limitation, not ours) — it’s a constructor option, shown above in full.

Socket Mode apps need even less. The WebSocket URL comes from apps.connections.open — which we serve — so Bolt apps in Socket Mode connect with just the base-URL option and their tokens. Our conformance suite runs an unmodified Bolt app end-to-end on every release.

Webhook alerts. Grafana, Prometheus Alertmanager, Jenkins, CircleCI, Statuspage, Twilio — anywhere you paste a Slack webhook URL, paste a Murmuration one instead:

https://hooks.murmuration.chat/services/T…/B…/…

Same payload format, byte for byte, including legacy attachments. (Alertmanager users: it’s just slack_configs.api_url.)

AI agents and MCP servers. LangChain’s Slack toolkit, CrewAI tools, self-hosted n8n, and community Slack MCP servers all build on the SDKs above — same one-line repoint.

Needs the vendor’s help (we’re working on it)

Section titled “Needs the vendor’s help (we’re working on it)”

Hosted apps from the Slack Marketplace — GitHub, Jira, Zoom, Linear, Notion and friends — run on their servers and have slack.com written into them. Wire compatibility on our side can’t change their code. For these we run a vendor program: the ask is small (make the API base URL configurable per install — most are one config flag away because they build on the same SDKs), and we provide credentials, a sandbox, and a permanent engineering contact. See which vendors are live, and vote for who we contact next →

We’d rather tell you this plainly than show you a logo wall of apps that break at install.

  • Tokens look and behave like Slack’s (xoxb-, xoxp-, xapp-) — token-type detection in SDKs and frameworks just works.
  • Rate limiting matches Slack’s tier semantics (429 + Retry-After), so SDK retry logic behaves identically.
  • Errors are Slack’s exact strings. When something goes wrong, we additionally send a human explanation in a murmuration.hint field — real Slack never sends it, SDKs ignore it, humans love it.
  • Our conformance suite is the contract: unmodified @slack/web-api, @slack/bolt, slack-sdk, webhook fixtures from real tools, SCIM fixtures shaped like Okta and Entra, and a full OIDC SSO round-trip — green on every release.