# Use data from earlier steps

Put what a person typed, or what an earlier step produced, into a later step’s field.

## Pick a value from the Data pane

1. Select the step, and put the cursor in the field where the value goes.
2. Press **Data**, at the left of the step’s panel. It lists what each earlier step produced.
3. Open the step the value comes from, such as **1. On Form Submission**, and press the value, such as **email**.

The value lands in the field as a pill named after the step, such as **On Form Submission → body.email**. Point at the pill to see its expression, `{{steps.trigger.body.email}}`.

The pane shows the values from the latest test run. A step marked **Example** shows its sample instead, and a step with no values shows only its fields: press **Test** with a real sample first. Search the pane with **Search data**, or open a step and feed it data from an earlier run with **Use data from a previous run**.

## Type an expression

A pill is an [expression](https://docs.gorunner.io/glossary#expression). You can type it yourself, between double braces:

`{{trigger.body.email}}`

- `trigger`: The trigger, the first card.
- `body`: What it received: here, what the form sent.
- `email`: One field, by its name.

For a later step, start with `steps` and the step’s name, such as `steps.step_1`, then the field. Press a value in **Data** to insert it, then point at the pill to see its full path, such as `{{steps.step_1.id}}`.

**What happens to my expressions if I rename a step?**

Nothing. Renaming changes the title on the card, such as **Add a row**. Expressions use the step’s name, such as `step_1`, which stays the same.

## Check it worked

Press **Test**, select the step and press **Result**, beside **Data**. It shows what the step did with the real value.

## For developers

An expression that is the whole field keeps its type, so `{{trigger.body}}` passes the whole object. Inside other text, it becomes text. Every path and function is in [Expressions](https://docs.gorunner.io/build/expressions).

## Related

- [Expressions](https://docs.gorunner.io/build/expressions): Paths, functions and Intl
- [Variables](https://docs.gorunner.io/build/variables): Values stored on the workflow · 3 min
- [Branch and loop](https://docs.gorunner.io/build/branch-and-loop): Choose a path, repeat for each item · 5 min

Source: https://docs.gorunner.io/build/use-data-from-earlier-steps
