Using Branch Block
The Branch is a workflow block for defining multiple alternative paths in one place. Instead of chaining many separate Condition blocks (hard to read and maintain), you add branches inside a single block and set rules for each. The system evaluates branches top → bottom and sends the contact down the first branch whose rules are met. This keeps complex logic clear, compact, and easy to maintain.
Why use it
- More order: Replace long Condition chains with one tidy decision point.
- Faster reviews: All rules are visible side-by-side — no more opening blocks and memorizing details.
- Easy edits: Label, duplicate, collapse, and rename branches without rebuilding logic.
Setting Up Branch Rules
- Open or create a workflow in the Automation → Workflows section.
- Drag the Branch block from the left sidebar into the workflow.
- Configure branches. You can base its rules on any of the following:
- Start event parameter — context of the event that triggered the workflow)
- Contact field
- External event — tracked behavioral events (e.g., app actions) and their attributes
- Event in messages — engagement with earlier Message blocks)
- Segment membership — checking the input to the audience lists you’ve already built
- Current day/time — check date, days of the week, time
- Channel availability — Email, SMS, Web Push, Mobile Push, App Inbox
NoteThe UI shows icons to recognize rule types quickly.
Start Event Parameter
- Choose the workflow's start event parameter (e.g.,
subscriptionType). - Pick an operator (e.g.,
Equals,Contains,Between,Is set). - Enter the value.
Usage example
- Branch 1:
subscriptionType Equals Premium→ Onboarding for Premium (unlock features, set goals, sync trackers) - Branch 2:
subscriptionType Equals Standard→ Standard onboarding + gentle upsell to Annual - Branch 3:
subscriptionType Equals Trial→ Trial activation journey (feature tour, value milestones, time-left reminders) - Branch 4:
subscriptionType Equals Family→ Family setup flow (invite members, share plans, shared goals) - Fallback:
Didn’t match 1–4(missing/unknownsubscriptionType) → Generic onboarding + “Pick your plan” prompt
NoteThe Fallback branch is evaluated after all other branches. It captures contacts that don’t match any prior rules. If you disable Fallback, contacts that don’t match any branch will stop at this point in the workflow.
Contact Field
- Select a contact field (e.g.,
goal,experienceLevel,preferredLanguage). - Choose an operator appropriate for the field type (e.g.,
Equals,Does not equal,Is set,Is empty). - Specify the value.
Usage example
- Branch 1:
goal Equals weightLoss→ Calorie-burning programs, nutrition basics, intro meal plan - Branch 2:
goal Equals muscleGain→ Progressive strength program, equipment tips, protein targets - Branch 3:
goal Equals heartHealth→ Cardio foundation plan, low-impact routines, weekly HR/BP reminders - Branch 4:
goal Equals flexibility→ Mobility & stretching track, daily 10-minute flows - Fallback:
Didn’t match 1–4→ Balanced Starter Track + “Pick your goal” prompt (Weight loss / Muscle gain / Heart health / Flexibility)
TipCombine with another field using the AND rule (e.g.,
goal Equals weightLossANDexperienceLevel Equals Beginner) to deliver the most relevant plan.
External Event
- Specify the event type with segmentation enabled (e.g.,
WorkoutStarted,SubscriptionPurchased,PaywallViewed). - Select the time window (the most recent relevant event is used).
- If you want to check the event parameter, click the AND parameter and specify the parameter name, its value, and one of the available validation operators, e.g.,
deviceCategory equals Mobile.
Usage example
- Branch 1:
WorkoutStarted during last 7 daysANDtrainingType Equals HIIT→ HIIT-coaching branch (progressive plan, recovery guidance, cadence of reminders) - Branch 2:
WorkoutStarted during last 7 daysANDtrainingType Equals Strength→ Progressive strength program (form cues, 3×/week template) - Branch 3:
WorkoutStarted during last 7 daysANDtrainingType Equals Yoga→ Mobility & recovery track (beginner flows, flexibility goals) - Fallback:
Didn’t match 1–3→ First-workout onboarding (equipment-free 10-minute starter + “set your goal” prompt)
Event in Messages
- Select message status: Delivered, Opened, or Clicked.
- Select condition:
- is true → the status occurred within the chosen scope.
- is false → the status did not occur within the chosen scope.
- Select scope:
- for the last message — checks the most recent Message block before this Branch.
- for all messages — checks across all earlier Message blocks in the workflow.
Usage example
- Branch 1:
Clicked is true for the last message→ Flash-sale CTA with personalized picks - Branch 2:
Delivered is false for the last message→ Switch channel (SMS/push) + address validation tip - Branch 3:
Opened is false for the last message→ Web push/In-app: “New arrivals just dropped — shop now”
Segment Membership
Select the condition In segment / Not in segment / In any of segments and specify the segment(s).
Usage example
The NewProgramReleased Trigger:
- Branch 1:
Segment = PremiumMembers→ 48-hour early access, limited coaching slots, priority support. - Branch 2:
In any of the segments = DealSeekers, CouponUsers→ Promo code -10% for 48 hours + “Reserve your spot.” - Branch 3:
Segment = ChurnRisk (no workouts for 30 days)→ Win-back: free 7-day Restart Plan + easy reminders (push/email). - Branch 4:
Segment = PowerUsers or HighLTV→ Bundle: new program + nutrition add-on + extra loyalty points/badges. - Branch 5:
Segment = NewSubscribers (≤7 days)→ Welcome discount, short FAQ on how the program works, soft deadline. - Fallback:
Others→ Standard “New program is live” message without discount: benefits overview, “Start now” CTA, cancel anytime.
Current Day/Time
- Add a rule of type Current Day/Time.
- Select a validation parameter:
- Date
- Day of week
- Time
- Specify an operator, available depending on the parameter:
- Date — only Equals
- Day of the week — only Any of
- Time — only Between
- Specify a value:
- for Date — a specific date
- for Day of the week — one or more days
- for Time — an interval (from/to)
- Select a Time zone source:
- Organization — the validation is performed in the time zone set in your organization settings
- Contact — the validation is performed in the time zone set in the contact card
Usage Example
This type of rule is convenient to use for “quiet hours”, work windows, different weekday/weekend workflows, etc.
For example, to check each contact’s preferred workout day and send time, use the Branch block with 7 day-of-week paths (Mon–Sun). Each path first matches today’s weekday, then verifies that the same weekday is selected in the contact’s checkbox field; after that, the system waits until the contact’s chosen time (or default to 09:00 if not set) and sends the reminder.
Channel Availability
- Add a rule of type Channel Availability.
- Select the channel you want to check (for example, Email or Mobile Push).
- Specify the condition: Is available, Is unavailable, Any of the channels
Usage Example
- Branch 1:
Email available→ Send Email - Branch 2:
Email unavailableANDMobile Push available→ Send Mobile Push - Branch 3:
Email unavailableANDMobile Push unavailableANDSMS available→ Send SMS - Fallback: all channels unavailable → Add to segment No reachable channel / end workflow
AND / OR Rules
Inside a single branch, conditions are grouped into rule cards.
- Within one card, conditions are combined with AND rule (all must be true).
- OR rules group adds another card as an alternative set of conditions.
The branch passes if all conditions in any one card are true (Card 1 OR Card 2 OR Card 3, etc.).
Settings
- In your branch, add the first conditions — this becomes Rule card 1 (all conditions here use AND).
- Click OR rules group to add Rule card 2 (an alternative set).
- Configure the conditions in Rule card 2 (again, they’re AND-ed within the card).
- (Optional) Add more OR rules groups to create additional alternative cards.
Usage example
- Rule card 1:
workoutType Equals HIIT - OR rule card 2:
workoutPrefference Equals HIIT
→ Action: Send “HIIT Tips for Faster Progress” message
Branch Actions
Created branches (max 20) have the following management options:
- Duplicate — copy a branch with all its conditions (using the button in the block settings or selecting the branch and pressing
Ctrl + Don Windows orCmd + Don macOS). - Rename — improve on-canvas readability with short, clear labels.
- Check later or earlier — change the priority of branch checking.
- Delete — remove an obsolete branch or rule.
Updated 15 days ago

