Skip to main content
Two different nodes, two different jobs: Set Variable names values for easy referencing anywhere in the workflow; State Manager gives a code node a persistent memory that survives across runs.

Set Variable

The Set Variable node stores one or more name + value pairs. Each value can be a literal or a reference like {{form.campaign_name}}. After the node runs, every variable is available anywhere in the workflow as {{vars.name}}, with no node ID needed. The latest values are also saved with the workflow, so {{vars.name}} still resolves in later runs and in partial runs that don’t re-execute the Set Variable node. This node shares the {{vars.}} namespace with workflow variables, which are declared in the workflow’s settings and give a name its starting value. A value written by a Set Variable node wins for that name. Declare a variable in settings when it is a setting of the workflow, and use this node when the value is worked out during a run. Example: a setup form collects a spreadsheet URL once; a Set Variable node stores it as sheet_url, and every Sheets node in the workflow references {{vars.sheet_url}} instead of repeating the form reference.

State Manager

The State Manager node holds a JSON state object scoped to that node within the workflow, persisted in the database across runs. Connect the State Manager to a Serverless Function node’s state handle. The current state is injected into your code as a state parameter; mutate it directly (state.counter += 1) and the changes are saved back automatically after the code runs. The next run, even days later, starts from the saved state. Example: a scheduled scraper keeps state.seen_ids in a State Manager so each run only processes items it hasn’t seen before.
Use Set Variable for values you reference across nodes in a run. Use State Manager when code needs memory that accumulates across runs.

Next steps