Condition branching overview

Learn how to configure condition branching

Written By Ray Tang (Administrator)

Updated at August 20th, 2025

What is condition branching?

Condition branching allows you to create smarter, more personalized flows by automatically guiding customers down different paths based on specific conditions (e.g., user responses, tags, or custom data). This helps you:

  • Deliver more relevant messages and actions to each customer
  • Save time by automating multiple outcomes within a single flow
  • Improve the overall customer experience with tailored interactions

Example use cases

Here are some common ways to use condition branching:

  1. Responding to specific keywords in incoming messages
    • If a customer sends a message containing the word “Pricing,” send them down a branch that shares your pricing information
    • If the message includes “Support,” route them to a branch handled by your support team

  1. Triggering different actions after a set wait time
    • If no reply is received within 24 hours, send a follow-up message to re-engage the customer
  2. Routing conversations based on working hours
    • Working hours (Mon–Fri): Route incoming messages to the available support team for immediate replies
    • Outside working hours (Mon–Fri): Send an automated message letting customers know when they can expect a response, or direct them to a FAQ link
    • Working hours (Sat–Sun): Forward weekend inquiries to an on-duty support group or a dedicated weekend team
    • Outside working hours (Sat–Sun): Set up an out-of-hours auto-reply and log the request for follow-up on the next working day

Setting up condition branching 

To set up condition branching, follow these steps:

  1. Click on the Condition branching node, a branch will be inserted into the flow along with a Path 1 and Else branch. 

 

  1. On the right-hand side of the screen, you will see the node form where you can configure the following:
  • Edit condition name 
  • Edit branch name 
  • Configure condition settings
  • Add new condition by clicking Add condition
  • Add new branch by clicking Add branch
  • Change branch priority  

 

 

Edit condition name 

You can rename each condition at the top of the node form to make it easier to identify and manage your branches, specially for big and complex flows.

The condition name will also appear in the condition node on the flow canvas, so you can easily distinguish it from other conditions at a glance.

Edit branch name 

You can also customize the name of each branch in the node form under “Branch name”. This will help you can quickly recognize all the different branches you have under this condition.

 

Configure condition settings

You can set the conditions that enrolled contacts need to fulfill before they can continue to the following node. 

For example, in the example below, if the message content contains the term “Cat”, the contact will be directed to this branch and its following node.

 

When working with keyword properties, you can also click Add value to add more than one keywords, allowing you to create more precise and targeted branching logic.

ℹ️ Learn more about flow variables and operators in the Flow variables overview article and Flow operators overview article

 

 

Add condition 

If you want to add more condition, click Add condition in the node form. This allows you to stack multiple conditions together, so each path or branch is tailored to your needs.

 

For example, If you want to build a sub-flow for contacts with the “VIP” label who are also assigned to “Team SEA”, first add the condition for the label, then add another condition for the team.

Add branch

To add a new branch, click Add branch in the node form. This allows you to create additional pathways for contacts that don’t meet the conditions in your existing branches.

 

 

Change branch priority 

You can change the priority of branches by dragging and rearranging them in the node form. Branches at the top of the list will always run first, so make sure the most specific or critical conditions are prioritized accordingly.

 

💡 What does priority mean in condition branching?

  • Priority determines the order in which the system evaluates each path. When a contact reaches this step, the system first checks if they meet the condition for Path 1. If not, it moves on to Path 2, and so on
  • Condition branching node always includes an 'Else' path, which captures any contacts that do not meet the conditions of the other paths
 

 

Else branch

Enrolled contacts will continue down all the adjacent branches until they hit one of the branch’s conditions. 

If the enrolled contact did not meet any of the conditions across the configured branches, they will then continue their journey down the Else branch.