Slack integration
Last updated April 21, 2026
Connect Slack on the Integrations page. We use a single Slack app per Slack workspace — customers OAuth once and we store the bot token server-side.
What happens on each route
- Routing resolves the assigned rep's email to their Slack user id via
users.lookupByEmail. - We open a DM and post: "New lead routed to you: Lead name — context" with an Accept button.
- Clicking Accept hits our interactivity endpoint, verifies the Slack signature, and flips the assignment to
status: acceptedwith a timestamp.
SLA escalation
If the rep doesn't accept within your workspace's slaSeconds target (default 300), a cron flips the assignment to escalated and re-pings them in Slack. Adjust the target from Settings → Routing defaults.
Scopes we request
chat:write, chat:write.public, users:read, users:read.email, im:write, channels:read, groups:read. We never read message content.