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

PartExample
Fieldticket.priority
Operatorequals
Valueurgent

Available Fields

CategoryFields
Ticketstatus, priority, source, subject, body, assigned_to, customer_email, tags
Customerticket_count, is_vip, sentiment
Messagehas_attachment, language
Timetime_since_created, time_since_updated, working_hours
Customcustom_field.{name}

Operators

TypeOperators
Stringequals, not_equals, contains, not_contains, starts_with, ends_with, matches_regex
Numericgreater_than, less_than, greater_than_or_equal, less_than_or_equal
Listin_list, not_in_list
Existenceis_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: all

Any (OR)

At least one rule must match:

conditions:
  - field: ticket.subject
    operator: contains
    value: urgent
  - field: ticket.priority
    operator: equals
    value: high
matchMode: any

Examples

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

Complex Logic

Chain condition nodes for nested logic:

[Is VIP?] --true--> [Is Urgent?] --true--> [Escalate]
    |                    |
  false                false
    |                    |
  [End]              [Standard]

Configuring

  1. Add a Condition node
  2. Click to open configuration
  3. Add conditions (field, operator, value)
  4. Choose match mode
  5. Connect both outputs (green=true, red=false)

Best Practices

  1. Be specific: Use precise operators
  2. Label clearly: "Is VIP?" not "Condition 1"
  3. Connect both branches: Always handle true and false
  4. Keep simple: Chain for complex logic

Next Steps