A caller named Ravi has been on the line for four minutes. His flight was cancelled, the airline's voice agent has rebooked him once, and now he wants something the agent cannot grant: a hotel voucher for a ten-hour layover.
The agent says, "Let me connect you with a team member." Hold music. A human picks up and says, "Hi, how can I help you today?"
Ravi sighs. He starts from the beginning.
This is imaginary, but you have lived it. And it is the single most common way a good AI voice agent turns into a bad customer experience. The AI did its part. The handoff threw the work away.
When to escalate
Handoff design starts with the question of when. Escalating too late traps people in a loop. Escalating too early makes the agent pointless. A useful agent has explicit triggers, written down and tested, instead of a vague instruction to "hand off when appropriate."
Common triggers:
The best systems treat escalation as a success, not a failure. An agent that hands off at the right moment has done its job: it resolved what it could and routed the rest.
Cold transfer vs. warm transfer
There are two broad ways to pass a call.
Cold transfer. The agent says goodbye and drops the call into a queue. The human answers with no idea who this is or what happened. It is simple to build and simple to hate.
Warm transfer. The agent stays involved just long enough to brief the human. The human knows the caller's name, the problem, and what has been tried before saying hello. The caller either hears the brief or is simply greeted by someone who already knows.
| Cold transfer | Warm transfer | |
|---|---|---|
| Build effort | Low | Higher |
| Caller experience | Repeats everything | Continues the conversation |
| Handle time for the human | Longer (rediscovery) | Shorter |
| Risk | Frustration, drop-offs | Awkward gaps if poorly timed |
A warm transfer takes more engineering, and it is almost always worth it. The caller's patience is the scarcest resource in the call.
The context packet
What makes a warm transfer warm is the information that travels with it. Think of it as a short briefing the human can read in a few seconds:
// illustrative pseudocode
handoff_packet:
caller: { name: "Ravi Menon", verified: true, number: "+1..." }
reason: "Needs hotel voucher for 10-hour layover"
already_done: ["Rebooked on flight 2", "Confirmed new seat"]
blocked_on: "Voucher exceeds agent authority"
sentiment: "frustrated but cooperative"
promised: "A team member will arrange the voucher"
transcript: <link to full call>A good packet has a few qualities:
The packet is the contract between the agent and the person taking over. If you write it well, the human can open with: "Hi Ravi, I understand you need a hotel voucher for your layover. Let me sort that out."
That one sentence is worth more than any amount of hold music.
Avoiding "please repeat yourself"
There are three common ways handoffs force repetition, and each has a fix.
1. The context never leaves the AI system. The agent has a transcript, the contact center has a separate system, and nobody connected them. Fix: send the packet as part of the transfer itself, to wherever the human actually works.
2. The human does not read it. A packet shown on a screen the human is not looking at is the same as no packet. Fix: put it where the human's eyes already are, and keep the top lines readable at a glance.
3. The caller is asked to re-verify. Security theater at the wrong moment. Fix: carry the verification result forward and let the human trust it, or define clearly when a second check is truly needed.
A helpful test: record a handoff and count how many questions the human asks that the agent already answered. The target is zero.
Handling the in-between moments
Handoffs fail in the seams, so design the seams.
That last point connects to a bigger idea. A call is rarely the whole story. If the human resolves the issue and a confirmation arrives by text later, the whole thing should feel like one continuous conversation, which is the session idea the ACES whitepaper builds around.
Tell people they are being handed off to a person
Honesty applies here too. If the caller is currently talking to an AI, the handoff is a good moment to be clear about it: "I'm an AI assistant, and I'm connecting you with a person on our team." No one should wonder whether the next voice is a human or a more convincing machine.
The takeaway
The handoff is where an AI agent's quality is revealed. A smart agent that dumps context on the floor feels dumb. A modest agent that hands a person a clean briefing feels like good service.
Decide your escalation triggers in advance. Prefer warm over cold. Build a short, honest context packet. And measure success by how few questions the human has to ask.
The goal is not to keep callers away from people. It is to make sure that when they do reach a person, the person already knows their name.