Part B · The screens
B.3Escalations
Cases the AI handed to a person: a visitor asking for someone, a pricing or contract question, a hostile message, low confidence, or a hot lead nobody has contacted. Each has a short brief, an owner and a response deadline, and the AI holds that thread until a person takes it.
- No.
- B.3
- Dashboard address
- /escalations
What you can do here
Each core task, and how many clicks it takes from this screen.
| Task | Clicks | How |
|---|---|---|
| Take a case from the alert e-mail | 1 | Take it in the e-mail. The single-use link expires in 72 hours, and opening it never acts on its own. |
| Take a case here | 2 | Escalations → Take it on the row. The case is yours and the deadline stops. |
| Reassign a case | 3 | Escalations → the owner on the row → pick the person. From the e-mail it's 2: Reassign, with the backup already chosen → Confirm. |
| Read the brief and the history | 2 | Escalations → the row: what happened, why it came to a person, the account's key facts and every step so far. |
| Answer a held action | 3 | Escalations → the case → "Allow from now on" (drafts a narrow rule for a second person to approve) or "Just this once" (releases that one action for 24 hours). |
How it works behind the scenes
- The triggers are rules DMA can read and change in Rules → Escalation: a prospect asks for a person, a pricing request, a contract or guarantee question, a hostile or abusive message, low AI confidence, a refund or cancellation, a payment problem, possible fraud, a legal threat.
- The escalation router does the routing in code: who gets it from the roster (Josh first, then the backup), the response deadline, pausing the AI on that thread, and the alert. The fast model only writes the one-line headline and the suggestion the person reads.
- When a case isn't taken in time, it moves to the next person on the roster with a fresh deadline; with nobody left it is marked timed out. The held action stays held either way: nothing is released by the clock.
- The hot-lead watchdog opens a case when a tier A account has been hot for 24 working hours and no person has touched it: no note, call, e-mail or completed task.
- The visitor or prospect gets one holding message from an approved template, so they know a person is coming.
Rules and switches that apply here
- While a case is open the AI stays paused on that thread; it never releases a held action by itself.
- Response deadlines, working hours and the order of people come from the roster (see Roster).
- Kill switch: the global pause also stops the hot-lead watchdog opening new cases; cases already open stay open and held.
The tables behind it
PK primary keyFK reference the database enforces (solid line)ID reference kept by id (dashed line)
| Table | What it holds | Columns |
|---|---|---|
| ctrl.escalations | Every case: its trigger, urgency, owner, deadline and state. | 33 |
| ctrl.roster | Who handles each trigger, in what order, when, and how fast. | 10 |
How the tables connect (3)
| Column | Points to | Kept by |
|---|---|---|
| ctrl.escalations.conversation_id | conv.conversations | The application (by id) |
| ctrl.escalations.run_id | agent.runs | The application (by id) |
| ctrl.escalations.decision_id | ctrl.decision_log | The application (by id) |
The screen
localhost:13301/escalations

1 / 4Escalations, filtered to new cases (live, synthetic data).
- 1Filter by state, with counts.
- 2The brief: what happened and why it came to a person.
- 3The owner: click to reassign.
- 4Take it.
Dashboard · Escalations, the new cases. Captured from the running POC on September 25, 2026; synthetic data.
See it live
Opens the screen in the running POC, in a new tab.
| Open | Where | What to try |
|---|---|---|
| Escalations: new cases | DMA AI dashboard | Open a case for its brief; Take it stops the clock. |