Automation Rules and Conditions
How the condition tree works
Automation conditions use a recursive tree structure — not a flat list. This means you can:
- Combine multiple conditions with AND or OR
- Nest condition groups inside other groups for complex logic
Every automation has a root condition group with an operator (AND or OR). Inside that group, you can add:
- Individual conditions
- Nested child groups (with their own AND/OR operator)
AND vs. OR logic
AND — every condition in the group must be true for the group to pass:
Stage is "Qualified" AND UTM source is "google"→ Only matches leads that are Qualified AND came from GoogleOR — any condition in the group can be true for the group to pass:
Stage is "New" OR Stage is "Contacted"→ Matches leads in either stageNested condition groups
Use nested groups when one part of your logic needs its own local AND/OR operator.
Example: Match leads from your website OR from Google Ads that are in an early stage:
(source is "website" OR gclid is present)AND(stage is "New" OR stage is "Contacted")Model this in the builder as:
- Set root logic to AND
- Add a branch group with logic OR → add: source is “website”, gclid is present
- Add another branch group with logic OR → add: stage is “New”, stage is “Contacted”
Multiple top-level condition sets
If you want two entirely separate condition sets where either set alone is sufficient:
(Source is Google AND Stage is New)OR(Enterprise category AND assignee is empty)Model this as:
- Set root logic to OR
- Add branch group 1 → logic AND → [Source is Google, Stage is New]
- Add branch group 2 → logic AND → [Enterprise category, assignee is empty]
Available condition fields
Lead fields
| Condition | Type | Example |
|---|---|---|
| Lead stage | Equals / does not equal | Stage is “Qualified” |
| Lead source | Contains / equals | Source contains “google” |
| UTM source | Equals / contains | utm_source is “google-ads” |
| UTM medium | Equals / contains | utm_medium is “cpc” |
| UTM campaign | Equals / contains | utm_campaign contains “spring” |
| Form name | Equals | form is “Landing Page Form” |
| gclid present | Is present / is absent | gclid is present |
| fbclid present | Is present / is absent | fbclid is absent |
| Days in current stage | Greater than / less than | days in stage > 3 |
| Days since last activity | Greater than / less than | last activity > 5 days |
| Assignee | Is / is not / is empty | assigned to is “Jane Smith” |
Workspace conditions
| Condition | Type | Notes |
|---|---|---|
| Workspace plan | Is | Starter / Professional / Enterprise |
| Workspace status | Is | Trial / Active / Suspended |
| Trial days remaining | Less than | Trial ends in fewer than X days |
| Lead capacity usage | Greater than (%) | Usage > 80% |
| Team size | Greater than | Team has more than N users |
Tips for writing conditions
- Start simple — test with fewer conditions before adding complexity
- Use “is present” for gclid/fbclid checks — this is more reliable than checking for a specific value
- Use nested groups when mixing AND and OR in the same automation
- Check the run log after the first few triggers to confirm conditions are matching as expected
- Avoid conflicting conditions — e.g., “Stage is New AND Stage is Qualified” can never both be true
Conditions to avoid in tenant automations
The following types of conditions exist in the system but are not intended for regular CRM automation use:
- Payment status / billing cycle details
- Affiliate commission data
- Platform-level internal plan fields
These are reserved for developer-level operations.