Skip to main content
A branch step evaluates a condition against event or contact data and routes the Automation down one of two paths: condition met or condition not met. Common use cases:
  • Plan-based emails: Send different content to free vs. paid users.
  • Engagement splits: Take different actions based on user activity.
  • Personalization: Tailor follow-ups based on event payload values.

How it works

Add a Condition step and configure the condition using the editor.Automation Branch

Connection types

A condition step always produces two outgoing connections.

Compare against other data

A rule’s value can reference data instead of a fixed value. This lets a condition compare two values from the Automation. field and value can read:
  • event.*, the event that triggered the Automation.
  • contact.*, the contact.
  • wait_events.<event_name>.*, an event a previous wait for event step received. If the Automation waited for that event more than once, this is the most recent one before this step.
A value that points at data that doesn’t exist never matches. For example, after a wait for event step for order.shipped, check that the shipped order is the one that triggered the Automation:

Configuration

string
required
The type of condition node. Possible values:
  • rule
  • and
  • or
For rule type:
string
required
The field to evaluate on a condition step. Use event. for the event that triggered the Automation, contact. for the contact, or wait_events. for an event received by a preceding wait for event step (for example, event.amount, contact.email, or wait_events.order.shipped.order_id). A wait for event filter_rule cannot use wait_events..
string
required
The comparison operator. Possible values:
  • eq: equals
  • neq: not equals
  • gt: greater than
  • gte: greater than or equal to
  • lt: less than
  • lte: less than or equal to
  • contains: contains a given value
  • starts_with: starts with a given value
  • ends_with: ends with a given value
  • exists: field exists
  • is_empty: field is empty
string | number | boolean | null | object
The value to compare against on a condition step. Either a fixed value or a variable reference such as { "var": "event.order_id" }, using the condition namespaces: event. (the triggering event), contact., or wait_events. (a preceding wait for event). Not required for exists and is_empty operators.
For and / or types:
object[]
required
An array of nested condition config objects. Must contain at least one item.
Single rule example:
Use and or or to combine multiple rules into a single branch: