https://retellai.com/?utm_source=discord&utm_medium=seo logo
I am trying to get my agent to transfer to a human...
# ❓・ai-evy-support
e
@AI Evy I am trying to get my agent to transfer to a human but it needs to get through an IVR. However, when I select the 'Navigate IVR' option, it is disconnecting the caller instead of trying to get it to an agent who can help. Why is this happening?
a
Thanks for tagging me @Elders. I'll look through relevant sources and get back to you shortly.
### Answer There are a few potential reasons why your warm transfer with IVR navigation is disconnecting: 1. Timing/Delay Issues One user reported a similar issue where the IVR system would hang up after the first digit press. [(1) ]() The solution was adjusting the delay in the digit press function—the agent was waiting too long before pressing digits, causing the far end to hang up. 2. Human Detection Timeout When using warm transfer with "Navigate IVR," there's an Agent detection timeout setting (default 30 seconds) . [(2) ]() [(3) ]() If human detection doesn't succeed within this timeframe, the transfer is marked as failed. 3. Caller ID Configuration If you have "Displayed Caller ID" set to "User's Number," the transfer may not work properly with certain telephony providers. [(4) ]() Try setting it to "Retell Agent's Number" instead. Recommended Steps: - Check your call logs for the specific disconnection reason and SIP error code [(5) ]() - Adjust the delay timing in your IVR navigation prompt to ensure digits are pressed quickly enough [(1) ]() - Increase the agent detection timeout if the IVR takes a while to connect to a human [(2) ]() [(3) ]() - Verify your Caller ID setting isn't causing permission issues [(4) ](
doesnt-transfer-my-calls-to-phone-extensions/700) - Ensure your IVR navigation prompt clearly specifies when and what digits to press [(6) ]() Could you share a call ID from a failed attempt? That would help identify the specific disconnection reason.
​ To learn more, see the sources I considered: [[1] IVR Navigation ends after first digit with user hangup](https://discord.com/channels/1186424376300679209/1386714542276608132) [[2] Transfer call](https://docs.retellai.com/build/single-multi-prompt/transfer-call) [[3] Call Transfer Node](https://docs.retellai.com/build/conversation-flow/call-transfer-node) [[4] It doesn't transfer my calls to phone extensions](https://community.retellai.com/t/it-doesnt-transfer-my-calls-to-phone-extensions/700) [[5] Bridge transfer , call tranfer , Chat With Human , Call doesn't go through](https://community.retellai.com/t/bridge-transfer-call-tranfer-chat-with-human-call-doesnt-go-through/401) [[6] Effortless IVR Navigation for AI Agents | Retell AI](https://www.retellai.com/features/navigate-ivr) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
e
how do I get the agent to wait and then press the number in order to get through the IVR menu?
@AI Evy how do I get the agent to wait and then press the number in order to get through the IVR menu?
a
Thanks for the follow-up, @Elders. I'll get back to you soon.
### Answer To control when your agent waits and presses digits during IVR navigation, you have two main approaches depending on your agent type: ## For Single/Multi-Prompt Agents 1. Add the Press Digit Tool and provide clear navigation prompts that specify when and what to press. [(1) ]() 2. Use explicit instructions in your prompt, such as:
Copy code
Press digit 1 to reach the support department.
3. Add IVR Interaction Rules that tell the agent how to handle different scenarios:
Copy code
## IVR Interaction Rules
1) If the IVR allows you to speak a department name or short phrase:
   - Speak the appropriate department name clearly.
2) If the IVR explicitly instructs you to press a number:
   - Use the press_digit function with the instructed digit.
3) If the IVR does not accept speech and requires numeric input:
   - Use the press_digit function to select the best option.
## For Conversation Flow Agents Use the Press Digit Node and configure the Detection Delay setting. [(2) ]() Some IVR systems speak slowly, so setting a delay ensures the agent doesn't make decisions prematurely. The documentation recommends setting this to 1 second. ## For Warm Transfers with IVR If you're using warm transfer and the transfer target is an IVR system, use the Navigate IVR prompt option in the warm transfer settings to provide instructions for navigating the IVR. [(3) ]() [(4) ]() ## Key Tip One user found that their agent was waiting too long before pressing digits, causing the IVR to hang up. [(5) ]() Adjusting the delay timing resolved the issue. Make sure your timing is appropriate for the specific IVR system you're calling.
​ To learn more, see the sources I considered: [[1] Press digit (IVR navigation)](https://docs.retellai.com/build/single-multi-prompt/press-digit) [[2] Press Digit Node](https://docs.retellai.com/build/conversation-flow/press-digit-node) [[3] Transfer call](https://docs.retellai.com/build/single-multi-prompt/transfer-call) [[4] Call Transfer Node](https://docs.retellai.com/build/conversation-flow/call-transfer-node) [[5] IVR Navigation ends after first digit with user hangup](https://discord.com/channels/1186424376300679209/1386714542276608132) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
e
@AI Evy so if I am using Warm Transfers with IVR, do I have to call the press_digit function or can I just tell it to press the number associated with where the caller needs to go to?
a
Thanks for the follow-up, @Elders. I'll get back to you soon.
### Answer When using warm transfers with IVR navigation, you don't need to separately call the press_digit function. Instead, warm transfers have a built-in Navigate IVR prompt option specifically for this purpose. [(1) ]() You simply provide an IVR navigation prompt within the warm transfer settings that tells the agent when and what digits to press. For example, you can write instructions like:
Copy code
Press digit 1 to reach the support department.
[(2) ]() Or more detailed navigation guidance:
Copy code
Your goal is to reach the scheduling or appointments department.
Preferred navigation keywords:
• Scheduling
• Appointments
• New patients
• Front desk
The warm transfer's Navigate IVR setting handles the digit pressing automatically based on your prompt instructions—you just describe where the caller needs to go and what digits correspond to those options. [(1) ]()
​ To learn more, see the sources I considered: [[1] Transfer call](https://docs.retellai.com/build/single-multi-prompt/transfer-call) [[2] Press digit (IVR navigation)](https://docs.retellai.com/build/single-multi-prompt/press-digit) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
e
if i have Transfer only if a human answers checked, will that wait until an actual human answers before it will say the whisper message? @AI Evy
a
Thanks for the follow-up, @Elders. I'll get back to you soon.
### Answer Yes, when you enable human detection (the "Transfer only if a human answers" option) , the agent will check if a human is present after the transfer target answers, and the original caller will only be connected once a human is detected. [(1) ]() [(2) ]() The whisper message is spoken privately to the transfer target before connecting them to the original caller. So the sequence is: 1. The AI initiates the transfer 2. Human detection confirms a human has answered (not voicemail or IVR) 3. The whisper message is delivered privately to the receiving agent 4. Then the original caller is connected Additionally, there's an Agent detection timeout setting (default 30 seconds) that controls the maximum time the AI will wait to determine whether the transfer target is a human. If human detection doesn't succeed within this timeframe, the transfer is marked as failed.
​ 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) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
e
@AI Evy why is my call just completely disconnecting from the caller with this setup?
a
Thanks for the follow-up, @Elders. I'll get back to you soon.
### Answer Based on your warm transfer with IVR setup, there are several common reasons why calls disconnect completely: 1. Human Detection Timeout Expiring When "Transfer only if a human answers" is enabled, the agent waits for human detection. If human detection doesn't succeed within the configured timeframe (default 30 seconds) , the transfer is marked as failed. [(1) ]() [(2) ]() If the IVR takes too long to route to a human, this timeout may expire first. 2. Known Timing Issue One user reported that despite setting a 50-second detection timeout, the system was sending a SIP CANCEL after only ~10-12 seconds (2 rings) . [(3) ]() This appears to be a known issue where the configured timeout isn't being respected in some cases. 3. IVR Navigation Timing If your Navigate IVR prompt causes the agent to wait too long before pressing digits, the far end may hang up. Conversely, pressing digits too quickly before the IVR is ready can also cause failures. Recommended Troubleshooting Steps: - Increase the Agent detection timeout beyond 30 seconds to give more time for IVR navigation plus human detection [(1) ]() [(2) ]() - Check your **Caller ID setting**—if set to "User's Number," try switching to "Retell Agent's Number" as some providers don't support caller ID override properly [(1) ]() [(2) ]() [(4) ](
extensions/700) - Verify your telephony provider supports the transfer type you're using [(1) ]() [(2) ]() - Get the specific call ID from a failed attempt and check the call logs for the disconnection reason Could you share a call ID from one of the failed transfers? That would help identify the specific cause of the disconnection.
​ 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) [[3] I am having issues with a Warm Transfer](https://community.retellai.com/t/i-am-having-issues-with-a-warm-transfer/757) [[4] It doesn't transfer my calls to phone extensions](https://community.retellai.com/t/it-doesnt-transfer-my-calls-to-phone-extensions/700) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
e
@AI Evy call_2309c8590b549932c0db1cb8949
a
Thanks for the follow-up, @Elders. I'll get back to you soon.
### Answer Thanks for sharing the call ID. Unfortunately, I don't have access to look up specific call logs or debug individual call IDs directly—that requires access to your Retell AI dashboard or support from the Retell team. To get help with this specific call (
call_2309c8590b549932c0db1cb8949
) , I recommend sharing the call ID with Retell support so they can investigate the disconnection reason in the logs. [(1) ]() [(2) ]() In the meantime, based on similar warm transfer issues others have reported, here are the most common causes to check: **Human Detection Timeout**: If human detection doesn't succeed within the configured timeframe (default 30 seconds) , the transfer is marked as failed. [(3) ]() [(4) ]() With IVR navigation involved, you may need to increase this timeout significantly. **Caller ID Configuration**: If you have "User's Number" selected for the displayed caller ID and your telephony provider doesn't support caller ID override, the transfer would fail. Try switching to "Retell Agent's Number." **Known Timing Bug**: One user reported that despite setting a 50-second detection timeout, the system was sending a SIP CANCEL after only ~10-12 seconds. [(2) ]() This was flagged as a potential platform issue. To move forward, you can share the call ID with Retell support here in Discord or check your telephony provider's logs to see the specific SIP error code or disconnection reason. [(5) ]()
​ To learn more, see the sources I considered: [[1] Custom Sip Trunk - extension transfers on warm transfer](https://community.retellai.com/t/custom-sip-trunk-extension-transfers-on-warm-transfer/425) [[2] I am having issues with a Warm Transfer](https://community.retellai.com/t/i-am-having-issues-with-a-warm-transfer/757) [[3] Transfer call](https://docs.retellai.com/build/single-multi-prompt/transfer-call) [[4] Call Transfer Node](https://docs.retellai.com/build/conversation-flow/call-transfer-node) [[5] Agent transfers the calls to itself](https://community.retellai.com/t/agent-transfers-the-calls-to-itself/699) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
e
@AI Evy here is the call log starting with when it transfers the caller: 2026-02-19 19:17:11.940 call_2309c8590b549932c0db1cb8949 info: Calling tool: transfer_cs Arguments: {"execution_message":"Absolutely, let me transfer you now."} 2026-02-19 19:17:11.943 call_2309c8590b549932c0db1cb8949 info: custom sip headers {} 2026-02-19 19:17:15.786 call_2309c8590b549932c0db1cb8949 info: Transfer call connected 2026-02-19 19:17:15.786 call_2309c8590b549932c0db1cb8949 info: Start detecting human speech 2026-02-19 19:17:45.659 call_2309c8590b549932c0db1cb8949 info: Ending call: call_2309c8590b549932c0db1cb8949 2026-02-19 19:17:46.876 call_2309c8590b549932c0db1cb8949 info: Webhook triggered for call_ended
a
Thanks for the follow-up, @Elders. I'll get back to you soon.
### Answer Based on your call log, here's what happened: - 19:17:15 - Transfer call connected and human speech detection started - 19:17:45 - Call ended (~30 seconds later) The call ended exactly at the default 30-second agent detection timeout. [(1) ]() [(2) ]() Since you have "Transfer only if a human answers" enabled, the agent waited for human detection, but it didn't detect a human within the timeout window—likely because the IVR was still navigating and hadn't connected to an actual human yet. The issue: Your IVR navigation + wait time for a human to answer is exceeding the 30-second detection timeout. Solution: Increase the Agent detection timeout setting significantly (e.g., 60-90 seconds) to give enough time for: 1. The IVR navigation to complete 2. The call to route to a human agent 3. The human to answer and be detected The documentation states: "The maximum amount of time the AI agent will wait to determine whether the transfer target is a human. The caller is connected only if human detection succeeds within this timeframe. Otherwise, the transfer is marked as failed. The default timeout is 30 seconds." Additionally, you may want to enable Auto-greet, which makes the agent immediately say "Hello" when the transfer target picks up—this encourages a response and increases the likelihood of detecting a human.
​ 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) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
e
@AI Evy what does the 'bridge_transfer' function do on a transfer agent?
a
Thanks for the follow-up, @Elders. I'll get back to you soon.
### Answer I don't have specific documentation about a "bridge_transfer" function in the context of Agent Transfer. Based on the available sources, Agent Transfer (also known as Agent Swap) is a feature that allows you to switch from one AI agent to another during a call—this is different from transferring to a phone number or human. [(1) ]() [(2) ]() Agent Transfer offers these advantages over traditional call transfers: [(1) ]() - **Lower Latency**: Near-instant transition between agents - **Better Reliability**: No need to create a new phone call - **No Handoff Message Needed**: The destination agent has access to the full conversation history - **No Separate Numbers for Agents**: One number works regardless of how many agents you transfer to From a community discussion, "bridge transfer" appears to be related to connecting calls, and one user noted that a bridge transfer only works while the call is still active—if the AI finishes with a terminal message or ends the call before the transfer triggers, the call will drop instead of transferring. [(3) ]() If you're looking for specific details about how "bridge_transfer" works within your transfer configuration, could you clarify whether you're referring to: 1. Agent Transfer (switching between AI agents) 2. Call Transfer/warm transfer (transferring to a phone number/human) This would help me point you to the right documentation.
​ To learn more, see the sources I considered: [[1] Agent Transfer](https://docs.retellai.com/build/single-multi-prompt/transfer-agent) [[2] Agent transfer, MCP Client, Static IP and more](https://www.retellai.com/changelog/agent-transfer-mcp-client) [[3] Discord message from @sergio_38714 on 2025-12-28](https://discord.com/channels/1186424376300679209/1186462578310910112/1454822306244333608) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
s
@AI Evy How can I fix the simulation testing? It is hitting this point where the User starts acting like the agent
a
Thanks for the follow-up, @summerpuppet471. I'll get back to you soon.
### Answer When the simulated user starts acting like the agent (role confusion) , this typically indicates an issue with how the user prompt is structured for the simulation test. The recommended format for defining a user prompt clearly separates identity, goal, and personality: [(1) ]()
Copy code
## Identity
Your name is Mike.
Your date of birth is June 10, 1999.
Your order number is 7891273.

## Goal
Your primary objective is to return the package you received and get a refund.

## Personality
You are a patient customer. However, if the conversation becomes too long or complicated, you will show signs of impatience. If the issue remains unresolved, you may become frustrated and angry.
To fix this issue: 1. Clearly define the simulated user's identity and goal - Make sure your user prompt explicitly states who the simulated user is and what they're trying to accomplish as a caller/customer, not as an agent. 2. Select an appropriate LLM model - You can select which LLM model generates the user conversation. Try switching to a more capable model if the current one is causing role confusion. 3. Review and refine the personality section - Ensure the personality traits describe customer behavior, not agent behavior. If you're also experiencing issues with dynamic variables not being used correctly during simulation, one suggestion is to change the LLM to GPT-4.1 mini as it typically performs better, and remove any example values from your dynamic variable definitions as they may confuse the simulation. [(2) ]()
​ To learn more, see the sources I considered: [[1] Automatically test your agent](https://docs.retellai.com/test/llm-simulation-testing) [[2] Simulation does not utilize test variables](https://discord.com/channels/1186424376300679209/1435745712666050560) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
e
@AI Evy What is the best way to set up a transfer function that will navigate the IVR menu, and then after pressing the correct digit, will then wait for it to ring/wait for a human to answer, and then give them the whisper message, then connect them to the caller?
a
Thanks for the follow-up, @Elders. I'll get back to you soon.
### Answer --- The best approach is to use warm transfer with the following configuration: Step 1: Set up the Transfer Call Tool/Node - Add a Transfer Call tool (for Single/Multi-Prompt agents) or Call Transfer Node (for Conversation Flow agents) [(1) ]() [(2) ]() - Set the transfer number in e.164 format or as a SIP URI Step 2: Select Warm Transfer - Choose warm transfer as the transfer type—this enables IVR navigation, human detection, and whisper messages Step 3: Configure Warm Transfer Settings - **Navigate IVR**: Provide a prompt to help navigate the IVR system (e.g., "Press 1 for support, then press 2 for billing") - **Enable human detection**: Turn this on so the agent checks if a human is present after the transfer target answers—the original caller will only be connected once a human is detected - **Auto-greet**: Enable this so the agent immediately says "Hello" when the transfer target picks up, which encourages a response and increases the likelihood of detecting a human - **Agent detection timeout**: Increase this beyond the default 30 seconds (e.g., 60-90 seconds) to allow enough time for IVR navigation plus waiting for a human to answer - **Whisper message**: Add your private message that will be spoken to the transfer target before connecting them to the original caller - **Three-way message (optional) **: Add a message spoken to both parties once the connection is established Key Point Based on Your Previous Call Log Your earlier call ended at exactly 30 seconds because the default agent detection timeout expired before a human was detected. Since IVR navigation takes time, you need to significantly increase this timeout to accommodate the full sequence: IVR navigation → r
outing → human answering → detection.
​ 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) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
e
@AI Evy this is for a single prompt agent.
a
Thanks for the follow-up, @Elders. I'll get back to you soon.
### Answer For a single prompt agent, here's how to configure the Transfer Call tool with IVR navigation, human detection, and whisper messaging: 1. Add the Transfer Call Tool Click "+ Add" in the tools section and select "Transfer Call" from the dropdown menu. [(1) ]() 2. Set the Transfer Number Set the transfer number to a number in e.164 format, a SIP URI (e.g.,
sip:user@retellai.com
) , or a dynamic variable. Add an extension if needed (must be 0-9, '*', '#') . 3. Select Warm Transfer Choose warm transfer as the transfer type—this enables IVR navigation, human detection, and whisper messages. 4. Configure Warm Transfer Settings - **Navigate IVR**: Provide a prompt to help navigate if the transfer target is an IVR system (e.g., "Press 1 for support") - **Enable human detection**: When enabled, the agent will check if a human is present after the transfer target answers. The original caller will only be connected once a human is detected. - **Auto-greet**: If enabled, the agent will immediately say "Hello" when the transfer target picks up, encouraging a response and increasing the likelihood of detecting a human. - **Agent detection timeout**: Increase this beyond the default 30 seconds (e.g., 60-90 seconds) to allow time for IVR navigation plus human detection. Based on your earlier call log, your call ended at exactly 30 seconds because this timeout expired. - **Whisper message**: Add the private message spoken to the transfer target before connecting them to the original caller. - **Three-way message (optional) **: A message spoken to both parties once connected.
​ 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.
e
@AI Evy could I use the Transfer Agent functionality for this? What would be the ideal set up for that and how do I get it to transfer back to the original caller once a human picks up
a
Thanks for the follow-up, @Elders. I'll get back to you soon.
### Answer --- No, Agent Transfer is not the right tool for your use case. Agent Transfer is designed for switching between AI agents during a call—not for transferring to human agents via phone numbers with IVR navigation. [(1) ]() Agent Transfer (also known as Agent Swap) enables you to transfer from one AI agent to another AI agent. Examples include: - Transferring from a front-desk agent to an appointment-booking agent based on task - Transferring from an agent speaking one language to another agent handling a different language The key advantages of Agent Transfer are lower latency, better reliability (no new phone call needed) , and the destination AI agent has access to the full conversation history. **For your scenario**—navigating an IVR, waiting for a human to answer, delivering a whisper message, then connecting the caller—you need Transfer Call with warm transfer, not Agent Transfer. [(2) ]() Warm transfer provides: - **Navigate IVR**: Prompt to help navigate the IVR system - **Human detection**: Checks if a human is present after the transfer target answers - **Whisper message**: Private message to the human agent before connecting the caller - **Agent detection timeout**: Configurable wait time (increase beyond 30 seconds for IVR scenarios) Stick with the Transfer Call tool configured for warm transfer as described in the previous responses—that's the correct approach for transferring to a human through an IVR system.
​ To learn more, see the sources I considered: [[1] Agent Transfer](https://docs.retellai.com/build/single-multi-prompt/transfer-agent) [[2] 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.
e
@AI Evy can I call a function within the Navigate IVR prompt for warm transfers
a
Thanks for the follow-up, @Elders. I'll get back to you soon.
### Answer --- Based on the available documentation, the Navigate IVR setting within warm transfers is a prompt field that provides instructions to help the agent navigate the IVR system—it's not a place where you can call separate functions. [(1) ]() The Navigate IVR prompt is described as: "Provide a prompt to help you navigate if the transfer target is an IVR system." This is a text-based instruction field where you specify guidance like "Press 1 for support, then press 2 for billing"—not a function calling interface. For IVR navigation outside of warm transfers, you can use the separate Press Digit tool, which gives your agent the ability to press digits and can be combined with prompts in your agent configuration. [(2) ]() [(3) ]() However, the Press Digit tool and Navigate IVR within warm transfer are separate mechanisms: - **Press Digit tool**: A standalone function you add to your agent's tools section for general IVR navigation during calls [(2) ]() - **Navigate IVR (warm transfer setting) **: A prompt field within the warm transfer configuration specifically for navigating IVR after initiating a transfer [(1) ]() I don't have documentation showing that you can call other functions from within the Navigate IVR prompt field during a warm transfer. The Navigate IVR prompt appears to be handled by the transfer process itself rather than triggering separate tool calls. If you need more complex IVR navigation logic, you may want to reach out to Retell support for guidance on advanced configurations.
​ To learn more, see the sources I considered: [[1] Transfer call](https://docs.retellai.com/build/single-multi-prompt/transfer-call) [[2] Press digit (IVR navigation)](https://docs.retellai.com/build/single-multi-prompt/press-digit) [[3] Effortless IVR Navigation for AI Agents | Retell AI](https://www.retellai.com/features/navigate-ivr) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.