AI Agent Handoffs: How Humans and AI Should Transfer Tasks Between Each Other
How to design handoffs from human to AI, AI to human and AI to AI: what context, state, ownership, permissions and evidence must travel with the task.
Quick answer
An AI agent handoff transfers an in-progress task between a person and an agent, or between two agents. A good handoff moves more than the conversation: it carries the goal, current state, what was done and decided, evidence, open questions, who owns the task now and what the receiver is permitted to do.
Design three directions separately. Human → AI is delegation: scope and permissions matter most. AI → human is escalation: context and urgency matter most. AI → AI is orchestration: structured inputs, ownership and audit matter most.
Three directions, three design problems
| Direction | Typical moment | Main risk | What matters most |
|---|---|---|---|
| Human → AI | 'Handle the follow-ups for these 12 accounts' | Agent exceeds intent or permissions | Clear scope, limits, deadline, approval rules |
| AI → Human | Agent cannot resolve a complaint | Person must start over; customer repeats everything | Summary, evidence, state, urgency, suggested next step |
| AI → AI | Triage agent passes a case to a billing agent | Lost constraints; unclear ownership | Structured task, permissions, single owner, trace ID |
What a handoff must transfer
Context transfer means the receiver understands the situation: who the customer or requester is, what they want and why. State transfer means the receiver knows exactly where the task stands: which steps are complete, which are pending, which records were created. Ownership must move explicitly; a task with two owners has none. Task status tells everyone whether it is in progress, waiting or blocked. Permissions may change at the handoff: a human supervisor may approve what the agent could not, or a specialist agent may need different access. Conversation history should be available, but summarized; nobody should have to read 60 messages. Evidence (documents, tool results, screenshots) shows why decisions were made. Incomplete work must be labelled as such, so a half-done refund is not mistaken for a finished one. Escalation details say why the handoff happened and how urgent it is.
handoff:
task_id: case-88213
direction: ai_to_human
reason: refund above agent limit (EUR 420 > EUR 150)
urgency: normal # SLA: respond within 4 business hours
goal: customer wants refund for damaged sofa
status: waiting_for_approval
done:
- verified order #55120, delivered 3 days ago
- collected 4 photos of damage (attached)
- offered repair visit; customer declined
pending:
- approve full refund or partial + repair
evidence: [photos x4, delivery note, chat summary]
customer_expectation: told "a specialist will reply today"
new_owner: support-tier2 queue
permissions_needed: refunds.approve (up to EUR 1,000)
transcript: link (summary above; full log available)Human → AI: delegating well
Delegation fails when the agent's mandate is vague. The interface for handing work to an agent should capture the goal in the user's words, the scope (which accounts, which date range), the limits (spend, recipients, actions allowed), when to ask for approval and when the task should be considered done. Show the user a short plan before the agent starts on anything non-trivial, and make the task visible afterwards in a task list with status. For long-running delegated work, see background AI agent UX.
AI → Human: escalating without starting over
The most visible failure in AI support is the customer who explains their problem to a bot, gets transferred, and explains it again. Prevent it by generating a handoff record (as above) and showing it to the person receiving the task before they reply. Tell the customer honestly what happens next and when. Route by reason and urgency, not just to a general queue; AI customer support automation covers routing in support teams. In commerce protocols the same idea appears as a formal escalation state: the UCP checkout specification, for example, requires the merchant to return a continue_url when a checkout needs buyer input the agent cannot provide, so the buyer can finish on the merchant's site (UCP checkout).
- Escalate on policy limits, low confidence, repeated failure, user request or sensitive situations
- Generate a structured summary, not just a transcript link
- Attach evidence and the actions already taken
- Mark incomplete actions clearly (pending, reversed, not started)
- Set the new owner and an SLA; tell the user what to expect
- Let the human hand the task back to the agent with new instructions or approval
AI → AI: structured, owned and traceable
When one agent hands work to another, use a structured task message rather than free text: goal, inputs, constraints, permissions, expected output format and deadline. The receiving agent should run with its own scoped permissions, not inherit everything the sender had. Keep a single owner (usually the orchestrator) responsible for the overall task, and carry one trace ID through every hop so the audit trail is complete. See agent-to-agent communication and AI agent orchestration.
A practical handoff architecture
Treat handoffs as first-class objects in your system, not as side effects of a chat.
┌──────────── Task store ────────────┐
│ task_id · goal · status · owner │
│ state · evidence · permissions │
└───────▲───────────────▲────────────┘
│ read/write │ read/write
Human (UI) ──────┤ ├────── Agent A
task inbox, │ handoff │ (triage)
approve/edit │ record │ │ structured
│ │ ▼ task message
│ ├────── Agent B
│ │ (billing)
┌───────┴───────────────┴────────────┐
│ Router: reason + urgency → owner │
│ Notifications · SLA timers · audit │
└─────────────────────────────────────┘Measuring handoff quality
Useful signals: how often customers repeat information after a handoff, time from escalation to first human action, share of handoffs returned because context was missing, tasks that stall with no owner, and resolution rate after handoff. Review a sample of handoff records each week; they show exactly where the agent's scope or context is wrong.
Designing workflows where people and agents share tasks?
ZSpace Labs builds AI automation with task stores, escalation routing and review interfaces. See AI automation.
Conclusion
Handoffs are where human-AI systems succeed or frustrate people. Treat each one as a structured transfer of goal, state, evidence, ownership and permissions, design the three directions separately and make tasks visible in a shared store with a single owner. For when an agent should stop and ask instead of handing off, see AI action confirmation UX.
Common questions.
It is the transfer of an in-progress task between a person and an AI agent, or between two agents, together with the context, state, permissions and ownership needed for the receiver to continue without starting over.