Hi Retell team,
I build voice agents and I need guidance on call transfer behaviour. There are two related points.
- Keeping the call on Retell when the destination doesn’t pick up
What I want to achieve: when the agent attempts a transfer and the destination is busy or doesn’t answer, the call should NOT be dropped. The agent should regain control and be able to say something like “the operator isn’t available right now, please hold a moment” or “can I take your details and have them call you back?”, and then continue the conversation normally.
My questions:
- Is this supported today? If so, what is the exact configuration (dashboard settings and/or API fields)?
- Can I set a custom ring timeout before the fallback is triggered?
- Does the agent automatically regain control when the transfer fails, or do I need to handle it explicitly in the Conversation Flow (e.g. a dedicated node, or a variable exposing the transfer result)?
- Are the underlying SIP causes exposed so I can branch differently on busy (486), no answer (408/480) and voicemail/answering machine detection?
- Does this behaviour differ between warm transfer and cold transfer? Is cold transfer necessarily final once initiated?
- Is there any supported way to put the caller on hold and retry the operator after a few seconds?
- Past issue: warm transfer routed to the wrong number
Some time ago I tested warm transfer in production and the call was transferred to a phone number different from the one configured in the transfer_call function. This caused a serious issue with one of my clients and I ultimately lost that account. Since then I have only used cold transfer and never re-enabled warm transfer.
Before putting warm transfer back into production I would like to understand:
- Was this a known bug at the time, and has it been fixed?
- What can cause the actual destination to differ from the one set in transfer_call? For example: a dynamic variable not being resolved, number formatting / E.164 issues, an agent-level setting overriding the function-level one, or a fallback to a default number on the account.
- What checks or best practices do you recommend to guarantee the call goes exactly to the number passed in the function?
I’m happy to share agent IDs and specific call IDs if that helps you investigate. It was months ago and I’d like to find a solution for the future.
call_2791b051c3fdab5248409d2f9f0
call_84b29c0d02da4d9b299392828a7
Thanks in advance for your help.
Best regards
Matteo