Escalate conversation
Mark a conversation as escalated (stamps escalated_at + metadata.escalation), fan out a Slack notification + email to the org’s configured escalation recipients, write an audit row, and emit an inbox SSE event. Idempotent — re-escalating an already-escalated conversation returns the existing escalated_at without re-fanning out the notifications. Recipients resolve from organizations.settings.escalation.user_ids + .email_recipients (or the per-request target_user_ids override). notify_channels lets callers opt out of slack-only or email-only fan-out (default: both).
Authorizations
Dashboard JWT token from Clerk
Path Parameters
Body
Free-text reason — surfaced in Slack + email body and stored on metadata.escalation.reason.
500Escalation priority. Default 'urgent'. Drives Slack button styling (danger vs primary) and email subject prefix.
normal, high, urgent Optional caller override of recipients. Each id is validated against the caller's organizationId so a malicious or buggy caller cannot leak the notification to another tenant's users. When omitted, falls back to organizations.settings.escalation.user_ids.
2064Opt-out lever for individual notification channels. Default ['slack','email'] (both). Useful for tests / programmatic callers that only want one fan-out path.
2slack, email Response
Default Response