Conditions and operators reference
Conditions narrow what an automation reacts to. Without them, every rule fires on every event of its trigger type. With them, you can scope a rule to “only emails from VIP contacts that mention ‘refund’” or “only Done conversations untouched for 14 days.”
Conditions are organized into nested groups joined by AND or OR. Each leaf in a group compares one field against a value using one operator.
Operators
- equals — Exact match — Any field
- not equals — Negation of equals — Any field
- contains — Substring match (case-insensitive) — Text fields
- not contains — Negation of contains — Text fields
- starts with — Prefix match — Text fields
- ends with — Suffix match — Text fields
- is empty — Field has no value — Any field
- is not empty — Field has a value — Any field
- greater than — Numeric or date comparison — Numbers, dates
- less than — Numeric or date comparison — Numbers, dates
Field categories
The fields available depend on which trigger you picked, but most rules can read from these:
Conversation fields
status, channel, assigned agent, assigned team, language, customer level, subject, tags, created at, last message at.
Contact fields
name, email, phone, customer level, country, plus every custom field defined for contacts.
Message fields (only on trigger = Message received)
body (the message text), direction (inbound/outbound), channel.
Case fields (only on case-typed triggers)
stage, priority, assigned agent, assigned team, tags, linked conversation count.
Event-specific fields
Some triggers expose extra fields specific to the event:
- Status changed →
previous status,new status - Tag added →
tag(the tag that was added) - Customer level changed →
previous level,new level - Agent assigned →
previous agent,new agent
AND / OR grouping
A condition group joined by AND matches when every leaf inside it is true. A group joined by OR matches when at least one leaf is true. Groups can be nested.
Example: (channel is email AND customer level is VIP) OR (tags contain “urgent”). This fires when either an email comes in from a VIP, or any conversation gets the “urgent” tag — regardless of channel.
Conditions vs. branches
A common confusion: conditions on the rule decide whether the rule runs at all. Branches inside the rule then choose which action sequence runs. If you only need one path, use conditions. If the rule needs to do different things in different cases, use one big trigger with multiple branches and put the case-specific filters on each branch.
Custom field gotchas
When matching against a custom field that’s a select or multi-select, the value in the condition is the option’s stored value (machine slug), not its display label. Look it up in Settings → Custom Fields before pasting it into a condition.