Craft

When and How a Voice Agent Should Transfer to a Human

Aneeq Iftikhar
Aneeq Iftikhar · Senior Software Engineer, DeskCaller
· 25 min read
A blue call waveform splitting into two paths, one to a person icon and one to a message icon, on a dark background

Most of a voice agent's value is in the calls it handles alone. But the calls it hands off badly are the ones that lose you customers: the angry caller stuck in a loop, the hot lead dumped to a ringing line nobody answers, the emergency that got a cheerful "let me put you through" and then silence. A transfer is not the agent giving up. It is a designed moment, and it is where most AI phone setups quietly fall apart.

This is the part almost every guide skips or hand-waves. You will find plenty of pages defining "warm transfer" and telling you to "be seamless". Very few give you the actual rules to paste in, the exact line to say while the human's phone rings, the list of callers you always put straight through, or what happens when the human does not pick up. This guide does. Everything below is built to reuse: copy-paste escalation rules, a priority list, spam screening, a whisper template, a line library, a fallback ladder, a failure-mode table, and a field-name map across the major platforms.

Key takeaways

  • A good handoff is screened, briefed, and narrated. The agent should decide who deserves a human, tell that human why before connecting, and never leave the caller in silence.
  • The most valuable rule most setups are missing is the opposite of a trigger: a priority list of callers the agent always puts straight through, no questions asked.
  • Screen before you ring a person. Spam and time-wasters should never reach a human's phone, and the agent is your filter.
  • Warm transfer physically cannot be a blind SIP REFER. If you want to brief the human first, you must hold the caller and dial out, that is a different mechanism.
  • The transfer that is not answered is the one that costs you the customer. The take-a-message fallback is not an edge case, it is the common path, because the human is often busy or out.
  • Some calls must not be handled by AI at all. For UK legal, medical, and financial advice the rule is refuse and route, not "try to help".

What a botched transfer looks like, and the fixes

Start with the failure, because it makes every rule below concrete. This is an illustrative example, not a recording, but every mistake in it is one I have seen in real logs.

Caller: There's water coming through my kitchen ceiling, I need someone now. Agent: No problem, let me transfer you. (The agent blind-transfers to the office line. It rings six times. Nobody is in. The call drops.) Caller: (gone, now calling your competitor)

Four things went wrong in fifteen seconds: the agent did not recognise an emergency, it transferred blind with no briefing, it sent the call to a line that was not answered, and it had no fallback when that happened. Here is the same call, designed:

Caller: There's water coming through my kitchen ceiling, I need someone now. Agent: That sounds urgent, I'm going to get you to our on-call engineer straight away. One moment while I connect you, please stay on the line. (Agent dials the on-call mobile, caller on hold audio. Engineer answers.) Agent (whisper, only the engineer hears): Emergency, active water leak through a kitchen ceiling, caller is Sam on 07700 900123, wants someone now. Connecting you. (Agent bridges the caller in and drops off.)

And when the on-call mobile does not answer:

Agent: I can't reach the engineer this second, so I don't want to keep you waiting. I've logged this as an emergency water leak for Sam on 07700 900123, and I'm sending it to the on-call team right now so they call you straight back. If it's getting worse, turn off your stopcock in the meantime.

Same caller, three different outcomes. The rest of this guide is how you get the second and third, reliably, on every call.

What are the three ways to transfer a call?

There are three transfer patterns, and the difference between them is telephony, not branding. Getting this straight tells you which one you can actually use for a given job.

Cold transfer (also called blind). The agent hands the call off and drops immediately, with no briefing. The caller starts again with whoever picks up. Under the hood this is usually a SIP REFER: a signalling message that tells the phone network "move this call to that number", after which your agent's leg disappears. It is the cheapest option because nothing is held open on your side, and it often preserves the caller's own number to the person receiving it. Use it only where context genuinely does not matter, pure routing like "press nothing, I'll put you through to the right branch".

Warm transfer (also called attended). The agent stays on the line, puts the caller on hold, dials the human, briefs them privately, then connects the two and drops off. This cannot be a REFER, because a REFER ends your involvement instantly and there is no way to whisper to anyone. It has to be a dial-out and bridge: the agent holds two calls at once and merges them. This is the gold standard for anything with context, a named caller, a complaint, a qualified lead.

Conference (three-way). The human joins while the agent stays on, so the agent can keep answering questions or looking things up during the conversation. Use it when the agent is the one holding the data the human needs mid-call.

The practical rule: if the human should know anything before they say hello, you need warm or conference, which means dial-and-bridge, not a blind REFER. Deciding this once, per route, saves you a class of "why does the caller keep repeating themselves" bugs.

When should the agent hand off? The escalation triggers

Escalation is not the agent failing. A transfer is only a failure if it is blind, late, unnecessary, or context-free. Handing off at the right moment is the agent doing its job well. The trigger list below is the convergent standard across the field, and the one principle worth internalising is escalate on the second miss, not the fifth, a caller should never have to fight your agent to reach a person.

Here is the rule block to paste into your system prompt and tune to your business:

TRANSFER TO A HUMAN IMMEDIATELY IF ANY OF THESE ARE TRUE:
- The caller asks for a person, agent, manager, or "someone real". Honour
  this on the first ask, with no friction and no third question.
- You have failed to understand or resolve the same request twice.
- Your confidence in what the caller wants is low, or you would be guessing.
- The caller is angry, upset, distressed, or vulnerable.
- The request involves a payment dispute, an account-security issue, or a
  complaint that needs a decision.
- The request needs legal, medical, or financial advice (see the refusal
  rules), or is otherwise outside your defined scope.

Before you transfer, tell the caller you are connecting them and why.
Never argue, never re-ask a third time, and never say "I can't help
with that" and stop. If you cannot transfer, take a message.

Two craft notes. First, run these triggers in parallel, not as a last resort after everything else fails, an angry caller and a low-confidence turn are both immediate, not "if all else fails". Second, pair every trigger with the take-a-message fallback later in this guide, because "transfer" and "the human answered" are not the same event.

Your priority list: the callers you always put straight through

Triggers decide when a call has gone beyond the agent. A priority list is the opposite and just as important: the callers you want a human to take regardless, before the agent tries to handle anything. Almost no guide covers this, and for a small business it is often the single most valuable routing rule you own.

A priority list is an allowlist matched on the caller's number (or on who they say they are, verified against your records). When it matches, the agent skips its normal flow and goes straight to a warm transfer.

PRIORITY CALLERS (put straight through, do not screen or deflect):
- Numbers on the VIP list (key clients, referral partners, the owner's
  contacts). Match on caller ID.
- Existing customers with an open job or active order. Match against the
  CRM before answering.
- Anyone who states an emergency keyword for this business (for a plumber:
  "leak", "flood", "no heat", "gas"; adapt per trade).

For a priority caller: greet them, confirm you're connecting them to the
right person, and warm-transfer with a one-line briefing. Do not run the
usual qualifying questions first.

The mechanics are simple: a caller-ID lookup against a short allowlist, and optionally a CRM check for "is this an existing customer with something open". Both happen in the first second of the call, before the agent commits to its normal script. The emergency-keyword branch is your safety net for priority callers who are not on any list yet, a first-time caller with a genuine emergency should never be qualified like a cold lead.

Screening the other end: spam, robocalls, and time-wasters

If the priority list is about who to let in fast, screening is about who to keep out. Your human's phone is the scarce resource. Transferring spam, robocalls, and obvious time-wasters to a person is its own failure, and the agent is exactly the filter that stops it.

Screen before you ring a human, never after. Once you have transferred, the interruption has already happened.

DO NOT TRANSFER TO A HUMAN. Handle or end the call yourself, if:
- The line is silent or plays a recorded message when you answer (likely
  an auto-dialler or robocall). Give one prompt, then end the call.
- The caller is selling to us: SEO, ads, "your business listing", lead
  lists, insurance, energy switching. Politely decline and end.
- The caller will not state a name or a reason after being asked twice.
- The request is clearly out of scope for this business and not a customer
  matter (wrong number, unrelated service).

For anything genuine you can't handle, take a message rather than
transferring. Only real, relevant callers reach a person.

Two signals do most of the work here. The first is answering-machine and silence detection on inbound: an auto-dialler often opens with dead air or a beep before a human joins, and catching that lets you avoid ringing a person for a robocall. The second is a simple "who's calling and what's it about" gate for unknown numbers, genuine callers answer it in a sentence; sales calls and time-wasters usually will not, or will out themselves immediately. The goal is not to be rude to anyone, it is to make sure the only calls that light up a human's phone are the ones worth interrupting them for.

The whisper: briefing the human before you connect

The whole point of a warm transfer is that the human starts already knowing who they are talking to and why. That briefing is called the whisper: a short message only the human hears, played before the caller is bridged in. Get this right and the caller never repeats themselves, which is the single most-cited thing people expect from a good transfer.

Pass a concise summary, not the raw transcript. A wall of text read aloud is useless to a human with a live caller waiting. Here is the template:

WHISPER TO THE HUMAN (they hear this; the caller does not):
[Caller name] on [number]. [One line: what they want].
Already done: [what you verified or collected].
Sentiment: [calm / frustrated / urgent].
They need: [the one thing to resolve].

Filled in, it sounds like this, in about four seconds:

Sam Rowe on 07700 900123. Wants to reschedule Thursday's boiler service.
Already done: confirmed the existing booking and the address.
Sentiment: calm, just needs a new slot.
They need: the earliest morning appointment next week.

There is a second, related choice worth naming, because platforms treat them as different features:

  • Whisper (private briefing): only the human hears it. Used to brief them so the caller does not repeat themselves.
  • Announce (public handover): both hear it. "I'm connecting you to Priya in accounts now." Used for transparency and to make the moment feel deliberate.

Use both. Announce to the caller so they know what is happening, whisper to the human so they are ready. If your telephony can only pass text rather than speak a briefing, the same summary can ride along as a screen-pop on the human's system instead, the principle is identical: no cold starts.

What to say to the caller: a line library

On a phone call, silence reads as a dropped call. The caller cannot see a spinner, so the transfer has to be narrated out loud, and the dead air while a human's phone rings has to be filled. Here is a reusable set of lines for each moment. Adapt the wording to your brand voice, "colleague" tends to sound more natural than "agent" in the UK.

  • Standard handoff: "Let me put you through to a colleague who can help with that, one moment."
  • With a reason (better): "That's a billing question, so I'm bringing in someone from accounts who can sort it properly, please hold for a moment."
  • Priority caller: "Of course, I'll get you straight through to the team now."
  • While it's ringing (fill the gap): "Just connecting you now, thanks for holding."
  • Human is on another call: "They're just finishing another call. I can hold for a moment, or take a message and have them call you straight back, which would you prefer?"
  • Cold transfer warning (if you must blind-transfer): "I'm putting you through now, you may need to give them a couple of details again."
  • No one available: "I can't reach them this second, but I don't want to keep you waiting. Let me take your details and I'll make sure they call you back."

The pattern under all of these is: acknowledge, say who and why, then bridge the silence. Never a silent transfer, and never more than a couple of seconds of dead air without a word.

When no one answers: the take-a-message fallback

Here is the truth most vendor pages avoid: in real deployments only a small share of calls, often in the low single-digit percentages, actually get transferred to a live person and answered. The human is busy, out, or after-hours. That means the message-and-callback path is not a rare edge case, it is the common one, and it deserves as much design as the transfer itself.

Design it as a ladder:

  1. During hours, human available: warm-transfer, agent waits as backup until the human has the call.
  2. No answer or busy: hand the call back to the agent, which apologises smoothly and offers to take a message or book a callback. Set the ring timeout explicitly (around 20 to 30 seconds is usually right) so the caller is not left listening to endless ringing.
  3. After hours or no human at all: the agent captures everything end-to-end and queues it for follow-up.

The message it takes should be structured data, not a sticky note. Capture, in under twenty seconds:

TAKE-A-MESSAGE (capture and log as a task, then confirm back to the caller):
- Name
- Callback number (read it back digit by digit)
- Reason for calling (one line)
- Urgency (routine / soon / emergency)
- Anything already collected this call (account, address, booking ref)

Then close the loop so the caller knows they were not lost, and so you actually act on it. A message should feel invisible to the caller and be impossible to lose for you. An immediate text works well:

Hi {{first_name}}, sorry we missed you just now. I've passed your message
about {{reason}} to the team and they'll call you back on {{number}}.

Log it wherever you already work, a CRM task, an email, an SMS, or a leads sheet. The mechanism matters less than the discipline: every unanswered transfer produces a structured record and a caller who has been told what happens next.

Don't hand a caller to voicemail: answering-machine detection

One failure deserves its own section because it is common and almost nobody ties it to the handoff flow: bridging a live caller into a voicemail box. The human did not answer, their voicemail did, and now your caller is talking to a recorded greeting, or worse, two voicemails are connected to each other.

The fix is answering-machine detection (AMD) used as a gate on the transfer. Before you bridge the caller in, confirm a human actually answered the other leg. If the other end is a voicemail or an automated system, do not connect the caller, drop straight into the take-a-message fallback instead.

  • Detect human versus machine on the answered leg, and only bridge the caller when a human (or an uncertain-but-live) answer is confirmed.
  • Know the trade-off: synchronous detection adds a short delay (often a few seconds) before connecting, because it listens to the first moment of the answer. Running it asynchronously connects faster but decides a beat later. For warm transfers the small delay is usually worth it.
  • If it is a voicemail, leave a clean one or don't. If you do choose to leave a message, wait for the end of the greeting beep so you are not talking over it. Most of the time, routing back to your own take-a-message flow is better than leaving a voicemail the caller never sees.

AMD is the difference between "I couldn't reach them, let me take a message" and a caller stranded in someone's mailbox. It is worth wiring in from day one.

Business hours, after hours, and emergencies

Routing is a function of time as much as intent. The same caller should be handled differently at 2pm on a Tuesday and 2am on a bank holiday. Define the windows explicitly:

  • In hours: warm-transfer to the right person or department; fall back to a message if unanswered.
  • After hours, not urgent: skip the transfer entirely, take a message or book a callback for the morning. Do not ring a human's mobile at midnight for a routine enquiry.
  • After hours, genuine emergency: route to the on-call mobile or emergency line, using the priority and emergency-keyword rules above. This is the one case where you do wake someone up.

For a UK business, build the calendar in properly: normal hours, evenings, weekends, and bank holidays, each with its own routing. A caller who reaches you on Boxing Day should get the after-hours behaviour, not a transfer to an empty office. Route different intents to different destinations, sales to one number, support to another, emergencies to the owner's mobile, and let the agent pick based on what the caller needs and what time it is.

Escalation triggers by industry

The general triggers apply everywhere, but each industry has its own "always hand this off" and "never handle this" lines. These are concrete and worth encoding directly.

Industry Hand off to a human when Take a message / book when
Restaurants Complaints, large-party or private-event and catering enquiries, press, refund or comp approvals, anything needing a manager's judgment. See the restaurant prompt playbook. Standard reservations and questions the agent can answer or confirm from your data.
Home services (plumbing, HVAC, electrical) Genuine emergencies (burst pipe, gas smell, no heat for a vulnerable person) go to on-call immediately; large or complex quotes go to a person. For a gas smell, tell the caller to leave the property and call the gas emergency line before anything else. Routine repairs and non-urgent jobs: triage, then book or pass to the on-call tech.
Dental and medical Any clinical question, a patient in pain, or a safeguarding or urgent-symptom flag goes to a clinician. The agent must never give clinical advice. Appointment booking, reminders, and admin the agent can confirm.
Legal Anything that is legal advice, a possible conflict of interest, or a distressed caller goes to a solicitor. Intake details for a solicitor to review, and consultation bookings.
Real estate Hot, ready-to-transact buyers and live offers go straight to the agent, speed wins deals here. General enquiries and viewing requests: qualify, then book.

The cross-industry rule: put the high-stakes and the human-judgment calls through to a person quickly, and take a clean message for everything else rather than forcing a transfer that will not be answered.

When the agent must not handle it at all

Some calls should never be AI-handled, full stop, and saying so plainly is both the honest position and, in the UK, the legally correct one. Regulators look at the activity, not the messenger: an AI that strays into regulated territory does not get a pass for being software.

  • Legal advice. An AI can take intake and book a consultation. It must not tell a caller whether they have a case or what they should do. In the UK, professional responsibility cannot be delegated to a tool, and conflict checks and advice stay human.
  • Medical and clinical. Booking and signposting are fine. Diagnosis, triage decisions, and treatment advice are for a clinician. UK clinical governance expects a named clinical lead and audit behind any automated triage, not a chatbot improvising.
  • Financial advice. Generic information is one thing; the moment a response becomes personalised guidance it can cross into regulated advice under UK rules. The agent qualifies and books, it does not advise.

The clean framing for your prompt: the agent qualifies, books, signposts, and escalates. It never gives legal, medical, or financial advice. This is the same "refuse and route" discipline covered in the guardrails guide, applied to the transfer decision.

One more UK-specific point that sits next to the whisper: if you record calls or pass a transcript to the human, handle that under UK GDPR. Tell callers the call may be recorded, and keep the summary you pass to the minimum needed to help them.

The failure-mode matrix

Handoffs break in a small number of predictable ways. Design for each one, and name the detection signal and the recovery. This table is the checklist to build against.

Failure What the caller experiences Detection signal Recovery
No answer Endless ringing, then a drop Ring timeout (set it, around 20 to 30s) Back to the agent, take a message, fire the callback
Busy line Engaged tone or straight to a beep Busy signal on the leg Take a message, offer a callback, do not retry endlessly
Voicemail Talking to a recorded greeting Answering-machine detection Do not bridge; take a message instead
Double transfer / loop Passed around, repeating themselves Escalation attempt counter Cap attempts; once returned, don't re-send to the same failed number
Dropped call Silence, then nothing Line disconnect event Capture the number early so you can call back even if it drops
Dead air on connect Unsettling silence while ringing Time since last spoken word Hold audio plus a spoken "just connecting you now"

The one that saves the most customers is the first row combined with the last row of the priority section: get a callback number before you transfer, so a dropped or unanswered handoff can always be recovered.

Field-name cheat sheet across the platforms

If you build on a voice platform, the concepts above map to specific features and tool calls. Names and exact parameters change as these products evolve, so treat this as a map to what to look for in each vendor's current docs, not as copy-paste config. Verify the precise field before you ship.

Concept Vapi Retell ElevenLabs Telnyx LiveKit Twilio
Trigger a transfer transferCall tool transfer_call tool transfer_to_number transfer tools transfer functions <Dial> / REST
Cold / blind blind-transfer mode cold transfer blind / SIP REFER SIP REFER transfer_sip_participant <Dial> to number
Warm / attended warm-transfer modes warm transfer conference type dial + bridge consultation room + move <Conference>
Whisper vs announce summary plan private vs public handoff agent vs client message private vs conferenced briefing in consult room coach / announce
Confirm a human answered (via mode) human-detection option check docs AMD answering-machine detection AMD (AnsweredBy)
Route by reason multiple destinations dynamic number multiple destinations routing routing logic your app logic

The value of this table is not any single cell, it is that "warm transfer" means the same thing everywhere and every platform has a name for it. Find your platform's column, and the sections above tell you what each control is for.

How to test your transfer flow before go-live

Do not discover your handoff bugs on real callers. A transfer flow is testable, so test it deliberately and re-test on every change, the same discipline you would apply to anything that touches a live customer.

  • Script the branches. One test call per path: priority caller, angry caller, spam call, human answers, human does not answer, after-hours, emergency. Confirm each does the right thing.
  • Test the failure modes. Deliberately let the transfer ring out, send it to a voicemail, and hit a busy line. The take-a-message fallback should fire cleanly every time.
  • Listen for dead air. Time the silence between "let me connect you" and the human answering. If it is more than a couple of seconds with no audio, add hold audio or a spoken line.
  • Check the whisper. Have the human confirm they actually heard the briefing and the caller did not. A whisper the caller overhears, or one the human misses, is a broken transfer.
  • Re-run on every change. A new number, a prompt edit, or a platform update can quietly break routing. Gate go-live on the whole script passing.

Frequently asked questions

Can an AI voice agent transfer a call to a human? Yes. A well-built agent can warm-transfer (briefing the person first so the caller does not repeat themselves), cold-transfer (a straight handoff), or conference in a third party. It can route to different numbers or departments based on what the caller needs, and it can ring a mobile as easily as a desk phone.

What is the difference between a warm and a cold transfer? A cold transfer hands the call off and drops instantly, so the caller starts over with whoever answers. A warm transfer keeps the agent on the line to brief the human privately before connecting the caller, so the person picks up already knowing who they are talking to and why. Warm is better for anything with context; cold is fine for simple routing.

When should the AI hand off instead of handling the call itself? When the caller asks for a person, when it has failed twice or is unsure, when the caller is upset or vulnerable, when the request involves a dispute or regulated advice, or when the caller is on your priority list. Everything else it can handle or take a message for.

What happens if no one answers the transfer? With a proper setup, the call comes back to the agent, which takes a structured message (name, number, reason, urgency) and books a callback, then usually texts you the details. The caller is never left in endless ringing or dumped to silence. This is the common path, not the exception, so it is worth designing carefully.

Can it take a message instead of transferring? Yes, and it should, whenever a human is not available or the matter is not urgent. A good agent captures the message as structured data you can act on, confirms it back to the caller, and logs it to your CRM, email, or leads sheet.

Will the caller know they are being transferred? They should. Announce the handoff out loud ("I'm connecting you to a colleague now") and fill the silence while the human's phone rings. On a phone call, an unexplained silence feels like a dropped call, so the transfer is always narrated.


Written by Aneeq Iftikhar, Senior Software Engineer at DeskCaller, who builds and tunes the AI phone agents behind the product. For the guardrails that keep the agent accurate before it ever transfers, see guardrails that actually work; for a vertical example, see the restaurant prompt playbook.