Skip to main content

Condition Node

The Condition Node checks a property in the dictionary and branches the flow based on the result.

What it serves

It accepts a one-line expression in its Condition field. When the flow reaches the node, the expression is evaluated:

  • If the result is truthy → the flow continues out the TRUE edge.
  • If the result is falsy → the flow continues out the FALSE edge.

That's the whole node. One expression, two outputs.

Visual

The node renders as a yellow diamond labelled Condition with three dots:

  • Top — input
  • RightTRUE output
  • LeftFALSE output

When no condition is configured, the node displays "No condition specified".

Settings

Click the node to open Condition Node Settings. Two fields plus Apply:

FieldPurpose
ConditionThe one-line expression to evaluate.
Node DescriptionFree-text — for other developers. Doesn't affect execution.
ApplySaves the settings.

Examples

!!${dictionary.test}
${dictionary.test} === 123

Condition expressions must reference dictionary or session values through ${...} placeholders, which are substituted to JSON literals before the expression is parsed — so you compare resolved values. The evaluator is a strict allow-list (only binary/unary/ternary/short-circuit operators); raw member access like dictionary.test is not substituted and throws (surfaced as an engine error, E6001). Always brace your references: !!${dictionary.test}, ${dictionary.test} === 123, and so on.

When to reach for a Script Node instead

If a one-liner isn't expressive enough — multiple steps, string manipulation, calls to system APIs — use a Script Node and route via its next_1 / error edges.

Routing

┌──── TRUE ──► <next node when truthy>

[Condition Node] ───┤

└──── FALSE ──► <next node when falsy>

Evaluated once when the flow reaches the node. One edge is followed; the other isn't visited.