Skip to content

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 Google

OR — any condition in the group can be true for the group to pass:

Stage is "New" OR Stage is "Contacted"
→ Matches leads in either stage

Nested 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:

  1. Set root logic to AND
  2. Add a branch group with logic OR → add: source is “website”, gclid is present
  3. 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:

  1. Set root logic to OR
  2. Add branch group 1 → logic AND → [Source is Google, Stage is New]
  3. Add branch group 2 → logic AND → [Enterprise category, assignee is empty]

Available condition fields

Lead fields

ConditionTypeExample
Lead stageEquals / does not equalStage is “Qualified”
Lead sourceContains / equalsSource contains “google”
UTM sourceEquals / containsutm_source is “google-ads”
UTM mediumEquals / containsutm_medium is “cpc”
UTM campaignEquals / containsutm_campaign contains “spring”
Form nameEqualsform is “Landing Page Form”
gclid presentIs present / is absentgclid is present
fbclid presentIs present / is absentfbclid is absent
Days in current stageGreater than / less thandays in stage > 3
Days since last activityGreater than / less thanlast activity > 5 days
AssigneeIs / is not / is emptyassigned to is “Jane Smith”

Workspace conditions

ConditionTypeNotes
Workspace planIsStarter / Professional / Enterprise
Workspace statusIsTrial / Active / Suspended
Trial days remainingLess thanTrial ends in fewer than X days
Lead capacity usageGreater than (%)Usage > 80%
Team sizeGreater thanTeam 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.