IVR Flow Builder
Design interactive voice response (IVR) flows using a visual drag-and-drop interface. IVR flows allow callers to navigate through menu options, provide input via their phone keypad, and reach the right destination — all without human intervention.
Overview
The IVR Flow Builder lets you create sophisticated call handling logic without writing code. Connect different node types on a visual canvas to build complete call flows. Whether you need a simple two-option menu or a multi-level routing system with AI agent handoff, the builder provides the building blocks.
When to Use IVR vs Simple Audio
Choosing between a simple audio campaign and an IVR flow depends on the interaction you need:
| Scenario | Recommended Approach |
|---|---|
| One-way announcement (payment reminder, alert) | Audio Campaign — simple, fast, no interaction needed |
| Recipient needs to confirm or select options | IVR Flow — enables key-press responses |
| Routing callers to different departments | IVR Flow — route based on input |
| Collecting survey responses | IVR Flow — gather and store DTMF input |
| Natural language conversation | IVR Flow with AI Agent — beyond simple key presses |
| Maximum simplicity and fastest setup | Audio Campaign — fewer moving parts |
IVR flows consume voice minutes at the same rate as audio campaigns per connected minute. However, IVR calls tend to have longer average durations due to the interactive nature. Plan your voice minute budget accordingly.
Node Types
Each node type serves a specific purpose in your flow. Drag nodes from the palette onto the canvas and connect them in sequence.
| Node | Purpose | Configuration Options |
|---|---|---|
| Trigger | Entry point for the IVR flow. Every flow starts here. | Flow name assignment, initial caller data variables. |
| Speech | Play an audio message or TTS to the caller. Supports both pre-recorded files and real-time text-to-speech. | Audio file selection, TTS text input, language, speaker voice. |
| Gather | Collect DTMF (keypad) input from the caller. Listens for key presses and captures the result. | Max digits (1–10), timeout (1–15 seconds), terminator key (# or *), number of retry attempts before fallback, input validation regex. |
| Transfer | Transfer the call to an external phone number or SIP endpoint. The IVR hands off and the call continues on the destination. | Destination number (E.164 format), SIP URI, transfer timeout, ring duration before fallback. |
| Play Audio | Play a specific audio file without any interactive elements. Useful for informational messages at any point in the flow. | Audio file from library, playback volume level. |
| Stream ASR | Stream live audio for automatic speech recognition. Allows callers to speak rather than press keys. Available with all providers. | Language model, interim results toggle, silence timeout. |
| AI Agent | Connect the call to a configured AI agent for natural, conversational interaction. The agent understands intent and responds dynamically. Available with all providers. | AI agent selection, handoff prompt, context variables to pass to the agent, fallback behavior if agent is unavailable. |
| Dial | Initiate an outbound call to an external number from within the flow. Used for click-to-call and call bridging scenarios. | Destination number, caller ID override, ring timeout. |
Node Configuration Details
Speech Node: You can mix audio files and TTS within a single speech node. For example, play a pre-recorded greeting followed by dynamically generated content (e.g., “Hello” + TTS(customerName) + “your balance is” + TTS(amount)).
Gather Node: Configure a retry prompt that plays if the caller does not press a key within the timeout period. Typically allow 2–3 retry attempts before routing to a fallback or ending the call. Gather nodes support condition mapping for branching based on caller input.
Transfer Node: Set a ring duration (default 30 seconds). If the destination does not answer within that window, the flow can route to a voicemail message or another fallback.
Building an IVR Flow
Step-by-Step
- Navigate to IVR from the sidebar.
- Click Create Flow.
- Enter a Flow Name that describes the purpose (e.g., “Customer Support Menu”) and an optional Description.
- Drag nodes from the palette onto the canvas. Start with a Speech node after the Trigger for the welcome message.
- Configure each node by clicking on it and filling in the settings panel on the right.
- Connect nodes by dragging from a node’s output handle to the next node’s input handle.
- For branching logic, configure condition mappings on your Gather node and ensure a default path is set.
- Save the flow. The system validates connectivity and flags any nodes with missing configuration.
- Use the Preview mode to simulate the flow and test key-press behavior before deploying.
Flow Design Patterns
Pattern 1: Customer Support Menu
Trigger → Welcome Message → Gather Input
├── Press 1 → Transfer to Sales Team
├── Press 2 → Transfer to Support Team
├── Press 3 → Play Business Hours → End Call
└── Default → Retry (max 2) → HangupUse when: You need to route callers to different departments based on their needs. This is the most common IVR pattern.
Pattern 2: Information Hotline
Trigger → Play Intro → Gather Input
├── Press 1 → Play Info Message 1 → Return to Menu
├── Press 2 → Play Info Message 2 → Return to Menu
├── Press 3 → Play Info Message 3 → Return to Menu
└── Press 9 → HangupUse when: Callers need to browse through information options, such as an event schedule, product catalog, or service status updates. Include a “Return to Menu” option so callers can select multiple items without redialing.
Pattern 3: Automated Survey
Trigger → Intro Speech → Gather (Rating 1-5)
├── Valid input → Store Response → Next Question → ... → Thank You → End
└── Invalid input → Retry Prompt → After 3 retries → Skip → Next QuestionUse when: Collecting structured feedback after a service interaction. Keep surveys short (3–5 questions) to maintain completion rates.
Pattern 4: AI Agent Handoff
Trigger → Welcome → Gather
├── Press 1 → AI Agent (General Inquiry)
├── Press 2 → AI Agent (Account Support)
└── Press 9 → Transfer to Human AgentUse when: Common queries can be handled by AI, but callers should have a path to a human agent for complex issues. Set a fallback transfer if the AI agent cannot resolve the query.
Best Practices for Prompt Design
Golden rule: Keep voice prompts under 30 seconds. Callers have limited patience and will hang up if prompts are too long. Place the most important information and the most common options first.
- Be concise and directive. Use phrases like “For Sales, press 1” instead of “If you would like to speak with our sales department, you may press the number 1 key on your telephone keypad.”
- Limit menu options to 5 or fewer per level. Cognitive load increases with each option. If you need more options, use nested sub-menus.
- Always state the action before the key. “Press 1 for Sales” is clearer than “Sales — press 1.”
- Include a repeat option. Always offer “Press 9 to repeat these options” so callers who miss choices can listen again.
- Use consistent voice and tone. If using TTS, stick to one speaker voice throughout the entire flow. Mixing voices disorients callers.
- Provide an exit path. Always include an option to speak with a representative or end the call. Trap-less flows frustrate callers.
- Handle timeouts gracefully. If a caller does not press a key, play a gentle reminder and offer the options again before ending the call.
Always test before deploying. Use the built-in Preview mode to simulate every possible path through your flow, including error paths and timeouts. Test with colleagues who are unfamiliar with the flow to catch confusing prompts. A single misconfigured branch can send all callers to a dead end.
Performance Considerations
| Factor | Recommendation |
|---|---|
| Audio File Size | Keep files under 2 MB for faster playback start. Large files cause noticeable silence before audio begins. |
| TTS Latency | TTS generation at call time adds 1–3 seconds. For production flows, use pre-generated TTS from the Audio Library to eliminate this delay. |
| AI Agent Response Time | AI Agent nodes typically add 2–4 seconds for intent processing. Set caller expectations with a brief “Let me look into that” prompt. |
Limitations
- Execution model: Campaigns dial recipients based on the campaign’s dialing settings — Concurrent Calls (parallel dials) and CPS (calls initiated per second). Both default to 1 (sequential).