Introduction
What are Flows?
Flows are visual conversation builders that allow you to create AI-powered phone agents. Think of a Flow as a blueprint for how your AI agent will interact with callers - from the moment they dial in until the call ends. Key Components:- Blocks: Individual components that perform specific actions (talk, collect information, make API calls, etc.)
- Edges: Connections between blocks that define the conversation path
- Variables: Dynamic data that flows through your conversation
- No Coding Required: Visual drag-and-drop interface
- Real-time Conversations: Handle dynamic, natural conversations
- Scalable: Handle thousands of calls simultaneously
- Integrations: Connect with your existing systems and APIs
How to Navigate This Guide
This guide is organized to help you understand Flows from basic concepts to advanced features:- Start with Core Concepts - Learn the fundamental building blocks
- Explore Individual Blocks - Understand each component in detail
- Apply Testing & Best Practices - Ensure your flows work perfectly
Core Concepts
How to Change Flows
Editing Your Flow:- Enter Edit Mode: Click the “Edit” button in your flow builder
- Add Blocks: Drag blocks from the left sidebar to your canvas
- Configure Blocks: Click any block to open its settings panel
- Connect Blocks: Draw edges between blocks to define conversation flow
- Save Changes: Click “Save” to preserve your work
- Each save creates a new version of your flow
- You can revert to previous versions if needed
- Test changes before publishing to production
Connecting Blocks Using Edges
Edges are the lines that connect your blocks and define how conversations flow: Creating Edges:- Click and drag from a block’s output port (bottom side)
- Release on another block’s input port (top side)
- The connection line shows the conversation path
- Click on any edge to open the “Edit Edge” modal
- Configure Required Variables: Define variables that must be present for the edge to be taken
- Configure Variables Should Confirm: Define variables that should be confirmed before taking the edge
- Save edge settings to apply the configuration
Call Variables
What Are Call Variables? Call variables are dynamic data containers that store information throughout a call session. They’re like memory for your AI agent. Types of Variables:- User Input: Information collected from the caller
- System Data: Call metadata, timestamps, phone numbers
- API Responses: Data retrieved from external services
-
Setting Variables:
- Use Collect blocks to gather user input
- Use API Request blocks to fetch external data
- Add Custom Variables to popup Variable modal
-
Accessing Variables:
- Reference variables by:
- Assigned names prefixed with @ (e.g.,
@phone
,@name
,@email
) - Selecting from popup Variable modal
- Assigned names prefixed with @ (e.g.,
- Use in conditions:
- Pass to API requests as parameters
- Reference variables by:
-
Variable Types:
- Text: General text data
- Number: Numeric values
- Date: Date information
- Time: Time information
- Name: Person names
- Email: Email addresses
- Phone: Phone numbers
- URL: Web addresses
- Address: Physical addresses
- Currency: Monetary values
- Percentage: Percentage values
- Duration: Time durations
- Custom: User-defined data types
Call Outcome Tagging
Purpose: Call outcome tagging allows you to categorize and analyze call results for better insights and automation. How It Works:- Automatic Tagging: System tags calls as “Completed”, “Failed”, “Transferred”, etc.
- Custom Tags: Use End Call blocks to set custom outcome tags
- Conditional Tagging: Tag outcomes based on specific conditions or variables
appointment_scheduled
lead_qualified
customer_satisfied
escalation_needed
no_show_followup
- Analytics: Track success rates and common outcomes
- Reporting: Generate insights on call performance
- Automation: Trigger different post-call actions based on outcomes
Testing & Best Practices
Testing Your Flows
Simulation Testing:- Call Recording Upload: Upload existing call recordings to test flow logic
- Variable Simulation: Set test values for call variables
- Path Testing: Verify all conversation paths work correctly
- Error Testing: Test error handling and fallback scenarios
- Test Phone Numbers: Use dedicated test numbers for development
- Real-time Monitoring: Watch calls in real-time dashboard
- Performance Metrics: Monitor response times and success rates
- A/B Testing: Compare different flow versions
Best Practices for Flow Design
Conversation Design:- Keep it Natural: Design conversations that feel human and engaging
- Provide Clear Options: Give callers clear choices and next steps
- Handle Interruptions: Plan for callers who interrupt or change topics
- Use Confirmation: Verify important information before proceeding
- Test Thoroughly: Test all paths and edge cases
- Monitor Performance: Track call success rates and user satisfaction
- Plan for Errors: Always have fallback options for failures
- Document Your Flows: Keep clear documentation of flow logic
- Use Descriptive Names: Name variables clearly and consistently
- Validate Input: Always validate user input before using it
- Handle Missing Data: Plan for scenarios where variables might be empty
- Clean Up Variables: Remove sensitive data when no longer needed
Common Patterns and Workflows
Customer Service Pattern:- Start Call → Welcome and identify caller
- Collect → Understand the issue
- Filter → Route based on issue type
- API Request → Check account/order status
- Talk → Provide information or solution
- Question → Ask if issue is resolved
- Filter → Route to human if needed
- End Call → Thank and summarize
- Start Call → Welcome and identify caller
- Collect → Get appointment preferences
- API Request → Check availability
- Question → Confirm appointment details
- API Request → Book appointment
- Send SMS → Send confirmation
- End Call → Thank and confirm
- Start Call → Welcome and introduce purpose
- Collect → Gather lead information
- Question → Assess interest level
- Filter → Route based on qualification
- Transfer → Connect to sales if qualified
- End Call → Thank and follow up
Troubleshooting Guide
Common Issues and Solutions: Flow Not Responding:- Check block connections and edges
- Verify all required variables are set
- Test individual blocks for errors
- Check API endpoints and authentication
- Review Talk block configurations
- Test with different voice options
- Check speech rate and clarity
- Verify variable interpolation
- Confirm transfer destinations are correct
- Test fallback options
- Check transfer message timing
- Verify agent availability
- Check variable naming and spelling
- Verify variables are set before use
- Test variable interpolation in Talk blocks
- Validate data types and formats
- Test API endpoints independently
- Verify authentication credentials
- Check request/response formats
- Monitor API rate limits and timeouts
Conclusion
This guide provides you with everything you need to build powerful, intelligent phone agents. From basic concepts to advanced features, each block offers specific capabilities that you can combine to create sophisticated conversation flows. Next Steps:- Start Simple: Begin with basic flows using Start Call, Talk, and End Call blocks
- Add Interaction: Incorporate Collect and Question blocks for user input
- Integrate Systems: Use API Request to connect with your data
- Optimize: Apply Filter and Time Filter blocks for intelligent routing
- Test Thoroughly: Use the testing methods outlined to ensure quality