Skip to main content

What Are Workflows?

Workflows are visual, node-based systems that allow you to create sophisticated call routing and processing logic. They enable you to build applications that go beyond what a single agent can accomplish, combining multiple agents, conditional logic, function calls, and integrations.

Workflow Components

Nodes

Nodes are the building blocks of workflows. Each node represents a specific action or decision: Agent Nodes: Connect to AI agents to handle conversations. You can use different agents for different parts of the workflow. Function Nodes: Execute custom functions or API calls. These can fetch data, update systems, or trigger external actions. Condition Nodes: Route calls based on conditions. Conditions can check time of day, caller information, conversation state, or any other data. Transfer Nodes: Transfer calls to human agents or external systems. This enables human-in-the-loop scenarios. Wait Nodes: Pause execution for a specified duration. Useful for delays or scheduled actions. Loop Nodes: Repeat actions based on conditions. Enable iterative processing or retry logic.

Connections

Connections define the flow between nodes: Sequential Flow: Standard connections that execute nodes one after another. Conditional Flow: Connections that branch based on node outputs or conditions. Parallel Flow: Multiple paths that can execute simultaneously. Loop Flow: Connections that create loops for iterative processing.

Variables

Variables store and pass data between nodes: Input Variables: Data that enters the workflow, such as caller information or initial context. Node Outputs: Data produced by nodes that can be used by subsequent nodes. Global Variables: Variables accessible throughout the workflow. Type Safety: Variables have types (string, number, boolean, object) to ensure data integrity.

Workflow Design Patterns

Simple Routing

The simplest workflow pattern routes calls to a single agent:
Start → Agent Node → End
This is equivalent to using an agent directly but provides a foundation for expansion.

Conditional Routing

Route calls based on conditions:
Start → Condition Node → [True Path] → Agent A
                      → [False Path] → Agent B
Common conditions include:
  • Time of day (business hours)
  • Caller ID or phone number
  • Language preference
  • Customer type or segment

Multi-Agent Handoff

Pass calls between multiple agents:
Start → Agent A (Initial Greeting) → Condition → Agent B (Support)
                                              → Agent C (Sales)
Each agent handles a specific part of the conversation, with smooth handoffs between them.

Human Escalation

Escalate to human agents when needed:
Start → Agent → Condition (Needs Human?) → Transfer to Human
                                      → Continue with Agent
The agent can detect when human intervention is needed and seamlessly transfer.

Function Integration

Integrate with external systems:
Start → Function (Fetch Customer Data) → Agent (Uses Data) → Function (Update System) → End
Functions can fetch data before conversations, update systems during calls, or trigger actions after calls.

Parallel Processing

Execute multiple operations simultaneously:
Start → [Function A] ┐
       [Function B] ├→ Agent (Uses Both Results)
       [Function C] ┘
Parallel execution improves performance when operations are independent.

Building Workflows

Planning Your Workflow

Before building, plan: Goal: What should the workflow accomplish? Define clear success criteria. Flow: Map out the logical flow of the conversation or process. Decisions: Identify decision points and conditions. Integrations: Determine what external systems need to be involved. Error Cases: Plan how to handle errors and edge cases.

Creating Nodes

Add Nodes: Add nodes from the node palette to your workflow canvas. Configure Nodes: Set node properties including which agent to use, what function to call, or what condition to check. Name Nodes: Use descriptive names that make the workflow self-documenting. Organize Visually: Arrange nodes logically to show flow clearly.

Connecting Nodes

Create Connections: Connect nodes by dragging from output to input. Set Conditions: For conditional connections, define the conditions that determine which path to take. Test Connections: Verify that connections work as expected. Handle Loops: Be careful with loops to avoid infinite execution.

Testing Workflows

Simulation: Test workflows in simulation before connecting to real phone numbers. Test All Paths: Ensure all conditional paths are tested. Test Edge Cases: Test error conditions and edge cases. Monitor Execution: Watch workflow execution to identify issues.

Advanced Workflow Features

State Management

Workflow State: Workflows maintain state throughout execution. Variable Persistence: Variables persist across nodes and can be accessed throughout the workflow. State Transitions: Define how state changes as the workflow progresses.

Error Handling

Error Nodes: Add error handling nodes to catch and handle failures. Fallback Paths: Define fallback paths when primary operations fail. Error Logging: Log errors with sufficient context for debugging. User Communication: Communicate errors to users in helpful ways.

Performance Optimization

Minimize Nodes: Each node adds processing time. Keep workflows efficient. Use Parallel Processing: Execute independent operations in parallel. Cache Results: Cache expensive function results when appropriate. Optimize Conditions: Place most common conditions first.

Workflow Best Practices

Organization

Keep Workflows Focused: Each workflow should have a clear, single purpose. Use Descriptive Names: Name workflows and nodes clearly. Document Complex Logic: Add comments for complex routing logic. Version Control: Keep versions of workflows for easy rollback.

Error Handling

Plan for Failures: Always include error handling. Provide Fallbacks: Design fallback paths for critical operations. Log Errors: Ensure errors are logged with context. User-Friendly Messages: Provide helpful error messages to users.

Testing

Test Thoroughly: Test all paths and conditions. Use Simulation: Always test in simulation first. Monitor Production: Closely monitor workflows in production. Iterate Based on Data: Improve workflows based on real usage data.

Next Steps

Phone Numbers

Learn how to manage phone numbers and connect them to your agents and workflows.