Skip to content

Set Variable ​

Stores a workflow-scoped variable. Use this for counters, accumulators, or "carry this forward" values that need to be referenced by later nodes — without threading them through every edge.

Variables live for the duration of an execution and are isolated per execution. They are deleted when the workflow completes successfully.

Reading variables ​

Once set, a variable can be referenced anywhere a template expression is allowed:

{{ vars.counter }}
{{ vars.user.email }}

The Code node also exposes vars as a read-only object in its expression environment.

Configuration ​

FieldDescriptionNotes
OperationWhat to do with the variableSet, Increment, Append, Merge, Delete. Defaults to Set.
Variable NameName of the variableRequired. Templates allowed — e.g., counter_{{data.region}}.
ValueThe value to storeRequired for Set/Append/Merge. JSON-parsed (so 42, true, "hi", [1,2], {"a":1} all work). Bare strings without quotes pass through as plain strings.
Increment ByAmount to addIncrement only. Defaults to 1.

Operations ​

Set ​

Replace the variable's value. The previous value is overwritten.

Increment ​

Atomically add a number to a numeric variable. Safe to use from parallel branches — Redis guarantees atomicity. Starts from 0 if the variable doesn't exist.

Append ​

Push a value onto an array. Creates the array containing the value if the variable doesn't exist.

Merge ​

Shallow-merge an object into an object variable. Keys in the new value overwrite existing keys.

Delete ​

Remove the variable entirely.

Examples ​

Counter incremented per processed item

Inside a loop / per-item branch, place a Set Variable node with:

  • Operation: Increment
  • Name: processed
  • Increment By: 1

Then reference {{ vars.processed }} in a downstream Email or Slack node.

Aggregate scores from a stream

  • Operation: Append
  • Name: scores
  • Value: {{data.score}}

After the loop, the Code node can sum them: sum(vars.scores).

Track a running config object

  • Operation: Merge
  • Name: config
  • Value: {"region": "eu", "tier": "premium"}

Lifetime ​

EventVariables behavior
Workflow completes successfullyVariables are deleted.
Workflow fails or pausesVariables persist for 24 hours so the run can be resumed.
Each operationThe 24-hour TTL is refreshed.

WARNING

Variables are per-execution. They are not shared across separate runs of the same workflow. To share state between runs, use the DataStore nodes or an external database.