Skip to content

Conditional

Branches the workflow based on a true/false condition - if/else logic.

Conditional node on the canvas

The Conditional node splits the workflow into exactly two branches based on a condition. One branch executes when the condition is true, the other when it is false.

Use a Conditional node whenever your workflow needs binary branching - a yes/no, true/false, pass/fail decision point.

Common examples:

  • Validation gates - check if the input data meets requirements before processing (e.g., “Is the order total above the minimum?”)
  • Feature flags - route to different behavior based on a toggle (e.g., “Is the new billing system enabled?”)
  • Error handling - branch based on whether a previous step succeeded or failed
  • Eligibility checks - determine if a user qualifies for a promotion, discount, or approval

If you need more than two branches (e.g., route to one of several departments based on a category), use a Decision node instead.

The Conditional node evaluates an array of conditions. Each condition compares two values using a comparison operator. Multiple conditions can be chained with logical operators (AND / OR).

PropertyTypeDescription
XTextLeft-hand value of the comparison
Comparison OperatorDropdownHow to compare X and Y
YTextRight-hand value of the comparison
Logical OperatorDropdownAND / OR - how to chain with the next condition
PropertyTypeDescription
LabelTextDisplay name shown on the node card
DescriptionTextShort description of the node’s purpose

Both nodes handle branching, but they serve different purposes:

AspectConditionalDecision
BranchesExactly 2 (true / false)Any number
LogicEvaluates a conditionMatches a value against multiple branches
Best forYes/no checks, validation gatesRouting, categorization, multi-way splits

See also: Decision node

Schemas

{
"type": "VerticalLayout",
"elements": [
{
"type": "MessageOnError",
"scope": "#/properties/missingPreviousVariable",
"text": "plugins.validation.missingDependency"
},
{
"label": "Label",
"type": "Text",
"scope": "#/properties/label"
},
{
"label": "Description",
"type": "Text",
"scope": "#/properties/description",
"placeholder": "Type your description here..."
},
{
"label": "Conditions",
"type": "DynamicConditions",
"scope": "#/properties/conditionsArray"
}
]
}