The Brain of Your Automation
If the Trigger is the event that starts the race, the Condition is the gatekeeper that decides which runners are allowed to compete. It is the “If” in theTrigger-Condition-Action
model and acts as the brain of your automation rule.
The Condition block uses Universal Query Language (UQL)
to evaluate the 🧊 Object
that fired the trigger. This allows you to create highly specific rules that only run when your exact criteria are met, preventing your automations from running unintentionally.
How Conditions Work
- A Trigger event occurs (e.g., a
🧊 Task
is updated). - The automation engine takes that
🧊 Task
Object. - It then runs your UQL query from the Condition block
against that specific 🧊 Task
. - If the
🧊 Task
meets the criteria (the query returns “true”), the Actions proceed. - If not, the rule stops silently.
Think of your UQL query as a simple question that must be answered ‘Yes’ for the rule to continue.
Writing Conditions with UQL: Examples
Here are some common patterns for building conditions, from simple to complex.Checking a Single Field
This is the most basic and common type of condition.- Scenario: You want an automation to run only for urgent support tickets.
- Trigger:
Support Ticket
updated. - UQL Condition:
priority = "URGENT"
- Explanation: The rule will only proceed if the
Priority
select list field on the updated ticket is set to “URGENT”.
Combining Multiple Criteria (AND
/ OR
)
Create more sophisticated logic by checking multiple fields at once.
- Scenario: You want to notify a manager about high-value, stagnant deals.
- Trigger:
Deal
updated. - UQL Condition:
deal_value > 50000 AND status = "STALLED"
- Explanation: The
AND
operator ensures the rule only runs if both conditions are true. UseOR
to run the rule if either condition is true.
Working with Dates
Use dynamic date values to create time-based conditions.- Scenario: You want to automatically escalate overdue tasks.
- Trigger: Scheduled to run daily.
- UQL Condition:
due_date < "today" AND status.category != "Completed"
- Explanation: This condition finds any task whose due date has passed (
< "today"
) and that is not in anyStatus
belonging to the “Completed”Category
.
Checking for Empty or Filled Fields
This is perfect for data integrity workflows.- Scenario: Remind a user to add a description to a new bug report.
- Trigger:
Bug Report
created. - UQL Condition:
description is empty
- Explanation: The
is empty
andis not empty
operators are essential for checking if critical information has been filled out.
Referencing Related Objects (Advanced)
Create powerful, context-aware conditions by querying throughObject Picker
fields.
- Scenario: You want to run an automation on a
Project
only if its associatedClient
is an enterprise customer. - Trigger:
Project
updated. - UQL Condition:
client.tier = "Enterprise"
- Explanation: If your
Project
Object Type
has anObject Picker
field with the keyclient
, you can use dot notation to query fields on the referencedClient
Object
.
priority = "HIGH" AND status.category != "Completed"
) and the UI provides real-time validation.]