# Edit Fields

Set, build or reshape fields for later steps.

## Do things in Edit Fields

Add an **Edit Fields** step and choose a **Mode**. Choose the row to see the fields of each.

- [Edit Fields](https://docs.gorunner.io/apps/edit-fields#fields-f-edit-fields): Individual fields · Whole JSON object

Later steps read a step’s output by its name: see [Use data from earlier steps](https://docs.gorunner.io/build/use-data-from-earlier-steps).

Not in your list? See [When an app isn’t here](https://docs.gorunner.io/apps/when-an-app-isnt-here#q-not-in-list).

## For developers

In the API, which calls apps pieces, Edit Fields is `pieceId: "data-mapper"` with `actionId: "edit_fields"`, set by `mode`. [Get an app](https://docs.gorunner.io/api/apps/get-app) returns every field.

It computes from its inputs only (`pure`). See [How versions and side effects work](https://docs.gorunner.io/apps#q-versions).

### Edit Fields › Edit Fields

Define key/value fields, or set a whole JSON object. Values can reference {{ }}.

### Individual fields

- **Fields · Required**: Each key becomes a field on this step's output.
- **Dot Notation · Optional**: Treat keys like "a.b.c" as nested objects. Off = literal key names. On by default.
- **Auto-Type Values · Optional**: Convert values that look like numbers/booleans/JSON to their real types (such as "42"→42, "true"→true). Off by default.

### Whole JSON object

- **JSON Object · Required**: The full object to output.

Source: https://docs.gorunner.io/apps/edit-fields
