Help Center

Variables reference

The {{ }} syntax that moves data between nodes: {{message}}, {{node_id.field}}, where variables work, and how to discover what each node exposes.

Variables are how data travels through a flow's configuration: anywhere you can type text, {{ }} interpolates values from earlier in the execution.

Variables reference upstream node outputs on the canvas

The syntax

PatternResolves to
{{message}}The incoming message of a chat input — the most common variable in agent flows.
{{node_id.field}}A field from the output of the node whose Node ID is node_id.
{{node_id}}The whole output of that node (useful when it's a single value or you want the raw object).

node_id is the identifier in the node's Edit Node → Node ID — not its display name. Rename IDs to something meaningful (leads_db, classifier) and your variables become self-documenting.

Where variables work

Everywhere configuration accepts text, including:

  • LLM Agent — prompt and objective (Answer using: {{context_db}})
  • HTTP Request — URL, headers and body
  • Transformer — every field of the JSON you're building
  • Conditional Flow / Filter — the values being compared
  • Email — subject and body templates
  • PDF Generator / HTML View — template placeholders

Discovering a node's fields

The authoritative way to know what a node exposes: run the flow once and open the node's Console — the output panel shows the exact object, with the field names you can reference. For example, if an HTTP Request with ID api_call returns { "data": { "price": 42 } }, then {{api_call.data.price}} resolves to 42.

Debugging variables

  • Empty value? Check three things: the source node actually ran (Console), the Node ID matches exactly, and the field path exists in the output.
  • Whole object printed? You referenced {{node}} where you wanted {{node.field}}.
  • Test cheaply: wire a Transformer that just echoes {{your_variable}} and run — faster than re-running the full pipeline.

On this page