---
title: Get Variable
description: Emit a previously-set run variable as the item itself
---

Turn a value stored earlier in the run with Set Variable back into items for the next node.

## What it does

Get Variable reads a variable that a [Set Variable](/nodes/builtin/flow/setvariable/) node stored earlier in this run, and sends it out as **the item itself**. The incoming item is ignored.

* A list becomes one item per entry, so the next nodes handle each entry in turn.
* An object becomes the item as it is.
* Anything else (text, a number) is wrapped in a field named by **Put Value In Field**, for example `{ "value": 42 }`.

If the variable was never set, the node fails with a clear message, unless you turn on **Use A Fallback**.

Most of the time you don't need this node: `{{ $run.name }}` works in any field of any later node.

## When to use it

* Feed a list you collected with **Append to list** into nodes that work on each item, such as an integration that creates one record per item.
* Hand a stored object to a node that reads its incoming item rather than a field.
* Read part of a stored value, such as `page.next`, as its own item.

To use a variable inside a field, write `{{ $run.name }}` there instead.

## Inputs and settings

* **Name** is required in practice: the node fails without it. Type the name only, `results`, not `$run.results`.
* **Path** picks a part of the stored value with dots, for example `page.next`. Leave it empty to emit the whole value.

## Outputs

The output is the stored value, shaped as described above. Text and numbers sit under the **Put Value In Field** name, so the next node reads them as `{{ $input.value }}`.

## Dependencies and credentials

None. This node needs no connection and has no slots for other nodes.

## Example workflow

Collect page titles in a loop, then save them all at once:

1. Inside a [Loop](/nodes/builtin/flow/loop/), [Set Variable](/nodes/builtin/flow/setvariable/) with **Operation** **Append to list**, **Name** `titles`, **Value** `{{ $input.title }}`.
2. From the Loop's **Done** port, Get Variable with **Name** `titles` and **Put Value In Field** `title`. It sends one item per collected title.
3. [Google Sheets](/nodes/builtin/integration/google-sheets/) appends one row per item, with `{{ $input.title }}` in a column.

## Common issues

* **"Variable "x" has not been set at this point in the run."** The Set Variable node did not run before this one, often because it sits on a separate branch. Connect it upstream of Get Variable, or turn on **Use A Fallback**.
* **"Path "x" does not exist inside variable "y"."** The stored value has no such part. Check the spelling, or clear **Path** to see the whole value first.
* **"A variable name is required."** Fill in **Name**.
* **"Variables only exist while a workflow is running."** You ran the node on its own. Run the whole workflow.

## Related nodes

* [Set Variable](/nodes/builtin/flow/setvariable/): store the value in the first place.
* [Split Out](/nodes/builtin/datatransformation/splitout/): split a list field of an item into items.
* [Data Store](/nodes/builtin/core/datastore/): read values saved by earlier runs.