DOCS

Conditions

How entry conditions and Condition steps work - operators, AND/OR, and array quantifiers.

Conditions decide whether a flow starts and how it branches. The same field picker powers:

WhereRoleExample
Trigger → Entry conditionOptional gate before the flow runs at allOnly start if Tags contains "VIP"
Condition stepMid-flow If branchesAfter the first upsell: if Total price is greater than 80, show a premium offer; otherwise show a starter offer

Every surface combines customer facts (customer.*) with surface context (context.*). See Customer facts and Facts by surface.

Logical groups

OperatorMeaningExample
andAll child conditions must matchTags contains "VIP" and Total orders is greater than or equal to 2
orAny child condition may matchEmail ends with "@acme.com" or Tags contains "VIP"

Array quantifiers

When you pick a field under a list (for example any order’s financial status), the builder asks how many list items must match:

QuantifierMeaningExample
anyAt least one element matchesAny order: Financial status equals paid
allEvery element matchesAll line items: Title contains "Bundle"
noneNo element matchesNone of the orders: Financial status equals refunded

Operators by field type

Labels below match the editor UI. Examples are written the way a merchant reads the condition row.

Text (string)

OperatorExample
equalsFinancial status equals paid
does not equalFulfillment status does not equal fulfilled
containsEmail contains "@gmail.com"
starts withOrder name starts with "#10"
ends withEmail ends with "@acme.com"
is one ofCurrency is one of EUR, USD
is none ofLocale is none of en, en-US
is emptyPhone is empty
is not emptyEmail is not empty

Number / money (number, decimal)

OperatorExample
equalsTotal orders equals 1
does not equalQuantity does not equal 0
is greater thanTotal spent is greater than 100
is greater than or equal toItem count is greater than or equal to 2
is less thanDays until next delivery is less than 7
is less than or equal toTotal discount is less than or equal to 10
is betweenTotal spent is between 50 and 200
is emptyTotal tax is empty
is not emptySubtotal price is not empty

Yes / no (boolean)

OperatorExample
isWas edited is true
is notRequires shipping is not false

Lists of text or numbers (string[], number[])

OperatorExample
contains valueTags contains value "wholesale"
is emptyTags is empty
is not emptyTags is not empty

Objects

OperatorNotesExample
is empty / is not emptyOr drill into nested fieldsOrder being placed is not empty; or open it and use Total price is greater than 80

Lists of objects (object[])

OperatorNotesExample
is empty / has any itemsOr drill into element fields (uses quantifiers)Line items has any items; any line: SKU equals TEE-BLK-M

Not available in the builder

Some IDs and timestamps exist in the data model but are not pickable. Examples: customer/order/subscription internal ids, profile created_at / updated_at, post-purchase checkoutToken and productIds, cancel subscriptionContractId / free-text otherReason, unstructured cart attributes.

If a field is missing from the picker, it is intentionally omitted - do not assume you can condition on schema-only paths.

On this page