If/Else Branching
The If/Else action is one of the most powerful tools inside the workflow builder. It evaluates contact-specific data and splits your automation into multiple branches based on whether conditions are met, letting you create personalized, data-driven workflows that adapt dynamically to contact behavior, attributes, and calculated values.
What If/Else Branching Does
If/Else creates conditional decision points in your workflows. When a contact reaches an If/Else node, the system evaluates the conditions you defined for each branch. The contact flows down the first matching branch, or into the None branch if no conditions match.
Core capabilities:
- Up to 10 custom branches per If/Else action, plus the automatic None branch
- Conditions based on contact fields, tags, custom fields, appointment data, email engagement, pipeline stage, or any stored value
- AND/OR logic within each branch to create complex multi-condition rules
- Dynamic values that pull live data from earlier workflow steps for real-time comparisons
- Nested If/Else blocks for multi-layered decision trees
- Branch reordering to control priority when multiple conditions could match
Branches are evaluated in order from top to bottom. A contact enters the first branch whose conditions are met, then bypasses all remaining branches. The None branch is created automatically, cannot be removed, and serves as the default fallback path.
Key Configuration Options
Adding If/Else to a workflow: Navigate to Automation > Workflows and open an existing workflow or create a new one. Click the + button on the workflow line where you want the decision point, then select If/Else from the actions library. Choose Build My Own to create custom conditions from scratch, or Recipe to start from a prebuilt template for common scenarios like checking tags, appointment status, or email engagement.
Configuring conditions: Each branch consists of one or more conditions. Select the field you want to evaluate (contact field, tag, custom field, appointment data, email event), choose an operator (equals, does not equal, contains, is greater than, is empty), and set the comparison value. Click Add Segment to add additional conditions within the same branch. Use AND to require all conditions to be true, or OR to allow any single condition to pass.
Using dynamic values: Instead of typing a static value to compare against, pull in a live value from an earlier workflow step or a stored field. In the right-hand input, switch the value type to Dynamic Value, then select a value from an earlier workflow step output or a stored contact field. Dynamic values work with numeric fields, dates, dropdown selections (using option IDs), and monetary amounts.
Managing branches: Click Add Branch inside the If/Else configuration panel to create new paths. Click the three-dot menu on any branch to Duplicate Branch for faster setup. Click Reorder Branches to drag branches into the desired order. The None branch cannot be reordered and always remains at the bottom.
Power Features
Pairing Wait steps with If/Else: Give contacts time to take an action (open an email, book an appointment, complete a purchase) before the If/Else evaluates the result. For example, send an email with a limited-time offer, wait 48 hours or until the contact clicks a link, then use If/Else to check whether they clicked. Send clickers a discount code via SMS, and send non-clickers a reminder email.
Nesting If/Else for multi-layered logic: Place If/Else actions inside the branches of other If/Else actions to create nested decision trees. For example, the first If/Else checks the contact’s location. Inside the “Local” branch, a second If/Else checks whether they have booked an appointment. Keep nesting to two or three levels at most to maintain readability.
Tag-based segmentation: Check whether a contact has a specific tag like “Existing Customer.” If yes, send renewal or upsell messaging. If no, send new-customer onboarding content. This prevents existing customers from receiving acquisition-focused campaigns and ensures every message is relevant to the recipient’s status.
High-value deal detection with dynamic values: When an opportunity is created or updated, use dynamic values to compare the deal amount. If the value is $25,000 or more, route the contact to a priority follow-up path with a personal call from a senior rep. If the value is below that threshold, continue with the standard automated nurture sequence.
Pro Tips
- Name branches descriptively with labels like “VIP Customer” and “New Lead” instead of “Branch 1” and “Branch 2” so the workflow canvas is scannable at a glance.
- Keep conditions simple by limiting each branch to four or five conditions. If more conditions are needed, split the logic into multiple If/Else actions in sequence.
- Always plan for the None branch by adding at least a notification or tag action so you can track contacts that fall through without matching any condition.
- Use Wait before If/Else for engagement checks to give contacts time to open emails or click links before evaluating their behavior.
- Audit branch order regularly because branches are evaluated top to bottom. A broadly defined branch placed too high can capture contacts that should have matched a more specific branch below it.
Common Questions
How many branches can a single If/Else action have?
You can create up to 10 branches per If/Else action, plus the automatic None branch. If you need more paths, chain multiple If/Else actions in sequence.
What happens when two branches are both true for a contact?
The contact enters the first matching branch from top to bottom. Only one branch executes per If/Else action. Reorder your branches so the most specific conditions appear at the top.
Can I delete the None branch?
No. The None branch is created automatically and cannot be removed. It serves as the fallback path for contacts that do not match any defined condition. You can rename it and add actions to it.
How do I check whether a contact opened an email before branching?
Add a Wait action before the If/Else step. Configure the Wait to pause until the email is opened or a set time passes (for example, 24 hours). Then use the If/Else action to check the email event status.
What is the difference between AND and OR in condition groups?
AND requires every condition in the group to be true for the branch to match. OR requires only one condition to be true. You can combine both by creating multiple segments within a single branch.