Workflows
Conditional Logic
Branch workflows based on ticket properties, customer data, and custom fields
Condition nodes evaluate rules to determine which path a workflow should take. They enable smart automation that responds differently based on context.
How Conditions Work
A condition node evaluates rules and outputs true or false, routing to the appropriate branch.
[Condition Node]
/ \
(true) (false)
| |
[Action] [Action]Condition Structure
| Part | Example |
|---|---|
| Field | ticket.priority |
| Operator | equals |
| Value | urgent |
Available Fields
| Category | Fields |
|---|---|
| Ticket | status, priority, source, subject, body, assigned_to, customer_email, tags |
| Customer | ticket_count, is_vip, sentiment |
| Message | has_attachment, language |
| Time | time_since_created, time_since_updated, working_hours |
| Custom | custom_field.{name} |
Operators
| Type | Operators |
|---|---|
| String | equals, not_equals, contains, not_contains, starts_with, ends_with, matches_regex |
| Numeric | greater_than, less_than, greater_than_or_equal, less_than_or_equal |
| List | in_list, not_in_list |
| Existence | is_empty, is_not_empty |
Match Modes
All (AND)
Every rule must match:
conditions:
- field: ticket.priority
operator: equals
value: urgent
- field: customer.is_vip
operator: equals
value: true
matchMode: allAny (OR)
At least one rule must match:
conditions:
- field: ticket.subject
operator: contains
value: urgent
- field: ticket.priority
operator: equals
value: high
matchMode: anyExamples
Route by Priority:
conditions:
- field: ticket.priority
operator: in_list
value: ["high", "urgent"]Stale Ticket (24h+):
conditions:
- field: ticket.status
operator: equals
value: open
- field: time_since_updated
operator: greater_than
value: 1440
matchMode: allComplex Logic
Chain condition nodes for nested logic:
[Is VIP?] --true--> [Is Urgent?] --true--> [Escalate]
| |
false false
| |
[End] [Standard]Configuring
- Add a Condition node
- Click to open configuration
- Add conditions (field, operator, value)
- Choose match mode
- Connect both outputs (green=true, red=false)
Best Practices
- Be specific: Use precise operators
- Label clearly: "Is VIP?" not "Condition 1"
- Connect both branches: Always handle true and false
- Keep simple: Chain for complex logic