Skip to content

Decision

Routes the workflow to one of several paths based on user input or a data value.

Decision node on the canvas

The Decision node routes the workflow to one of multiple possible paths. Unlike the Conditional node which handles binary true/false logic, the Decision node supports any number of named branches, each with its own set of conditions.

Use a Decision node when your workflow needs to fan out into more than two paths based on a value or category.

Common examples:

  • Routing by department - send a support ticket to Engineering, Sales, or Billing based on the ticket category
  • Priority handling - apply different SLAs or escalation paths based on severity (Low / Medium / High / Critical)
  • Multi-region processing - route orders to the correct fulfillment center based on the shipping country
  • Approval workflows - direct a request to different approval chains depending on the request amount or type
  • Status-based branching - take different actions based on a record’s current state (New / In Progress / Completed / Failed)

If you only need two branches (yes/no), use a Conditional node instead - it is simpler and more explicit for binary logic.

Each branch is a named output with its own condition set. Branches are configured as an array in the properties panel. You can add as many branches as needed.

PropertyTypeDescription
LabelTextName of the branch (shown as the edge label on canvas)
ConditionsArraySet of conditions that activate this branch

Each condition within a branch follows the same structure as the Conditional node:

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
StatusDropdownActive / Draft / Disabled

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: Conditional node

Schemas

{
"type": "VerticalLayout",
"elements": [
{
"type": "Accordion",
"label": "General Settings",
"elements": [
{
"type": "MessageOnError",
"scope": "#/properties/missingPreviousVariable",
"text": "plugins.validation.missingDependency"
},
{
"type": "Text",
"scope": "#/properties/label",
"label": "Title",
"placeholder": "Node Title..."
},
{
"type": "Text",
"scope": "#/properties/description",
"label": "Description",
"placeholder": "Type your description here..."
},
{
"type": "Select",
"scope": "#/properties/status",
"label": "Status"
}
]
},
{
"type": "Accordion",
"label": "Decision Settings",
"elements": [
{
"type": "DecisionBranches",
"scope": "#/properties/decisionBranches"
}
]
}
]
}