- Audio input IVR: Accepts spoken responses. Your agent can navigate these through standard prompting.
- DTMF input IVR: Requires pressing digits on the phone keypad (Dual-Tone Multi-Frequency signals).
Steps
1
Add a Press Digit Tool
Give your agent the ability to press digits. The tool description is optional—you can specify when and what digits to press if desired.

2
Add Navigation Prompts
Provide clear instructions on when and what digits to press. Include preferred keywords/phrases, keywords to avoid, and guidance for uncertain situations.Example prompt:Alternative approach: If you know the exact digit sequence beforehand, you can provide direct instructions:
3
Add Interaction Rules
Provide detailed instructions on when to press digits and how to handle edge cases, such as reaching the wrong person or needing to hang up.Example prompt:
4
Extract IVR Post-Call Data (Optional)
Extract IVR navigation data for deeper insights. Below are field-by-field extraction prompts you can add in your agent’s Post-Call Data Extraction settings:

hit_ivr (boolean)
hit_ivr (boolean)
Was an IVR or automated phone system encountered at any point before reaching a human? Count menus, “press 1”, speech menus, automated routing, or virtual assistants as IVR. Do NOT count hold music after a human answers. Output ONLY true or false.
reached_human (boolean)
reached_human (boolean)
Did the caller speak with a real human staff member at any point during the call (not an automated system, recording, voicemail, or virtual assistant)? Output ONLY true or false.
ivr_loop (boolean)
ivr_loop (boolean)
Did the IVR appear to loop or repeat the same menu/prompt due to misunderstanding or invalid input (e.g., repeated “I’m sorry, I didn’t get that” or returning to the main menu multiple times)? Output ONLY true or false.
ivr_type (enum)
ivr_type (enum)
Allowed values:
none | basic_menu | speech_ivr | voicemail_greeting_only | after_hours_message_onlyClassify the type of automated system encountered:- none: no automation, human answered directly
- basic_menu: “press 1/2/3” style DTMF menu
- speech_ivr: system asks spoken questions like “tell me why you’re calling” and responds conversationally
- voicemail_greeting_only: immediately reached voicemail greeting/leave-a-message flow (no menus)
- after_hours_message_only: only an after-hours closed message (may mention hours), without offering routing to staff
ivr_outcome (enum)
ivr_outcome (enum)
Allowed values:
reached_human | left_voicemail | hung_up | blocked_by_ivr | callback_required | transferred | ivr_loop_detected | invalid_extension | after_hours_info_onlyWhat was the final outcome of the IVR/automated navigation portion of the call?- reached_human: successfully got to a human
- left_voicemail: reached voicemail and a message was left or the voicemail prompt occurred as the end state
- hung_up: call ended before any resolution (caller or system disconnected)
- blocked_by_ivr: could not proceed due to IVR requirements or no matching menu option
- callback_required: system instructed to call back later or offered callback as the only option
- transferred: IVR transferred to a line/department (even if later hold)
- ivr_loop_detected: looping prevented progress
- invalid_extension: extension entry failed (invalid/not recognized)
- after_hours_info_only: ended at after-hours info message with no human reached
ivr_steps_count (number)
ivr_steps_count (number)
How many distinct IVR steps occurred (menu prompts or bot questions that required an input/response) before reaching a human or ending? Output ONLY an integer. If none, output 0.
ivr_retries_count (number)
ivr_retries_count (number)
How many times did the IVR/bot request the same input again or say it didn’t understand (e.g., “please repeat”, “invalid entry”, returning to same menu)? Output ONLY an integer. If none, output 0.
ivr_path (text)
ivr_path (text)
Summarize the IVR navigation path as a breadcrumb using > separators, capturing the main menu choices or intents.Example:
Main Menu > Providers > Authorizations > Holdivr_notes (short text)
ivr_notes (short text)
In 1–2 sentences, summarize the key IVR insights that matter operationally (e.g., required identifiers, department options heard, barriers like “portal only”, after-hours).
ivr_tree_text (multiline text)
ivr_tree_text (multiline text)
Create a concise step-by-step IVR tree in numbered lines. Each line must be:
N. Prompt: "<summary>" | Action: "<pressed/said>" | Result: "<next state>".Include only steps that occurred.5
Test Your Configuration
After saving your agent, test it by:
- Placing an outbound call to a number with an IVR system, or
- Calling yourself and mimicking an IVR system by saying phrases like “Press 1 for customer service”