Workflow Chain Engine Node Reference

Updated July 2026
Six node types cover most automations, and this page is the full reference for each: every field, every output, and the patterns each node unlocks. All of them share the same two conveniences, any field can use {variable} placeholders, and every node's work shows up in the run's step log. If you have not drawn a flow yet, start with getting started.

HTTP Request

The workhorse: calls any API, which is what makes every service with an HTTP endpoint an integration.

FieldNotes
MethodGET, form POST, or JSON POST.
URLThe address to call, placeholders welcome: https://api.example.com/orders/{orderID}.
Fieldsname=value&name2={variable} pairs sent as the query string, form body, or JSON body per the method.
HeadersThe same pair format, where API keys and tokens go: Authorization=Bearer {token}.
Capture Response FieldsPulls values out of the JSON response into variables, detailed below.

Capture is the half of the node people fall in love with. myVar={status} finds the first status key anywhere in the response, total={data.total} walks that exact path, and capturing an array, like items={data.items}, stores it ready for a For Each loop. When the response is not JSON, the first capture receives the whole response text, so plain text APIs work too.

Two behaviors worth memorizing: if the connection itself fails, the run stops with a clear error, and HTTP error statuses like 404 or 500 keep the run going, capture {status} and branch on it when you care. That split gives you both safety and control, transport problems never silently pass, and application-level statuses are yours to handle. The full capture syntax lives in variables and capture.

If Condition

Compares a variable against a value, or against another {variable}, and branches to its True or False output.

ConditionNotes
equals, not equalExact match either way.
greater, lessNumeric when both sides are numbers, so {total} greater than 100 means what you expect.
contains, does not containSubstring checks, handy on captured text and status lists.
length checksBranch on whether a value is empty or how long it is, the classic "did the capture find anything" test.

An If node pointed back at an earlier node is also the engine's repeat-until pattern, wire the False output backwards and the flow loops until the condition turns True, with the step budget keeping every loop safe.

Switch

Matches a variable against any number of cases, each with its own output, plus a Default output for everything else. One inbound field fans out to the right handler, order types to fulfillment paths, prediction labels to actions, plan names to provisioning calls. Reach for Switch when you find yourself chaining three If nodes on the same variable.

Set Variable

Assigns a value to a variable, and because placeholders resolve inside the value, it doubles as the string builder: Order {orderID} for {customer} composes a message any later node can send, log, or return. Use it to set defaults near the Start node, build request bodies, and accumulate text inside loops.

For Each Loop

Runs a chain of nodes once per item in a list.

FieldNotes
List VariableA captured JSON array, or comma or newline separated text.
Max ItemsCaps the loop, default 100.

The node has two outputs: Each Item runs once per element with {loopItem} and {loopIndex} set, and Done continues the flow when the last item finishes. Capture an array with an HTTP node, loop it, and act per row, that trio is the daily digest pattern, the batch notifier, and the per-record sync, all in three nodes.

Success End and Fail End

Both stop the run and set its status and message, with {variable} resolution in the message, so the caller gets back "Processed Acme, total 42" instead of a bare acknowledgement. The message becomes the API or webhook response and the run history entry. Fail End is a first-class outcome for flows that validate, route the bad path to a Fail with a descriptive message and the run history reads like a report. A flow that simply runs out of connected nodes ends as a success too, so quick flows stay quick to draw.

The Loop Protection Behind All of It

Every run has a step budget, 500 node executions by default and adjustable via maxSteps in the config. Each node spends one step, and a run that reaches the budget stops itself with a clear error naming the problem. That one rule is why every shape you can draw is safe to run: For Each loops, backwards-wired repeat-untils, and anything else you invent all end, guaranteed.

Key Takeaway

Six nodes cover the space: HTTP Request calls and captures, If and Switch branch, Set Variable assigns and builds strings, For Each walks lists with loopItem and loopIndex, and the enders return a real message. Placeholders work in every field, every node logs its work, and the step budget makes any wiring safe.