A warm transfer is a call handoff where the first agent introduces the caller to the next person before connecting them. “Hi Dana, I have Sam on the line, his card was charged twice for order 4471, and I’ve already verified his identity.” Then the first agent drops off. In a cold transfer, the call goes straight to the next person or queue with no introduction, and Sam explains everything again.
That’s the whole difference: whether the person who picks up already knows why the caller is there. This guide covers how each transfer works on a phone system, when each one is the right call, a warm transfer script you can use, and what changes when the first agent is an AI voice agent. It’s written for contact center leads and the engineers who build their call flows.
Warm transfer vs cold transfer
| Warm transfer | Cold transfer | |
|---|---|---|
| Other names | Attended, announced, consultative | Blind, unannounced, direct |
| What the caller hears | Hold, then an introduction | Ringing, then a new voice |
| What the receiving person knows | The reason for the call, from the first agent | Whatever their screen shows, often nothing |
| First agent’s time | The consult call plus the introduction, often a minute or more | A few seconds |
| Risk | The caller waits on hold while agents talk | The caller repeats everything, or lands in the wrong queue |
| Best for | Escalations, complaints, sales handoffs, complex cases | Simple routing: billing, store hours, a known department |
There’s a third option worth knowing: a conference transfer, where the first agent brings the next person onto the call with the caller and makes the introduction live, then hangs up. Some teams call this a warm transfer too. The caller hears the handoff, which builds trust, but it takes the most agent time of the three.
How each transfer works on a phone system
A cold transfer is one instruction to the phone system: send this call to that destination. On a SIP-based system, the agent’s side sends a SIP REFER request that tells the carrier or PBX to connect the caller somewhere else, and the first agent’s leg ends. If the destination doesn’t answer, what happens next depends on the destination’s own rules: voicemail, a queue, or a dropped call.
A warm transfer is three steps:
- The first agent puts the caller on hold.
- The first agent opens a second call, the consult call, to the next person and briefs them.
- The first agent completes the transfer. The phone system joins the caller to the second call and drops the first agent.
On SIP systems, step 3 is a REFER that carries a Replaces header, which tells the system to swap the consult call for the caller’s call. RFC 5589 walks through both the blind and attended versions. You won’t need the RFCs to run a contact center, but they help when a transfer works in testing and fails on a different carrier.
If the next person doesn’t pick up the consult call, the first agent goes back to the caller and offers another option. That fallback is the hidden advantage of a warm transfer: nobody gets sent into silence.
When to use a warm transfer
Use a warm transfer when repeating the details would make the caller angry, or when the next person can’t act without them:
- Escalations and complaints. A caller who already explained the problem once doesn’t want to do it again for a supervisor.
- Sales handoffs. A qualified lead handed to a closer should hear “I’ve told Priya about your fleet of 40 vans,” not “please hold.”
- Verified callers. If identity checks already happened, say so, so the next agent doesn’t repeat them.
- Rare specialists. If the destination is one person, confirm they’re available before you send the caller.
Use a cold transfer when the destination is predictable and the context doesn’t matter much: a billing line, a store, a department that handles one thing. It’s also the right choice when the receiving team’s software already shows the caller’s details, because then the system does the introduction.
A warm transfer script
Keep the briefing short. The receiving person needs four things: who is calling, what they want, what you’ve already done, and what’s left.
To the caller, before the hold:
“Our billing team can refund that directly. I’m going to bring in Dana from billing and explain what’s happened so you don’t have to repeat it. You’ll be on a short hold, under a minute. Is that OK?”
To the receiving agent, on the consult call:
“Hi Dana, I have Sam Ortiz on the line. His card was charged twice for order 4471, $86 each. I’ve verified his identity and confirmed the duplicate charge. He wants the second charge refunded. Can you take him?”
Back to the caller:
“Sam, I have Dana from billing on the line. She has the details. Dana, go ahead.”
If Dana can’t take the call, go back to Sam with a time for a callback rather than sending him to a general queue.
When the first agent is an AI voice agent
Voice agents handle a growing share of first contact, so the most common transfer in many call centers is now AI to human. The reasoning behind a warm transfer still holds, but the mechanics shift.
A human doing a warm transfer spends most of the consult call passing context. A voice agent already has the full conversation as text, so it can send the context as data and skip the consult call. That gives you the main benefit of a warm transfer, an informed human, without the hold time. It works only if the human actually sees the context, so put it where they look: the ticket, the CRM record, or the agent desktop’s screen pop.
A good AI-to-human handoff does four things:
- Tells the caller what’s happening. “I’m connecting you with our billing team now. I’ve sent them a summary, so you won’t need to start over.”
- Writes the summary first. The reason for the call, what’s already verified, and what the caller still needs. The summary should go out before the transfer, not after.
- Routes by reason. Billing questions go to billing, an angry caller goes to a supervisor queue. A transfer to the wrong place wastes more time than no transfer at all.
- Has a fallback. If the transfer fails or the queue is closed, the agent stays on the line and offers a callback.
Transfers are also where callers give up. 2X Solutions, which runs around 3 million AI calls a month, cut hang-ups before transfer from 3.4% to under 1% after switching to Cartesia, which also brought its voice latency from 500–900 milliseconds to under 100. A caller who has to wait through slow responses before the handoff often hangs up before reaching a person.
How to set up transfers on Cartesia Managed Agents
On Cartesia Managed Agents, transfers use the transfer_to_number system tool. The transfer itself is a cold transfer over SIP REFER, and you make the handoff warm by sending the context ahead of it.
- Add transfer rules. In the Playground, open Tools and enable Transfer call. Each rule has a destination (a phone number in E.164 format, a SIP URI, or a dynamic variable such as
{{transfer_number}}) and a condition that tells the model when to use it, such as “The caller has a billing or payment question.” - Make the agent speak first. Set
pre_tool_speechtoforceon the transfer tool, so the agent always tells the caller what’s about to happen instead of going quiet and ringing. - Send the summary with a webhook tool. Create a webhook tool that posts the call summary to your ticketing system or CRM. In the agent’s prompt, tell it to call that tool before it transfers.
- Route per caller if you need to. A dynamic variable can set the destination for each call, for example a customer’s assigned account manager, filled in from your CRM at the start of the call.
- Test the failure path. Transfers need a Twilio or SIP-trunked phone call, and SIP URI destinations need a SIP trunk. Your carrier has to accept REFER for the destination type. On a SIP trunk, if the carrier rejects a transfer, Cartesia keeps the original call connected, so tell the agent in the prompt what to say if that happens.
{
"config": {
"system_tools": {
"transfer_to_number": {
"pre_tool_speech": "force",
"transfers": [
{
"destination": { "type": "phone", "phone_number": "+14155550100" },
"condition": "The caller has a billing or payment question."
},
{
"destination": {
"type": "phone",
"phone_number": "{{account_manager_number}}"
},
"condition": "The caller asks for their account manager."
}
]
}
}
}
}
Then call the number from a real phone, ask for a person, and check what the human sees when they pick up. If their screen is empty, the transfer is cold no matter what the config says.
Transfer mistakes that cost you callers
| Mistake | What the caller experiences | Fix |
|---|---|---|
| Transferring without warning | Silence, then ringing | Say where the call is going and why, every time |
| No context reaches the human | Repeating the whole story | Write the summary where the receiving agent looks |
| Transferring to a closed queue | Voicemail or a dropped call | Check hours or availability before the transfer |
| No fallback on failure | A dead line | Stay on the call and offer a callback |
| Long warm consult calls | Several minutes on hold | Keep the briefing to who, what, done, and next |
| Transferring too early | A human handling something the agent could have solved | Track transfer rate by reason and fix the top ones |
Measure transfers like any other part of the call: the share of calls that transfer, hang-ups before the transfer connects, and how often the receiving agent has to ask the caller to repeat something. That last one is the most direct measure of whether your transfers are actually warm.
To try it, create an agent in the Cartesia playground, add a transfer rule, and call it. The AI phone agent page covers phone numbers, outbound calling, and transfers.