Create dynamic notification workflows using rule-based conditions. Control message delivery based on subscriber data, payload information, and workflow outcomes.
subscriber.firstName
subscriber.lastName
subscriber.email
subscriber.phone
subscriber.avatar
subscriber.locale
subscriber.data
subscriber.subscriberId
subscriber.isOnline
subscriber.lastOnlineAt
subscriber.isOnline
is false
.payload.orderStatus = "completed"
payload.totalAmount > 100
steps.in-app-step.seen
steps.in-app-step.read
steps.in-app-step.lastSeenDate
steps.in-app-step.lastReadDate
Operator | Description | Example |
---|---|---|
= | Equal to | subscriber.locale = "en-US" |
!= | Not equal to | subscriber.isOnline != true |
< | Less than | payload.totalAmount < 100 |
> | Greater than | payload.totalAmount > 100 |
<= | Less than or equal to | payload.totalAmount <= 200 |
>= | Greater than or equal to | payload.totalAmount >= 200 |
contains | Contains a substring | payload.orderId contains "123" |
begins with | Starts with | subscriber.firstName begins with "J" |
ends with | Ends with | subscriber.email ends with "@xyz.com" |
does not contain | Does not contain a substring | payload.orderId does not contain "456" |
does not begin with | Does not start with | subscriber.firstName does not begin with "M" |
does not end with | Does not end with | subscriber.lastName does not end with "Smith" |
is null | Is null | subscriber.phone is null |
is not null | Is not null | subscriber.email is not null |
in | Matches one of several values | subscriber.locale in ["en-US", "es-ES"] |
not in | Does not match any of the listed values | subscriber.locale not in ["fr-FR", "de-DE"] |
between | Within a range | payload.totalAmount between [50, 200] |
not between | Outside of a range | payload.totalAmount not between [0, 50] |
payload.foo
is equal to payload.bar
at runtime.
You can also use subscriber variables in the same way: