IVR Flow Builder is a web-based tool for creating Interactive Voice
Response (IVR) workflows. It provides a visual interface for designing
call flows using a drag-and-drop approach, making it easy to create
complex IVR systems without writing code.
Tip: Before starting a new IVR flow, sketch out your
desired call flow on paper to plan the structure and identify all
possible paths.
Getting Started
Initial Setup
When you first open the application, you'll see a blank canvas with
a Start node.
The left sidebar contains all available node types.
The top toolbar provides access to save, load, and export functions.
Basic Workflow
Drag nodes from the sidebar onto the canvas
Connect nodes by dragging from one node's output to another node's
input
Configure each node by clicking its edit icon (✎)
Validate your flow using the built-in validator
Export to Asterisk dialplan when ready
User Interface
Canvas Controls
Zoom: Use the + and - buttons in the bottom right
corner
Pan: Click and drag on empty canvas space
Sidebar: Toggle sidebar width using the arrow
button
Node Controls
Move: Click and drag nodes
Edit: Click the ✎ icon
Delete: Select node and press Delete key
Connect: Drag from output port to input port
Node Types
Basic Elements
Node
Description
Configuration
Start Node
Entry point for the IVR flow
Context name
Play Audio
Plays audio file to caller
Sound file name
Dial
Makes outbound call
Phone number, timeout, continue on hangup
Answer
Answers incoming call
None required
Hangup
Ends the call
Optional message
Flow Control
Node
Description
Configuration
Outputs
Menu
Creates an IVR menu with multiple options
Prompt sound file
Menu options (1-6)
Invalid input handling
Timeout duration
8 outputs:
Options 1-6
Invalid
Timeout
Time Condition
Routes calls based on time/date
Time range
Days of week
Specific dates
Timezone
2 outputs:
In Hours
After Hours
GotoIf
Conditional branching based on variable value
Variable name
Condition (=, >, <, ≠)
Value to compare
2 outputs:
True
False
Goto
Unconditional jump to another context
Target context
Target extension
Target priority
No outputs
Best Practice: Always handle both success and failure
paths in your flow control nodes to ensure proper error handling.
Menu Node Usage
The Menu node is one of the most commonly used flow control elements.
Here's how to use it effectively:
Setup
Record clear prompts for your menu options
Keep options simple and clear
Limit menu depth to 2-3 levels
Always provide a way to reach an operator
Configuration
Set appropriate timeout values (3-5 seconds typically)
Configure invalid input handling
Set up timeout handling
Consider repeat options for unclear input
Testing
Test all menu options
Verify invalid input handling
Check timeout behavior
Test with different user inputs
Time Condition Usage
Time Condition nodes help you route calls differently based on time
and date:
Business Hours
Set regular business hours
Configure different weekend handling
Set up holiday schedules
After Hours
Voicemail options
Emergency contact information
Next business day handling
Actions
Node
Description
Configuration
Outputs
Queue
Places caller in a queue
Queue name
Timeout settings
Announcements
Max wait time
4 outputs:
Answered
Timeout
Full
Failed
Record
Records caller audio
Filename
Format (wav/gsm)
Max duration
Silence detection
2 outputs:
Success
Failed
Set Variable
Sets a channel variable
Variable name
Value
1 output:
Next
Read Input
Reads DTMF input from caller
Variable name
Prompt
Max digits
Timeout
1 output:
Next
Important: When using Record nodes, ensure you have
sufficient storage space and implement proper file cleanup procedures.
Queue Management
Effective queue management is crucial for handling high call volumes:
Queue Configuration
Set appropriate max wait times
Configure position announcements
Set up periodic announcements
Configure agent wrap-up time
Queue Features
Position announcements
Estimated wait time
Periodic announcements
Queue callback options
Advanced
Node
Description
Configuration
Outputs
AGI
Executes custom scripts
Script path
Arguments
Timeout
1 output:
Next
Conference
Creates/joins conference rooms
Room name
PIN options
Max participants
Recording settings
No outputs
Custom Context
Custom dialplan integration
Context name
Extension
Priority
No outputs
Say
Text-to-speech output
Text content
Language
Type (number/date/etc)
1 output:
Next
AGI Script Integration
AGI (Asterisk Gateway Interface) allows integration with external
scripts:
Script Development
Use any programming language
Handle input/output properly
Implement error handling
Add logging for debugging
Integration Points
Database lookups
External API calls
Complex calculations
Custom integrations
Tip: Always implement proper error handling and
logging in AGI scripts to facilitate debugging.
Common Flow Examples
Basic Menu System
Start → Answer → Play Welcome → Menu
Menu Option 1 → Queue
Menu Option 2 → Play Hours → Hangup
Menu Option 0 → Transfer to Operator
Menu Invalid → Play Invalid → Return to Menu
Menu Timeout → Play Timeout → Hangup
Business Hours Routing
Start → Answer → Time Condition
Time In Hours → Menu
Time After Hours → Play Closed → Voicemail → Hangup
Queue with Callback
Queue → Check Position
Position > 5 → Offer Callback → Read Input
Input = 1 → Record Number → Queue Callback
Input = 2 → Return to Queue
Working with Nodes
Quick Tip: You can drag-and-drop nodes from the
sidebar or double-click on the canvas to add nodes quickly. Use the
mouse wheel while holding CTRL to zoom in/out of the canvas.
Node Basics
Node Anatomy
Title Bar: Contains node type and edit icon
Input Ports: Left side connection points
Output Ports: Right side connection points
Configuration Display: Shows current settings
Node ID: Unique identifier for the node
Node States
State
Visual Indicator
Description
Normal
Default appearance
Node is configured and ready
Selected
Blue highlight
Node is currently selected
Error
Red border
Configuration error or validation failure
Connected
Green indicator on ports
Port has active connection
Node Operations
Adding Nodes
There are three ways to add nodes to your flow:
Drag and Drop
Click and hold a node type from the sidebar
Drag it onto the canvas
Release to place the node
Quick Add
Double-click on the canvas
Select node type from the popup menu
Node will be placed at click location
Keyboard Shortcut
Press 'N' to open node menu
Type node type name
Press Enter to place at cursor
Node Configuration
To configure a node:
Click the edit icon (✎) on the node
Fill in required fields in the configuration panel
Required fields are marked with *
Invalid entries show red highlights
Validation messages appear below fields
Click Save or press Enter to apply changes
Important: Always validate your input values.
Invalid configurations can cause unexpected behavior in your IVR
flow.
Working with Connections
Creating Connections
Click and hold on an output port (right side)
Drag to an input port (left side) of another node
Release to create the connection
Pro Tip: Hold Shift while dragging to create a
straight line connection instead of a curved one.
Connection Rules
Input ports can only accept one connection
Output ports can connect to multiple inputs (except in special
cases)
Connections cannot create loops (except in specific flow control
nodes)
Some node types have specific connection requirements
Managing Connections
Action
How to Perform
Notes
Delete Connection
Right-click on connection line
Or select and press Delete
Reroute Connection
Drag from middle point
Creates new routing path
Add Checkpoint
Double-click on connection line
Helps organize complex flows
Label Connection
Double-click label area
Adds description to connection
Organizing Nodes
Layout Best Practices
Maintain left-to-right flow direction
Group related nodes together
Leave space for future additions
Align nodes for better readability
Use connection labels for clarity
Node Alignment Tools
Use these keyboard shortcuts for precise alignment:
Ctrl + Left/Right - Align horizontally
Ctrl + Up/Down - Align vertically
Ctrl + A - Select all nodes
Ctrl + G - Group selected nodes
Ctrl + Space - Auto-arrange selected nodes
Organization Tip: Use the grid snap feature (toggle
with 'G' key) to maintain consistent spacing between nodes.
Node Management
Common Operations
Operation
Keyboard Shortcut
Description
Copy Node
Ctrl + C
Copies selected node with configuration
Paste Node
Ctrl + V
Pastes copied node at cursor
Delete Node
Delete
Removes node and its connections
Duplicate Node
Ctrl + D
Creates copy at offset position
Reset Node
Ctrl + R
Resets node to default configuration
Node Validation
Nodes are automatically validated when:
Configuration is changed
Connections are modified
Flow validation is run
Before export operations
Validation Warning: Address all validation errors
before exporting your flow. Invalid configurations may cause runtime
errors.
Troubleshooting Nodes
Common Issues
Issue
Possible Cause
Solution
Node won't connect
Incompatible port types
Check node documentation for valid connections
Configuration not saving
Validation errors
Check error messages in configuration panel
Node not executing
Missing connections
Verify all required connections are made
Unexpected behavior
Incorrect configuration
Review node settings and documentation
Debug Tools
Node Inspector: Right-click → Inspect
Connection Tester: Right-click → Test Connection
Flow Validator: Tools → Validate Flow
Debug Console: View → Show Debug Console
Saving and Loading IVR Flows
Best Practice: Save your work frequently and maintain
version numbers in your filenames for better tracking of changes.
Missing Start Node: Flow must begin with a
Start node
Disconnected Nodes: All nodes must be connected
to the flow
Invalid Configuration: Required fields must be
filled
Dead Ends: Flow paths must terminate properly
Invalid References: All referenced resources
must exist
Deployment Guidelines
Deployment Checklist
Deployment Tip: Always test exported flows in a
development environment before deploying to production.
Export Troubleshooting
Common Issues and Solutions
Issue
Cause
Solution
Export Fails
Invalid configuration
Run validation and fix errors
Missing Nodes
Disconnected components
Check node connections
Invalid Dialplan
Syntax errors
Review and fix dialplan syntax
Resource Errors
Missing files/resources
Verify all referenced resources exist
Flow Validation
Pro Tip: Enable real-time validation in the settings
to catch issues as you build your flow rather than waiting until the
end.
Validation Overview
Validation Process
Flow validation checks for:
Structural integrity
Node configurations
Connection validity
Resource availability
Logic consistency
Validation Levels
Level
Icon
Description
Action Required
Error
❌
Critical issues that must be fixed
Must fix before export
Warning
⚠️
Potential issues or best practice violations
Review recommended
Info
ℹ️
Suggestions for improvement
Optional changes
Success
✅
Passed validation checks
None needed
Validation Rules
Structural Rules
Rule
Description
Level
Example
Single Start Node
Flow must have exactly one Start node
❌ Error
Multiple start nodes found
Connected Nodes
All nodes must be connected to the flow
❌ Error
Isolated nodes detected
No Cycles
Flow cannot contain infinite loops
⚠️ Warning
Circular path detected
Terminal Nodes
Flow paths must end properly
❌ Error
Missing hangup node
Node Configuration Rules
Start Node
Must have unique context name
No incoming connections
At least one outgoing connection
Menu Node
Must have prompt configured
At least one option connected
Invalid/Timeout handlers recommended
Play Sound
Valid sound file reference
One incoming connection
One outgoing connection
Hangup Node
Must have incoming connection
No outgoing connections
Optional message configuration
Validation Process
1. Initial Scan
Basic structure check
Node count verification
Connection presence
2. Deep Validation
Node configurations
Connection logic
Resource references
3. Path Analysis
Flow path tracing
Dead end detection
Loop detection
4. Report Generation
Error listing
Warning summary
Improvement suggestions
Common Validation Issues
Structural Issues
Issue
Detection
Solution
Disconnected Nodes
Node has no incoming or outgoing connections
Connect node to flow or remove if unused
Missing End Points
Path doesn't terminate properly
Add Hangup or transfer node to end path
Invalid Connections
Connection between incompatible nodes
Review and correct node connections
Duplicate Start
Multiple Start nodes detected
Remove extra Start nodes
Configuration Issues
Menu Configuration
❌ Error: Menu node 'Menu1' has no prompt configured
❌ Error: Menu node 'Menu1' missing invalid input handler
⚠️ Warning: Menu node 'Menu1' timeout handler recommended
Sound File References
❌ Error: PlaySound node 'Welcome' references missing file
⚠️ Warning: Sound file 'menu-prompt' may not be installed
ℹ️ Info: Consider adding alternate language prompts
Validation Tools
Built-in Validators
Real-time Validator
Immediate feedback
Visual indicators
Quick fixes
Full Flow Validator
Complete analysis
Detailed reports
Path visualization
Resource Checker
Sound file verification
Script availability
Context references
Export Validator
Pre-export checks
Format validation
Compatibility verification
Validation Best Practices
During Development
Enable real-time validation
Address errors immediately
Review warnings regularly
Test paths as you build
Before Export
Run full flow validation
Check all resource references
Verify critical paths
Document any accepted warnings
Regular Maintenance
Schedule periodic validations
Update resource references
Clean up unused nodes
Optimize flow paths
Critical Reminder: Always run a complete validation
before deploying to production. Unvalidated flows may cause system
issues or poor user experience.
Understanding Validation Reports
Report Sections
Flow Validation Report
======================
Date: 2024-01-26 15:30:00
Flow Name: Main IVR
Critical Errors (2)
------------------
❌ Start node missing
❌ Disconnected node: Menu2
Warnings (3)
-----------
⚠️ Menu1: No timeout handler
⚠️ Possible infinite loop detected
⚠️ Sound file 'welcome.wav' not found
Information (2)
-------------
ℹ️ Consider adding alternate language support
ℹ️ Path optimization possible for Sales flow
Statistics
----------
Total Nodes: 12
Connected Nodes: 11
Terminal Paths: 4
Resource References: 8
Flow Simulation
New Feature: The IVR Flow Builder now includes a powerful flow simulation tool that lets you test your IVR flows without deploying them.
Simulation Overview
What Is Flow Simulation?
Flow simulation allows you to run a virtual execution of your IVR flow to:
Validate the logical structure of your flow
Test different paths through your IVR
Identify potential issues before deployment
Generate execution reports for documentation
Running a Simulation
Simulation Process
Start Simulation
Click the "Simulate Flow" button in the toolbar
The system will analyze your flow and prepare for simulation
Review Results
The simulation report will appear with several tabs
Each tab provides different information about your flow
Simulation Results Tabs
Tab
Content
Purpose
Summary
Overview of simulation results
Quick assessment of flow health
Flow Story
Narrative description of call flow
Understand caller experience
Issues
Errors and warnings found
Identify problems to fix
Statistics
Metrics about your flow
Quantitative analysis
Flow Story
The Flow Story feature automatically generates a human-readable narrative of your IVR flow, making it easy to understand the caller's journey.
Example Flow Story:
1. The call begins at the Start node
2. The system answers the call
3. The system plays a welcome message to the caller
4. The caller is presented with a menu with 3 options
5. If the caller selects option 1, they are transferred to the sales queue
6. If the caller selects option 2, they hear the business hours information
7. If the caller selects option 3, they can leave a voicemail
8. If the caller doesn't select an option, the system repeats the menu
9. After three invalid attempts, the call is transferred to an operator
Simulation Statistics
The Statistics tab provides useful metrics about your IVR flow:
Total Nodes: Number of nodes in your flow
Connected Nodes: Nodes properly connected to the flow
Disconnected Nodes: Nodes not connected to the main flow
Terminal Paths: Number of ways a call can end
Max Path Depth: Longest path through the flow
Input Prompts: Number of places callers need to provide input
Flow Visualization
New Feature: The IVR Flow Builder now includes enhanced visualization tools to help you understand and debug your flows.
Visualization Features
Path Highlighting
After running a simulation, you can visualize the execution path:
Executed nodes are highlighted in green
Connection paths are animated to show the flow direction
Click on different paths in the report to see them highlighted on the canvas
Node Status Indicators
Nodes display status information based on validation and simulation:
Green dot: Node is properly configured and connected
Yellow dot: Node has warnings or potential issues
Red dot: Node has configuration errors or is disconnected
Blue outline: Node is currently selected
Debugging with Visualization
Flow Debugging Process
Run the flow simulation
Review the Issues tab for errors and warnings
Click on an issue to highlight the relevant node in the canvas
Fix the identified issue
Re-run the simulation to verify the fix
Interactive Debugging:
When you click on an error message like "Menu1 has no timeout handler," the system will:
Center the canvas on the problematic node
Highlight the node with a pulsing effect
Open the node's configuration panel if appropriate
Provide context-specific help for resolving the issue
Mermaid Diagram Visualization
The new Mermaid diagram visualization provides an alternative view of your IVR flow:
Click "Generate Mermaid Diagram" to create a text-based representation
The diagram shows nodes, connections, and key configuration details
Use the diagram for documentation or sharing with team members
The diagram updates in real-time as you modify your flow
Pro Tip: Mermaid diagrams can be embedded directly in Markdown documentation, wikis, and many project management tools.
Best Practices
Design
Plan your flow before building
Keep it simple and logical
Use clear naming conventions
Document complex sections
Test all paths
Important: Always test your IVR flow thoroughly
before deploying to production. Ensure all paths are working as
expected and error handling is in place.