Branch node
The branch node (type: branch) evaluates a condition declared in its own config and routes the contact down one of two or more outgoing edges.
How it works
- A contact arrives at the branch node
- The engine evaluates the condition stored on the node’s
configagainst the contact’s current state - The condition produces a port label (e.g.
"true","false","gold","silver","default") - The contact follows the edge whose
labelmatches that port
Edges themselves carry no logic — they’re labelled pointers from a node’s output port to the next node. All branching lives inside the branch node’s config.
Condition types
Contact property
Branch based on a field on the contact profile:
contact.plan == "pro"→ Yes pathcontact.total_orders >= 5→ Yes pathcontact.city == "Mumbai"→ Yes path
Operators: ==, !=, >, >=, <, <=, contains, starts_with, is_set, is_not_set.
Event property
Branch based on a property from the triggering event or a recent event:
event.amount > 5000→ High-value pathevent.category == "electronics"→ Electronics path
Engagement
Branch based on how the contact engaged with a previous send node in this journey:
- “Opened the email sent at step 3” → Yes
- “Clicked any link” → Yes
- “Did not open within 24 hours” → No
This is the most common pattern: Send → Wait → Branch on engagement → send follow-up or exit.
Segment membership
Branch based on whether the contact is currently in a segment:
- “Is in segment: VIP customers” → VIP path
- “Is not in segment: Churned” → Active path
Multi-branch
Instead of yes/no, create 3+ paths:
- Path A:
contact.tier == "gold" - Path B:
contact.tier == "silver" - Path C:
contact.tier == "bronze" - Default: everyone else
Configuration
- Click the branch node on the canvas
- In the config panel, select the condition type
- Define the condition(s)
- Connect each output port to the next node in that path
The branch node shows labeled output ports — one per condition plus a “Default” port.
Tips
- Keep branches simple — one condition per branch node. Chain multiple branch nodes for complex logic.
- Always connect the “Default” path — contacts without a match need somewhere to go.
- Use engagement branches after send+wait combos — it’s the most powerful pattern in journey design.
What’s next
- Split (A/B) node — random distribution instead of conditional
- Exit node — end the journey