Back to the catalogDoc · Tech & platforms

Warm transfer setup: hand a call to a human without losing the caller

Cold transfers make you look worse than no agent. How to build warm hand-off — live SIP transfer, whisper summaries, and async callbacks — with explicit triggers and a business-hours check.

Every voice agent eventually hits a call it shouldn't finish alone — an angry customer, a legal question, a caller who says the word "cancel." What happens in that moment is the difference between a demo that closes and a client who churns in month two. Most operators bolt escalation on at the end. Do it first, and do it as a warm transfer, not a cold dump to voicemail.

Cold transfer vs. warm transfer

A cold transfer hangs the caller onto a number and disappears. The human who picks up gets no context — they hear "uh, hi?" from a confused caller who now has to re-explain everything they just told the agent. It feels like being bounced around a call center, because it is.

A warm transfer carries context across the hand-off. The receiving human gets a summary — who's calling, why, what the agent already collected — before or as they take the call. The caller repeats nothing. Done right, the hand-off is invisible: the caller thinks they've been talking to one competent team the whole time.

Warm is the only kind worth shipping for a client-facing agent. Cold transfers make you look worse than having no agent at all.

The three ways to hand off

  1. Live phone transfer (SIP REFER / forward). The agent dials the human and bridges the call. Vapi, Retell, and Bland all support a transfer tool/action — you give it a destination number and, on the platforms that support it, a spoken or whispered summary to the agent before the caller is connected. This is the real-time option: use it when the caller needs a human now (emergency dispatch, a hot sales lead, a furious customer).

  2. Whisper / summary injection. Better platforms let you pass a context string that's read to the human ("Caller is Maria, existing patient, wants to reschedule Thursday's appointment, no availability found") before the bridge completes. If your platform supports it, always use it. If it doesn't, send the summary in parallel by SMS or Slack so the human reads it as they answer.

  3. Async hand-off (ticket / callback). When no human is available — after hours, everyone on calls — the agent captures the full context, files it as a ticket or a scheduled callback, and tells the caller exactly when they'll hear back. This isn't a failure mode; for most niches it's the majority of escalations. A clean async hand-off with a real callback promise beats a live transfer to a phone nobody answers.

Define the triggers before you build

Don't let "the agent decides" be the whole escalation logic. Write the explicit list of triggers into the prompt and, where you can, into tool logic:

  • Intent triggers — cancellation, complaint, legal/medical questions outside scope, billing disputes, "let me talk to a human."
  • Confidence triggers — the agent has asked the same clarifying question twice, or the knowledge base returned nothing. Two failed attempts is the standard threshold; escalate rather than let it guess.
  • Sentiment triggers — repeated frustration, raised voice, profanity. Hand off before the caller rage-quits.
  • Hard business rules — dollar amounts over a threshold, VIP accounts, anything the client says must always reach a person.

The hours problem

The single most common escalation bug: the agent offers to transfer to a human at 2 a.m. when nobody's there, rings out, and drops the caller. Build a business-hours check into the transfer path. Inside hours → live transfer. Outside hours → async hand-off with a callback window. Get the client's real coverage schedule (including lunch, holidays, and the one person who actually answers) during onboarding, not after the first bad call.

Test the hand-off like it's the product

In your pre-launch scenarios, run every escalation path end to end on a real phone: trigger fires, human's phone rings, summary arrives, caller repeats nothing. Test the failure case too — human doesn't answer, line's busy — and confirm the agent falls back to async gracefully instead of dead air. Warm transfer is where trust is won or lost, so it deserves as much test time as the happy path. Build it before you pitch the demo, and the demo sells itself.