Handoff as soon as the human picks up

The agent waits until the human dispatcher says “hello” before speaking.

The issue is that the call routes to a queue, so it can take a few rings before someone picks up. Once the dispatcher answers, the agent delivers the whisper information — but in the current flow, that experience is annoying for dispatchers.

How can we improve this?

Goal: preserve the whisper information for the dispatcher, but make the handoff cleaner, faster, and less disruptive.

Listen to this call, it’s all kinda messed up on transfer: call_567e05ca613a1b38616ba29e485

Hey @mendyezagui

Your issue has been shared with our team. As soon as we receive a response, we’ll get back to you with an update.

Thank you for your patience!

Hello @mendyezagui can you clarify what the annoying experience is for the dispatchers? Regards

Here’s what happens now.
Driver calls in. Authentication, explanation, transfer.
Transfer sends it to a number. This number rings (10-20 seconds), dispatcher picks up and unless they speak, the AI doesn’t say anything, finally, they say “Hi, this is xyz how can I help you” - protocols, and then they hear the message (10+ seconds and some annoyance).

Driver is waiting all this time. Dispatcher just wants to get on with the call. Know what’s going on and move on.

Hey @mendyezagui

After looking into call_567e05ca613a1b38616ba29e485, it looks like the delay is caused by Retell’s default behavior of waiting to confirm a human answered before playing the whisper. Since your dispatcher queue’s hold message is being classified as non-human, it’s triggering an 8-second wait, a “Hello, is anyone there?” prompt, and then another wait until the dispatcher speaks totaling around 19 seconds.

You may want to consider two quick config changes in the dashboard under Agent → Functions → transfer_call → Warm Transfer Settings:

  1. Set “Is there any internal queue or hold system before an agent answers?” to No (opt_out_human_detection: true), this would make the whisper play as soon as the dispatcher picks up.
  2. Uncheck “Three-Way Ring Tone” (enable_bridge_audio_cue: false), this would remove the bridging tone and the 2-second pause before the driver connects. Your existing whisper content wouldn’t need any changes.

If you prefer to configure via API, you could use:
{ “type”: “warm_transfer”, “opt_out_human_detection”: true, “enable_bridge_audio_cue”: false }
Just remember to publish the agent after making any edits.

For more details, you can refer to the relevant docs:
Warm transfer config: https://docs.retellai.com/build/single-multi-prompt/transfer-call
Call Transfer node (Conversation Flow): https://docs.retellai.com/build/conversation-flow/call-transfer-node

Thank You

  1. Set “Is there any internal queue or hold system before an agent answers?” to No (opt_out_human_detection: true), this would make the whisper play as soon as the dispatcher picks up.
    Does this wait until the dispatcher answers? Or as soon as the call is transfered to the queue?

Hey @mendyezagui

For your usecase, I would recommend sticking with the default (opt_out_human_detection: false), which ensures Retell holds the whisper until it detects the dispatcher’s voice. Do note there is an 8-second fallback (“Hello, is anyone there?”) if detection times out.

It would also be worth trimming your private_handoff_option.prompt it is currently running around 5 seconds. Reducing it to something like “Verified caller {{driver_full_name}}, route {{route_name}} - [reason].” should meaningfully reduce that delay.

One limitation to be aware of, there is currently no way to wait for the dispatcher while bypassing the 8-second fallback simultaneously. I have flagged this as a product gap with the team.

Thank You