Escalate if Unresolved
Steps
- Load the ticket. If
status != openornow() < sla_due_at, return{status: "no-op"}. - Pick the escalation channel: Slack channel from
TOOLS.md(#support-escalationsby default). - Send the escalation message with: ticket id, originating conversation link, priority, time over SLA, summary, lineage.
- Update the ticket:
status = "escalated",escalated_at = now,escalated_to = <channel/user>. - Notify the user in the original conversation thread: "This is
taking longer than our SLA — a human is now reviewing. Ticket
<id>." Honest, no hedging.
Failure modes
- Escalating without notifying the user (they think they're forgotten).
- Re-escalating an already-escalated ticket on every cron tick.
- Losing lineage — the escalation message must include the link back to the original conversation.