Skip to main content

Context Variables

The following variables are available in all expression fields.

Node output data — $nodes

Reference the output of any previous node using its name:

{{ $nodes['NodeName'].field }}
  • NodeName is the name you gave the node in the editor (visible on the node card and in the Properties tab)
  • The fields available depend on what each node outputs — see the individual node reference pages

For nested access:

{{ $nodes['HTTP Request'].body.user.email }}
{{ $nodes['Parse Response'].items[0].id }}

Node execution status — $status

Check whether a previous node succeeded or failed:

{{ $status['NodeName'].isSuccess }}
{{ $status['NodeName'].errorMessage }}
FieldTypeDescription
isSuccessBooleantrue if the node completed without error
errorMessageStringThe error message if the node failed; null otherwise

This is useful in conditional expressions and If/Else nodes:

{{ $status['HTTP Request'].isSuccess ? 'ok' : $status['HTTP Request'].errorMessage }}

Trigger / workflow inputs — $inputs

The data passed into the workflow when it was triggered is available as $inputs:

{{ $inputs.body.userId }}
{{ $inputs.headers['x-custom-header'] }}

For webhook triggers, $inputs contains the full incoming request including the body and headers.

Workflow variables — $vars

Values set by Variable nodes are accessible via $vars:

{{ $vars.myKey }}

Secrets — $secrets

Project secrets are accessible via $secrets:

{{ $secrets.MY_SECRET_KEY }}

MY_SECRET_KEY must match a key defined in Secrets. The value is resolved at runtime and is never exposed in logs.

Current time — $now

The UTC timestamp at the moment the node executes:

{{ $now }}
{{ new Date($now).toISOString() }}

Crypto utilities (webhook scripts only)

Inside a Webhook Trigger's Custom Script verification function, the crypto utility is available:

const hash = await crypto.hmac('sha256', $secrets.WEBHOOK_SECRET, body);