Handoffs are where agent experiences break: the agent gives up badly, or the human takes over blind. This playbook designs escalation in both directions — agent-to-human on low confidence or frustration signals, human-to-agent with full context transfer — plus the notification UX that makes long-running and parallel background work legible instead of anxious.
Workflow area: Agent UX · Tier: Advanced · Hands-on time: ~45 minutes
Every agent has a competence boundary; the product question is what happens at the edge. Escalate too late and users rage at a bot that won't yield; too early and the agent is a doorman for a human queue. Worse is the blind handoff — the customer who explains everything to the bot, then repeats it all to the human, is living inside a design failure. Microsoft's HAX guidelines press on timing (when to act, when to defer) and PAIR on graceful failure; neither writes your escalation triggers or your notification budget. This playbook does both, treating the handoff itself as a designed artifact — a briefing, not a transfer.
Define escalation triggers as observable signals, not vibes. Three families, each with a designed response: confidence signals — the agent's own uncertainty (low retrieval quality, contradictory sources, out-of-scope classification) triggers offer-to-escalate before the user asks; frustration signals — repeated rephrasings, sentiment shift, caps, "let me talk to someone," or the third failed repair (pb-41's ladder) trigger immediate, unconditional escalation with no retention attempt; stakes signals — topic classifiers for money, legal, safety, account closure route to humans regardless of confidence. Write each trigger with its threshold and its response copy.
Design the handoff package — the artifact that makes escalation graceful. The human receiving the conversation gets a structured brief, and the user sees that it happened:
You are designing the agent-to-human handoff brief for
[PRODUCT/CONTEXT]. From this conversation transcript:
[PASTE SAMPLE TRANSCRIPT]
Produce the brief a human agent sees BEFORE their first reply:
- GOAL: what the user is trying to do, one sentence
- STATE: what's been tried, what worked, what failed
- BLOCKER: the specific reason the agent escalated (trigger name)
- USER CONTEXT: tone/urgency, plus account facts already verified
- DO NOT REPEAT: questions already asked and answered
- SUGGESTED NEXT STEP: the agent's best guess, clearly labeled
as a guess
Keep it under 120 words; a support agent reads it in 15 seconds.
Then write the ONE line the user sees during transfer, which must
promise they will not have to repeat themselves.
Test the output against the transcript: if the brief omits anything the user already said, the handoff will force repetition — the cardinal sin.
Design the reverse handoff: human-to-agent with context transfer. When users delegate mid-task ("take over this spreadsheet cleanup"), the agent must show what context it received: a confirmation card — "I can see: this sheet, your last 3 edits, the goal you described. I can't see: the email thread you mentioned." Users routinely overestimate what the agent knows; the card converts that misalignment into a visible, correctable list before work begins. Include an "add context" affordance right there.
Set the notification budget for background work. Long-running work earns exactly four notification moments: started (with ETA and where to watch), needs you (approval or missing input — actionable, the only interrupting class), finished (with outcome summary and one-tap review), failed (what stopped, what survived, one-tap resume). Progress spam ("Step 3 of 17 complete!") is banned — progress lives in the status tray, pulled not pushed. Spec channel per class: needs-you may interrupt; the rest badge quietly.
Design the parallel-work tray. One persistent surface listing every running, waiting and recently finished agent task: name, status, progress, time started, and a needs-you flag that sorts blocked items to the top. Each row opens the pb-46 supervision view. The tray answers the three background questions — what's running, what's stuck on me, what finished while I was away — in one glance. Prototype it in Figma with realistic concurrency: three running tasks, one blocked, two finished, and check the blocked one is unmissable.
Handoff briefs concentrate the most sensitive slice of a conversation into one artifact that moves between systems and people — scope who can see them, scrub what the receiving role doesn't need, and keep transcript excerpts out of tools your org hasn't approved.
A good handoff is a briefing, not a baton drop — escalate on observable signals, transfer context so nobody repeats themselves in either direction, and spend interruptions only when the work genuinely needs its human.