https://retellai.com/?utm_source=discord&utm_medium=seo logo
my call transfer workflow in retell ai is like thi...
# ❓・ai-evy-support
m
@AI Evy my call transfer workflow in retell ai is like this: user calls sylvester (330 number) and the phone is on silent so it instantly transfers to amy (315), amy says "hi how can i help you" caller says let me speak to sylvester, amy says okay and transfer to 330, but there's preventative measure to stop it going from voice mail, so the agent waits and listens for a voice, but its amy's voice saying "hi how can i help you" and then the cycle repeats. sylvester has another number 862, so when that first transfer to 330 fails (it doesn't since amy instantly answers since the phone is on silent) it can use 862. how can i stop the repetitive cycle?
a
Thanks for tagging me @moody. I'll look through relevant sources and get back to you shortly.
### Answer This is a tricky loop caused by your warm transfer's human detection feature picking up Amy's AI greeting as a "human" voice, which then completes the transfer and restarts the cycle. Here are some approaches to break this loop: *1. Disable Human Detection on the Transfer to Sylvester (330) * When configuring warm transfer, you can disable the Enable human detection setting. [(1) ]() When human detection is enabled, the agent checks if a human is present after the transfer target answers—but in your case, it's detecting Amy's AI voice as human. Disabling this would let the transfer complete without that check, though you'd lose the voicemail protection on that leg. 2. Use Cold Transfer Instead of Warm Transfer Cold transfer simply transfers the call to the destination number without the agent attempting to detect if the other side is human. This would prevent Amy's greeting from being interpreted as a successful human pickup. 3. Adjust the Agent Detection Timeout The Agent detection timeout setting controls the maximum time the AI waits to determine whether the transfer target is a human. Setting a very short timeout might cause the transfer to "fail" before Amy's greeting is detected, triggering the fallback to the 862 number. 4. Reconsider Your Call Flow Architecture Since Sylvester's 330 number is on silent and always forwards to Amy, you may want to restructure so that: - Callers reach Amy directly first - Amy only transfers to Sylvester's 862 number (not 330) when requested This avoids the circular loop entirely. I don't have documentation on a specific variable or flag to distinguish between AI agents and humans during transfer detection, so the above workarounds are your best options based on available settings.
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
​ To learn more, see the sources I considered: [[1] Transfer call](https://docs.retellai.com/build/single-multi-prompt/transfer-call) ​
Thanks for the follow-up, @moody. I'll get back to you soon.
m
@AI Evy is there anything i can do in the prompt
a
### Answer Yes, you can update the prompt to help manage transfer behavior. When setting up the Transfer Call tool, the documentation recommends enhancing the agent's understanding by incorporating transfer call conditions into the prompt. [(1) ]() For your specific loop issue, you could try adding prompt instructions like: - **Track transfer attempts**: Instruct the agent to remember if a transfer to a specific number was already attempted in the current call, and if so, skip to the fallback number (862) directly. - **Specify clear transfer logic**: For example, add something like: "If the caller asks to speak to Sylvester, transfer directly to 862 (not 330) . Do not attempt to transfer to 330." However, the prompt alone may not fully solve this since the core issue is the warm transfer's human detection picking up Amy's AI greeting. The Navigate IVR setting in warm transfer allows you to provide a prompt to help navigate if the transfer target is an IVR system—but this is designed for IVR menus, not for distinguishing between AI agents and humans. , [(2) ]() Your best bet is combining a prompt update (to skip the 330 number entirely when transferring to Sylvester) with either disabling human detection or switching to cold transfer for that specific leg.
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
​ To learn more, see the sources I considered: [[1] Transfer call](https://docs.retellai.com/build/single-multi-prompt/transfer-call) [[2] Call Transfer Node](https://docs.retellai.com/build/conversation-flow/call-transfer-node) ​
m
@User how can i Track transfer attempts:
@AI Evy how can i track transfer attempts
a
Thanks for the follow-up, @moody. I'll get back to you soon.
### Answer Tracking transfer attempts within a call isn't a built-in feature with a dedicated counter or variable in the Retell AI dashboard. However, you have a couple of approaches: 1. Use Dynamic Variables You can use [dynamic variables](/build/dynamic-variables) to pass and track state during a call. [(1) ]() While the documentation shows dynamic variables being used for the transfer number itself, you could potentially use them in conjunction with a Custom LLM to maintain transfer attempt state. 2. Custom LLM with State Tracking If you're using a Custom LLM via the LLM WebSocket, you can track transfer attempts on your server side. The WebSocket sends real-time updates including tool call invocations and results. [(2) ]() When a transfer is attempted, you receive the tool call result:
Copy code
json
{"status":"Transfer call cannot be completed, maybe the other side did not pick up"}
[(3) ]() Your server can count these failed attempts and include that context in subsequent LLM responses, instructing the agent to try the fallback number (862) after a failed attempt to 330. 3. Prompt-Based Workaround For your specific scenario, the simplest solution may be to update your prompt to skip 330 entirely and always transfer to 862 when the caller requests Sylvester—avoiding the loop altogether without needing to track attempts. I don't have documentation on a native "transfer attempt counter" feature, so the Custom LLM approach would give you the most control for tracking this state.
​ To learn more, see the sources I considered: [[1] Transfer call](https://docs.retellai.com/build/single-multi-prompt/transfer-call) [[2] LLM WebSocket](https://docs.retellai.com/api-references/llm-websocket) [[3] Issue with call transfer - not possible to transfer to second number if first one fails](https://discord.com/channels/1186424376300679209/1354765943334637634) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
m
@AI Evy if i just wanted to prompt it, would i have the agent first ask if its they first time transfering
a
Thanks for the follow-up, @moody. I'll get back to you soon.
### Answer Yes, you could structure your prompt so the agent tracks transfer state conversationally. The idea would be to have the agent "remember" within the conversation context whether a transfer has already been attempted. You'd add instructions to your prompt like: - "Before transferring to Sylvester at 330, ask yourself: have I already attempted this transfer in this call? If yes, transfer to 862 instead." - "After any failed transfer attempt, remember that the primary number has been tried and use the fallback number for subsequent requests." The documentation recommends incorporating transfer call conditions into the prompt to enhance the agent's understanding. [(1) ]() However, keep in mind that LLMs don't have persistent memory across turns in the same way a database would—they rely on conversation context. If the conversation is long or complex, the agent might lose track. For your specific loop issue, a cleaner prompt approach would be: "When the caller asks to speak to Sylvester, always transfer directly to 862. Do not transfer to 330." This avoids the tracking problem entirely by eliminating the 330 transfer from the flow when Sylvester is requested.
​ To learn more, see the sources I considered: [[1] Transfer call](https://docs.retellai.com/build/single-multi-prompt/transfer-call) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.