Learn how Universal Query Language (UQL) serves as the engine for the ‘Condition’ block in automation rules, enabling you to create dynamic, data-driven automations.
Trigger-Condition-Action
model for automation, and you’ve learned the grammar of UQL
. This article explains how the two are fundamentally connected: UQL is the engine that powers the Condition block.
This integration is what transforms your automations from simple, static rules (“always send an email”) into intelligent, data-driven workflows that can adapt to changing information (“only send an email if the deal is high-value”).
Trigger
fires, the automation rule uses a UQL query in the Condition
block to evaluate the triggering 🧊 Object
. If the UQL query returns ‘true’ for that Object
, the Actions
proceed. If not, the rule stops.Deal
update, the condition deal_value > 100000 AND status = 'PROPOSAL_SENT'
ensures the automation only runs for high-value, active deals.Project
Object
, the condition client.priority_support = true
uses dot notation to check a field on a related Client
Object
, creating a context-aware automation.Action
steps. When an action needs to find or update other 🧊 Objects
, you can use UQL to specify exactly which Objects
to act upon.
Project
Object
is moved to the ARCHIVED
status.parent_project = {{object.key}} AND status != 'DONE'
to find all Sub-Tasks
that are related to the archived project and are not yet done. You can then add a subsequent action step to update the status of all these found tasks to CANCELLED
.