Overview
| Feature | Purpose | Availability | Use Case |
|---|---|---|---|
| Simple Transitions | IVR menu navigation | Conversation & Start nodes | ”Press 1 for Sales” |
| Input Capture | Collect digit sequences | Conversation & Start nodes* | Account numbers, PINs |
| Global Triggers | Universal keypad shortcuts | All nodes (except web_tool & start) | “Press 0 for operator anytime” |
| Navigation | AI navigates external IVRs | Outbound calls only | Navigate phone trees automatically |
DTMF Processing Flow
DTMF Feature Comparison
Feature 1: Simple DTMF Transitions
Always available on conversation and start nodes. No toggle or special configuration required.
Purpose
Enable IVR-style menu navigation where users press a single key to select an option and advance to a specific node.How It Works
Create menu options like “Press 1 for Sales, Press 2 for Support” by adding DTMF transitions to your nodes.Configuration
Example
Feature 2: DTMF Input Capture
Purpose
Capture a sequence of DTMF digits (account number, PIN, phone number) and store it in a variable for use throughout your workflow.How It Works
When enabled, the AI listens for multiple keypad presses and stores the complete sequence in a named variable. Capture completes based on optional conditions.Configuration
Set Variable Name
Enter variable name (required):
account_number, pin_code, etc.Must follow snake_case format: lowercase, underscores allowed, starts with letterSchema
Variable Usage
DTMF captured variables are fully integrated into the variable system and available to all downstream nodes.
- Message templates:
"Your account number is {{account_number}}" - Tool parameters: Pass to API calls
- Router conditions: Branch based on value
- Subsequent prompts: Reference in any downstream node
Example
Feature 3: Global Node DTMF Triggers
Available on all node types except web_tool and start nodes.
Purpose
Allow global nodes to be triggered from anywhere in the workflow by pressing a specific key, providing quick access to critical functions.How It Works
When a node is marked as global with DTMF trigger type, pressing the configured key from anywhere in the call immediately activates that node.Configuration
Select Trigger Type
Choose between:
- Natural Language (Prompt): Triggered by speech
- Keypad Press (DTMF): Triggered by key press
Schema
Examples
Operator Transfer (DTMF 0)
Repeat Menu (DTMF 9)
Emergency Support (DTMF *)
Feature 4: DTMF Navigation for Outbound Calls
Configured globally in Agent Settings, not at the node level. Only active for outbound calls.
Purpose
Enable AI agents to automatically navigate external IVR (Interactive Voice Response) systems when making outbound calls. The AI listens for menu prompts and presses the appropriate keys to reach the desired destination.How It Works
When DTMF Navigation is enabled, the AI agent can:- Listen to external IVR menu options (“Press 1 for Sales, Press 2 for Support”)
- Automatically press keys based on your instructions
- Navigate complex phone trees to reach the right department
- Handle multi-level IVR systems with configurable delays
- Automated outreach that needs to reach specific departments
- B2B calling through corporate phone systems
- Appointment confirmations requiring extension navigation
- Survey calls to specific contacts
Configuration
Set Instructions
Provide clear instructions for navigating IVR menus (required)Example: “Press 1 for sales department, then press 3 for enterprise sales”
Schema
Examples
Basic Sales Department Navigation
Multi-Level IVR Navigation
Extension Dialing
Corporate Directory Navigation
Best Practices
Timing Configuration
Timing Configuration
Digit Delay Guidelines
- 100-300ms: Fast, modern IVR systems
- 500ms (default): Standard corporate systems
- 800-1000ms: Older or slower IVR systems
- 1500-2000ms: Very slow systems with long prompts
Auto Operator Fallback
EnableautoOperator: true when:- Navigating unfamiliar IVR systems
- Phone trees change frequently
- Human backup is acceptable
- You need to reach specific extensions only
- Operator transfer defeats the purpose
Testing and Reliability
Testing and Reliability
Test Your Navigation
- Call the number manually first
- Document the exact key sequence
- Note any long pauses or unusual prompts
- Test with your agent multiple times
- Monitor for IVR system changes
Handle Failures Gracefully
- Set appropriate
maxRetries(2-3 recommended) - Use
autoOperatoras safety net - Log navigation failures for analysis
- Update instructions when IVR systems change
Limitations
Troubleshooting
AI not pressing keys
AI not pressing keys
Possible causes:
- Feature not enabled in agent settings
- Call is inbound (feature only works outbound)
- Instructions unclear or missing
Keys pressed too fast/slow
Keys pressed too fast/slow
Possible causes:
- Digit delay too short/long for target IVR
- IVR has long prompts between options
digitDelay setting, add “wait for…” instructionsAI gets lost in menu
AI gets lost in menu
Navigation stops mid-sequence
Navigation stops mid-sequence
Complete IVR Flow Example
Here’s a comprehensive example using the first three DTMF features (Features 1-3 are node-level, Feature 4 is configured in agent settings): Implementation:Validation
Validation Rules
| Feature | Field | Requirement | Error |
|---|---|---|---|
| Input Capture | Variable Name | Required when enabled | Must be snake_case format |
| Simple Transition | DTMF Key | Required | Must select a key |
| Global Trigger | DTMF Key | Required when type=dtmf | Must select a key |
Error Indicators
- Node level: Red icon in node header
- Workflow level: Errors in workflow header dropdown
- Focus button: Navigate to problematic nodes
Best Practices
Design Principles
Design Principles
Keep it Simple
- Don’t overwhelm users with too many menu options (max 5-7)
- Use consistent key mappings across your flow (always 0 for operator)
- Provide clear instructions before expecting input
Always Provide Escape Routes
- Always offer global 0 for operator
- Consider global 9 for repeat menu
- Provide fallback for invalid input
User Experience
User Experience
Technical Considerations
Technical Considerations
Variable Naming
- Use descriptive names:
account_numbernotvar1 - Follow snake_case strictly
- Avoid conflicts with system variables
Completion Conditions
- Always set at least one completion condition
- Use termination keys (#) for variable-length input
- Use digit limits for fixed-length input (PINs, zip codes)
Test Thoroughly
- Test with actual phone (not just browser)
- Verify all keypad buttons work correctly
- Test timeout behavior
- Verify global triggers work from all nodes
Troubleshooting
DTMF transitions not working
DTMF transitions not working
Possible causes:
- Key not selected in popover
- Transition not connected to target node
- Using on unsupported node type (not conversation/start)
Input capture variable empty
Input capture variable empty
Possible causes:
- User didn’t enter any digits
- Timeout occurred before input
- Variable name typo in usage
Global DTMF not triggering
Global DTMF not triggering
Possible causes:
- Node not marked as global
- DTMF key not configured
- Trigger type set to ‘prompt’ instead of ‘dtmf’
Validation errors on save
Validation errors on save
Possible causes:
- Missing variable name when input capture enabled
- Invalid variable name format
- DTMF key not selected
Migration Guide
If upgrading from older versions:- Replace
dtmfEnabled: falsewithdtmfInputCapture: null - Update all conversation nodes
- Remove
dtmfEnabledfrom start nodes - Test thoroughly