AK
02/20/2026, 7:34 PMAI Evy
02/20/2026, 7:34 PMAI Evy
02/20/2026, 7:34 PMAI Evy
02/20/2026, 7:34 PMAI Evy
02/20/2026, 7:34 PMAK
02/20/2026, 7:35 PMAI Evy
02/20/2026, 7:35 PMAI Evy
02/20/2026, 7:36 PM## IVR Navigation
When interacting with automated systems, menus, or IVR prompts:
Your goal is to accept the call and proceed.
## IVR Interaction Rules
1) If the IVR explicitly instructs you to press a number:
- Use the press_digit function with the instructed digit.
2) If you hear "Press 1 to take this call" or similar:
- Immediately press digit 1.
## Step 3: Add Interaction Rules
Include detailed instructions on when to press digits:
## 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.AI Evy
02/20/2026, 7:36 PMAI Evy
02/20/2026, 7:36 PMAI Evy
02/20/2026, 7:36 PMAK
02/20/2026, 7:37 PMAI Evy
02/20/2026, 7:37 PMAI Evy
02/20/2026, 7:37 PM## IVR Navigation
When interacting with automated systems, menus, or IVR prompts:
Your goal is to reach the scheduling or appointments department.
## 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.
## Key Point
The agent will only use the Press Digit function when it actually hears an IVR prompt (like "Press 1 to continue") . If a human answers directly, the agent will proceed with normal conversation because no IVR trigger phrase was detected.
You don't need a separate node for IVR vs. non-IVR calls—the agent's prompt-based logic handles both scenarios dynamically based on what it hears at the start of the call.AI Evy
02/20/2026, 7:37 PMAI Evy
02/20/2026, 7:37 PMAK
02/20/2026, 7:39 PMAI Evy
02/20/2026, 7:39 PMAI Evy
02/20/2026, 7:39 PMBegin
↓
Press Digit Node (for IVR navigation)
↓
First Message Node
↓
Other Nodes...
## How the Press Digit Node Works
When in the Press Digit Node, the agent will not speak. Instead, it evaluates whether it should press a digit each time the IVR system finishes speaking. If a digit press is needed, the agent will infer the appropriate digit and press it.
## Configure Transitions for Both Scenarios
Set up transition conditions to handle both IVR and non-IVR calls:
- **IVR detected**: Condition like Reached scheduling department or Call accepted → routes to your First Message Node
- **Human answered directly**: Condition like Human answered, no IVR detected → routes directly to your First Message Node
- **Edge cases**: Conditions like Menu repeated 3 times or Reached wrong department
## Detection Delay
Set the detection delay to around 1 second so the agent doesn't make a decision prematurely before the whole IVR menu is captured.
This way, if there's no IVR, the agent will quickly transition to your normal conversation flow. If an IVR is detected, it will navigate it first.AI Evy
02/20/2026, 7:39 PMAI Evy
02/20/2026, 7:39 PMAK
02/20/2026, 8:04 PMAI Evy
02/20/2026, 8:04 PMAI Evy
02/20/2026, 8:04 PMtranscript_with_tool_calls field. Here's what the structure looks like:
[(1) ]()
Tool Call (what the LLM sends) :
json
{"digit_to_press": "1"}
Tool Result (what comes back) :
json
{"tool_call_id": "72c416edf862956c", "success": true, "latency_ms": 150, "result": null}
When successful, success will be true. If the DTMF tone failed to send, you'll see success: false with latency_ms: 0.
If you're using a Custom LLM via WebSocket, you can also send the digit_to_press field in your response event, and Retell will press the digit after the associated content is spoken.
[(2) ]()AI Evy
02/20/2026, 8:04 PMAI Evy
02/20/2026, 8:04 PMAK
02/20/2026, 8:04 PMAI Evy
02/20/2026, 8:04 PMAI Evy
02/20/2026, 8:05 PM{"status":"digit pressed"} indicates that the press_digit function was invoked and the digit was sent.
[(1) ]()
If the IVR system still isn't responding after seeing this result, there are a few things to check:
1. Verify the IVR is receiving the DTMF tone
Some IVRs don't recognize DTMF tones from certain carriers or configurations. There are documented cases where press_digit calls show as executed but the IVR doesn't respond.
[(2) ]()
2. Add interaction rules to your prompt
Make sure your agent waits for the IVR to finish speaking before pressing digits. Example prompt:
[(1) ]()
## IVR Interaction Rules
1) If the IVR explicitly instructs you to press a number:
- Use the press_digit function with the instructed digit.
2) If you are transferred:
- Wait silently or respond with NO_RESPONSE_NEEDED if prompted to hold.
- Resume navigation or follow the live agent flow once connected.
3. Test the call manually
Try calling the same number from a regular phone and pressing "1" to confirm the IVR accepts standard DTMF input. If manual presses work but the agent's don't, this may be a carrier-specific issue.
[(2) ]()
If the digit is being pressed (as your result shows) but the IVR isn't advancing, the issue is likely on the receiving end rather than with your agent configuration.AI Evy
02/20/2026, 8:05 PMAI Evy
02/20/2026, 8:05 PM