Events and automation triggers
The complete generated reference for every event that can enter the automation system: payload fields, predicate compatibility, resource scope, delivery guarantees, and JSON Schema.
How to use this reference
Choose an event slug on an automation trigger. The event's payload fields become available as event.<field path> in conditions, switches, and edge predicates. The tables below show only operators supported by each field's value family.
Events are bounded notifications, not complete copies of domain records. Delivery is at least once, cross-event ordering is not guaranteed, and consumers must deduplicate by event_id. Resource references identify data that should be retrieved from its owning service.
Predicate shape
A predicate is an array of clauses. Clauses without a group_id are combined with AND. Clauses sharing a group_id are combined with OR, and that group is then ANDed with the remaining clauses.
[
{
"field": "event.status",
"operator": "enum:in",
"values": [
"completed",
"skipped"
]
},
{
"field": "event.file_count",
"operator": "number:gt",
"value": 5
}
]All predicate operators
These 35 operators form the frozen universal condition DSL used by condition nodes, switch branches, and edge predicates.
| Operator | Label | Argument | Compatible field types |
|---|---|---|---|
equals | Equals | value | text, number, date, enum, reference, boolean |
not_equals | Not equals | value | text, number, date, enum, reference, boolean |
is_null | Is empty | none | text, number, date, enum, reference, array, object, null |
is_not_null | Is not empty | none | text, number, date, enum, reference, array, object, null |
type_is | Type is | value | text, number, boolean, array, object, null |
text:contains | Contains | value | text |
text:not_contains | Does not contain | value | text |
text:starts_with | Starts with | value | text |
text:ends_with | Ends with | value | text |
text:matches | Matches regex | value | text |
text:equals_ignore_case | Equals (ignore case) | value | text |
number:gt | Greater than | value | number |
number:gte | Greater than or equal | value | number |
number:lt | Less than | value | number |
number:lte | Less than or equal | value | number |
number:between | Between | values: [] | number |
date:before | Before | value | date |
date:after | After | value | date |
date:on | On | value | date |
date:within_last | Within the last period | value | date |
date:within_next | Within the next period | value | date |
enum:in | Is one of | values: [] | enum, reference |
enum:not_in | Is not one of | values: [] | enum, reference |
array:contains | Contains item | value | array |
array:not_contains | Does not contain item | value | array |
array:length_eq | Has N items | value | array |
array:any_of | Contains any of | values: [] | array |
array:all_of | Contains all of | values: [] | array |
array:length_gt | Length greater than | value | array |
array:length_gte | Length greater or equal | value | array |
array:length_lt | Length less than | value | array |
array:length_lte | Length less or equal | value | array |
object:has_key | Has key | value | object |
change:any_of | Any listed field changed | values: [] | array |
change:all_of | All listed fields changed | values: [] | array |
Complete event catalog
This list is generated from source-service contracts. Expand an event to inspect every payload field, its compatible predicates, condition enrichment, scope, delivery budget, and complete wire-envelope JSON Schema.