The Rules group in the side panel contains the building blocks that make decisions — they don't send anything or pause anything on their own. They look at the guest's data and decide which path the journey should take next.
A decision card that asks a question about the guest, and routes the journey down one of two paths depending on the answer:
YES (green) — taken when the guest matches the question.
NO (red) — taken when the guest does not match the question.
It's the most flexible card in the campaign builder — almost any "if-this-then-that" logic in a journey is built with it. The card is essentially one sentence in three parts: "If FIELD OPERATOR VALUE → go YES, otherwise go NO."
Each part is its own input on the card:
Field — what to look at on the guest
Group | Option | What it checks on the guest's profile |
Guest Data | Full Name | The guest's full name |
Guest Data | Email (default) | The guest's email address |
Guest Data | Phone | The guest's phone number |
Guest Data | Country | The guest's country |
Guest Data | Visits | How many times has the guest visited |
Guest Data | Loyalty Score | The guest's calculated loyalty score |
Guest Data | Age | The guest's age |
Guest Data | First Visit | The date of their first visit |
Guest Data | Last Visit | The date of their most recent visit |
Guest Data | Birthday | The guest's birthday |
Guest Data | Gender | The guest's gender |
Guest Data | Login Method | How they signed up (Facebook, Google, Email, QR Code, etc.) |
Guest Data | Review Rating | The star rating they last gave |
Guest Data | Custom Duration | How long ago they were created (signed up) in the system |
Guest Data | Opt-in | Whether they're subscribed to email |
Guest Data | SMS | Whether they're subscribed to SMS |
Location (only if the account has at least one active venue) | Location | Which venue(s) has the guest visited |
Tags (only if the account has at least one guest tag) | Tags | Which tag(s) are on the guest's profile |
Custom Fields (only if the account has any custom fields defined) | Custom field (per account) | Each of the account's custom fields appears here as its own option (e.g. "Membership ID", "Favourite Drink"). |
Operator — how to compare
Once you pick a field, the operator dropdown below it automatically updates to show only the operators that make sense for that data type.
For fields of type… | Operators offered |
Text (name, email, phone, country, custom text fields) | has any value, is, is not, starts with, ends with, contains, does not contain, is unknown |
Number (visits, loyalty score, age) | greater than, less than, is, is not, is unknown, has any value |
Date (first visit, last visit) | more than _ days ago, exactly _ days ago, less than _ days ago, more than _ hours ago, exactly _ hours ago, less than _ hours ago |
Birthday | more than _ days ago, more than _ days from now, exactly _ days ago, exactly _ days from now, less than _ days ago, less than _ days from now, is unknown, has any value |
Gender | Male, Female |
Login Method | Facebook, Google, Discord, Twitter, Email, Import, Square, QR Code |
Review Rating | 5 Stars, 4 Stars, 3 Stars, 2 Stars, 1 Star |
Opt-in / SMS | Subscribed, Unsubscribed |
Location | Each of the venue's locations (pick which one) |
Tags | Each of the account's tags (pick which one) |
Value — what to compare against
A small text box that appears next to the operator only when the chosen operator needs an extra value (e.g., "is", "contains", "greater than", "5 days ago").
For operators that already imply their value (e.g., "has any value", "is unknown", "Subscribed", "5 Stars"), the value box stays hidden — the operator itself is the entire question.
For fields that pick from a list (Gender, Login Method, Tags, Location), the operator dropdown is the value, so no separate value box is shown.
How the journey moves: YES vs NO
When a guest's journey reaches a Condition card, Beambox does the following — instantly, no waiting:
Reads the configured question (field + operator + value) off the card.
Looks up the guest's current data and checks: Does this guest match the question?
If yes → the journey is routed down the YES output (the green branch).
If no → the journey is routed down the NO output (the red branch).
The journey continues running down whichever path was chosen, and never re-evaluates this condition for that guest unless the guest re-enters the campaign.
Unlike Wait for Trigger, the Condition is instant. It doesn't wait for anything to happen — it just looks at what's true right now and moves on. If you want to wait until something becomes true, use Wait for Trigger instead.
Unconnected branches end the journey. If you leave the YES output unconnected, any guest who matches exits the campaign. The same goes for the NO output. This is a normal way to say "I only want to do something on one side of the answer."
Simple end-to-end examples
Three short examples that cover different field types:
Example 1 — Text field (Does the guest have an email on file?)
"After someone enters this journey, check whether they actually have an email address on file. If they do, send them a designed email. If they don't — fall back to an SMS welcome so we still reach them."
This is the exact canvas in the screenshot:
It's the simplest possible "channel fallback" pattern — instead of dropping guests who don't have an email address, you switch to a different channel so you can still make contact. The same shape works in reverse (Phone has-any-value → SMS on YES, email-only welcome on NO), or for any other "have we got this data?" check.
Example 2 — Number field (frequent visitors only)
"If the guest has visited more than 5 times, send them a VIP SMS thanking them. Everyone else, do nothing."
Example 3 — Date field (re-engage dormant guests)
"If the guest's last visit was more than 30 days ago, send a 'we miss you' email. Otherwise, do nothing — they're still active."
Things to keep in mind
It's a snapshot, not a watchpoint. Condition looks at the guest's data the moment the journey reaches it — and only then. If the guest's data changes later, the condition doesn't re-fire.
The field list adapts to your account. "Location", "Tags", and "Custom Fields" only appear if you have venues, tags, or custom fields set up.
The operator list adapts to the field. Picking Email gives you text operators (contains, starts with, …). Picking Visits gives you number operators (greater than, less than, …).
The same vocabulary as Wait for Trigger. Condition and Wait for Trigger both use the same backend filter engine.





