Skip to content

Condition Node

Definition

The Condition node evaluates upstream variable values and automatically routes the flow to different branches. It supports multi-level IF / ELIF / ELSE logic and is the core branching node in a workflow.


Node Behavior

Branch Execution

The Condition node evaluates branches in order:

OrderConditionResult
1IF condition is TrueExecute IF branch
2IF is False, ELIF existsEvaluate each ELIF in order
3An ELIF condition is TrueExecute that ELIF branch
4All IF / ELIF are FalseExecute ELSE branch

Only one branch is executed per run. Conditions are matched top-to-bottom.


Condition Types

String

ConditionDescription
ContainsVariable value contains the specified string
Does not containVariable value does not contain the specified string
Starts withVariable value starts with the specified string
Ends withVariable value ends with the specified string
IsVariable value exactly matches the specified string
Is notVariable value does not match the specified string
Is emptyVariable value is an empty string or null
Is not emptyVariable value is not empty

Number

ConditionDescription
EqualsEqual to the specified value
Not equalsNot equal to the specified value
Greater thanGreater than the specified value
Less thanLess than the specified value
Greater than or equalGreater than or equal to the specified value
Less than or equalLess than or equal to the specified value
Is emptyVariable value is null
Is not emptyVariable value is not null

Multiple Condition Combinations

A single branch can have multiple conditions combined with logical operators:

  • AND — All conditions must be true (intersection)
  • OR — Any condition being true is sufficient (union)

Useful for fine-grained control in complex business scenarios.


Use Case

Customer Service Response Routing

The example below shows a typical Condition node configuration for a customer service flow:

Condition Node Example

Condition setup:

  • IF: conversation_id from the parameter extraction node is not empty
  • AND: conversation_id equals createworkorder
  • ELIF: conversation_id is not empty

Branch logic:

  1. Only IF is satisfied (conversation_id not empty) → Execute CASE1, retrieve conversation history
  2. Both IF and AND are satisfied → Execute CASE2, proceed directly to issue analysis
  3. None of the above → Execute ELSE, perform intent recognition on the question