In one sentence: the handoff is not a feature you turn on at the end, it is routing infrastructure that has to exist before the agent does, and if your org has no working queue, availability model and skills setup for the channel the agent runs on, the agent has nowhere to hand off to. Most handoff problems are omni-channel problems wearing a different hat.
When to escalate
Four triggers, and they should all be present from day one.
The user asks. In any phrasing. “Human”, “agent”, “person”, “representative”, “this is useless”, an escalating tone, a swear word. Never make the user guess a keyword, and never argue. One attempt to help before transferring is defensible. Two is obstruction.
The agent has failed twice on the same intent. Count it. Without a counter the conversation loops until the user leaves, and a user who leaves counts as a deflection on your dashboard, which is how a broken agent looks healthy in reporting.
The topic is out of scope. Complaints, cancellations, anything with a financial or legal consequence, anything about a vulnerable customer. These should route on the first turn without an attempt.
The action failed. If the underlying flow or Apex threw, the agent should say so plainly and transfer, not apologise in general terms and offer to try something else.
What has to transfer with the customer
The test is simple. The human picks up and does not ask the customer to start again. That needs four things attached to the routed work item:
- The full transcript, visible in the console without hunting for it. Not a summary alone. The human needs the customer’s own words.
- A short summary alongside it, because nobody reads twenty turns while a customer waits. Two sentences: what they want, what has been tried.
- Anything the agent collected or verified. Order number, case, authentication state. If the agent verified identity and the human re-verifies, you have doubled the annoying part of the call.
- The reason for escalation. “User requested” and “agent could not resolve” are different situations and the human should see which.
Authentication state is the one teams miss. Decide explicitly whether a verification done by the agent is trusted by the human channel, and check what your compliance people think before assuming yes.
The routing that has to exist
An agent hands a conversation to a queue. That means the ordinary service architecture must already be in place for the channel: a queue with members, an availability and capacity model, routing configuration, and a defined behaviour for out of hours. None of this is created by the agent, and building the agent first is the common sequencing mistake.
Specific things to settle before launch:
- Nobody available. What happens at 2am, or when every agent is at capacity? A transfer into an empty queue is worse than an agent that told the truth about opening hours.
- Which queue. Routing everything to one general queue undoes any benefit from the agent having identified the topic. If the agent knows it is a billing question, route it to billing.
- Wait time. Tell the customer the actual position or wait estimate if the channel supports it. Silence after a transfer reads as the conversation being dropped.
- The return path. If the human resolves it, does the conversation end cleanly, and is the case linked to the session? Check how your channel records this rather than assuming.
Routing and availability mechanics differ by channel and change between releases, so confirm them in the documentation for the channel you are deploying on.
Measure the handoff as well as the deflection
Three numbers tell you whether the handoff works. Escalation rate, which you want moderate rather than minimal. Time from escalation trigger to a human speaking. And the proportion of escalated conversations where the human’s first message asks the customer to repeat something, which you can only get by reading transcripts, and which is the number that actually reflects customer experience.
A rising escalation rate is not automatically bad. It often means the agent has got better at recognising what it cannot do.
Frequently asked
Should the agent say it is transferring? Yes, and say why in one short sentence. An unannounced change of voice mid-conversation confuses people.
Can the agent stay in the conversation after handoff? Some configurations let it assist the human rather than the customer. Treat that as a separate feature with its own testing, not a free extra.
Does escalation work the same on voice? No. Transfer mechanics, hold behaviour and transcript capture all differ. Design it separately.