Learn how to use a condition splitter in your call flow design that will route callers to different branches depending on different data associated with the caller.
User level: Admin
The Condition Splitter
A Condition splitter step allows the use of contact or call information stored in CloudTalk to decide the route a call will take in the call flow. You can set logical conditions to filter incoming calls into different subsequent actions. These filtering conditions can be based on details about a caller's phone number, like a country code, or information stored about a saved contact, such as tags, industry, our custom attributes.
Add a Condition Splitter to Your Call Flow
1. From the Dashboard, click Numbers.
2. In the My numbers tab, find the number you want to configure.
3. Click + Configure (or the flow name, if one exists) in the Call Flow column.
4. On the canvas, click the + button where you want the Condition Splitter to go.
5. In the step library, under Routing logic, select Condition Splitter.
The Condition Splitter step appears on the canvas. Click it to open its config panel on the right.
Set Up Conditions
When you open a Condition Splitter, the config panel shows Condition Splitter settings with two options:
Add new to create a condition.
No other condition is met checkbox to create a failover branch.
Create a condition
1. Click Add new. The panel expands to show three fields:
Property: the data you want to check (e.g., Call - External number, Contact - Tags).
Operand: the comparison logic (e.g., starts with, contains, is equal to).
Value: the value to match against.
2. Choose a Property from the dropdown.
3. Choose an Operand.
4. Enter a Value (unless the operand is "is set" or "is empty," which don't need one).
5. Click Confirm to save the condition.
Each confirmed condition creates a branch on the canvas. The branch card shows a summary of the condition.
Add multiple conditions
Click Add new again to create additional conditions. Each one becomes a separate branch.
If you add more than one condition to the same branch, calls must meet ALL conditions on that branch to be routed there (AND logic).
Create a failover branch
Always create a fallback for calls that don't match any condition:
Check the No other condition is met box.
Click Save.
Calls that don't match any of your other conditions will flow into this branch.
Save the step
After setting up all your conditions and the failover, click Save in the config panel. Then click Save in the top-right corner of the editor to make your flow live.
Build Out Each Branch
Once your conditions are set, add follow-up steps to each branch using the + button below it. For example:
A condition matching French phone numbers (+33) could route to a Ring to step targeting your French-speaking group.
A condition matching VIP tags could route to a Ring to step targeting a priority agent.
The failover branch could route to a general Ring to step or Voicemail.
Condition Splitter Logic
Property
Select the data you want to observe about the call. This can be call data or contact data, if the caller is stored as a contact in CloudTalk.
When setting a Value for each Property type, make sure you enter the data in the right format. Pay attention to letter casing, spaces, and spelling. Ensure phone numbers or prefixes are in E.164 format.
Call data
Call - External number
Call - Internal number
Call - Waiting time (in seconds)
Contact data
Contact - Name
Contact - Title
Contact - Company
Contact - Industry
Contact - Address
Contact - City
Contact - ZIP Code
Contact - State
Contact - Tags
Contact - Custom fields
Contact - Type
Operand
Choosing an appropriate operand is important for your condition to run correctly. Different operands will be available for different property types.
Spaces count! When you tap the space bar, this is included as a character in the match comparison that your operand performs. Take caution, particularly when using ends with and is equal to operands.
Call flow not working for these condition types? Check:
Did you include a space at the end of your Value input?
Is it possible that a space was saved at the end of the contact's data entries being checked?—If this is a concern for you, we recommend switching to a contains operand.
Operand Type | Logic | Match Examples | Use Case Notes |
is equal to | only | Contact - ZIP Code is equal to 10100
✅
❌
|
|
is not equal to |
| Contact - ZIP Code is not equal to 10100
✅
❌
|
|
starts with |
| Call - External number starts with +420
✅
❌
|
|
ends with |
| Contact - ZIP Code ends with 51
✅
❌
|
|
contains |
| Contact - Tags contains (select tag) VIP
✅
❌
|
|
is set |
| Contact - Name is set
✅
❌
|
|
is empty |
| Contact - State is empty
✅
❌
|
|
Need help or have a question? Just reach out through our Support portal — we’re here for you.





