Quester Studio

if

Branch the flow on a templated condition and/or JMESPath checks (true / false handles)

Evaluates a condition and/or checks, then continues along the matching edge.

  • condition may use templates ({{input.active}}, {{nodes.x…}}).
  • checks[].path is JMESPath on previous output (status, not previous.status).

Concepts: How flows work.

in ×1 if true false
Follows matching sourceHandle. Connect edges with matching sourceHandle.

Data

FieldTypeDescription
labelstringOptional UI label
conditionstringOptional templated expression
checksarrayOptional JMESPath checks (same shape/ops as assert)

Provide condition and/or checks (at least one). When both are set, they are combined with AND.

Condition rules

  1. Resolve {{…}} in condition.
  2. Result is true if it is the string "true", or any other non-empty string except "0" and "false".
  3. Result is false for "", "0", or "false".

Checks

Same operators as assert (eq, gte, contains, …) against the previous node’s output. All checks must pass.

Input / output

Value
Execute inputPrevious node output
Output{ "condition": true | false }
Branch"true" or "false" — matches sourceHandle on edges

Edges

{
  "id": "e-yes",
  "source": "check",
  "target": "setYes",
  "sourceHandle": "true"
}
{
  "id": "e-no",
  "source": "check",
  "target": "setNo",
  "sourceHandle": "false"
}

Examples

Input flag

{
  "id": "check",
  "type": "if",
  "data": { "condition": "{{input.active}}" }
}

With --input '{"active":"true"}' → true branch.
With --input '{"active":""}' → false branch.

HTTP status range (checks only)

After an http node:

{
  "id": "ok",
  "type": "if",
  "data": {
    "checks": [
      { "path": "status", "op": "gte", "value": 200 },
      { "path": "status", "op": "lt", "value": 300 }
    ]
  }
}

Condition and checks (AND)

{
  "data": {
    "condition": "{{vars.runDemo}}",
    "checks": [{ "path": "status", "op": "eq", "value": 200 }]
  }
}

Literal false

{
  "condition": "false"
}