Branch
Control your chatbot execution with conditional logic and branching paths.
Overview
The Branch allows you to create branching logic in your chatbots. Based on the values from previous steps or conversation responses, you can route users to different paths—enabling personalized and intelligent conversation flows.
How It Works
A Branch evaluates one or more conditions and routes the conversation based on whether the conditions are true or false.
Defining Conditions
Conditions are rules that evaluate data from your chatbot. You can reference:
- Fields from previous step responses
- User message content
- Form submission data
- Tool outputs (e.g., classified intent)
Condition Structure
The data field to evaluate
How to compare (equals, contains, etc.)
The value to compare against
Supported Operators
equalsExact match comparison
not equalsValue is different
greater thanNumeric comparison (>)
greater than equalsNumeric comparison (>=)
less thanNumeric comparison (<)
less than equalsNumeric comparison (<=)
modulus equals zeroValue is divisible (remainder is 0)
modulus not equals zeroValue is not divisible (remainder is not 0)
Combining Conditions
You can add multiple conditions and combine them using logical operators:
AND
All conditions must be true for the overall result to be true.
intent = "sales" AND urgency = "high"OR
At least one condition must be true for the overall result to be true.
intent = "sales" OR intent = "support"Example Use Cases
Intent-Based Routing
Route job applicants to an HR chatbot and sales inquiries to a lead qualification flow.
IF intent = "Job Application Submission" → HR FlowELSE → Sales FlowUrgency Escalation
Escalate high-priority issues to human agents while handling routine queries automatically.
IF urgency_level > 8 → Human HandoffELSE → Continue with BotForm Validation
Check if required information was provided before proceeding.
IF email is not empty AND phone is not empty → Process RequestELSE → Ask for Missing InfoBest Practices
- 1
Keep conditions simple
Complex nested conditions are hard to debug. Break them into multiple steps if needed.
- 2
Always handle the false path
Don't leave the false branch empty—provide a fallback experience.
- 3
Test edge cases
Test with empty values, unexpected inputs, and boundary conditions.