> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.meetgail.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetgail.com/_mcp/server.

# Map

> Transforms every item in a list into a new shape in a single step.

The Map node takes a list and reshapes each item in it, producing a new list. You
describe the shape you want once, using the current item and its position, and
the node applies it to every item. It is the quick way to rename fields, combine
values, or compute something for each item without building a loop.

## When to use it

* You want to reshape a list, such as turning raw imported rows into clean
  records with friendly field names.
* You want to compute a value for each item, like a full name built from first
  and last, or a position number.
* You want to pass a list straight through unchanged into the next step.

If each item needs its own sequence of steps rather than a simple reshape, use
[For Each](/platform/workflows/node-reference/logic-and-flow/for-each) instead.

## Inputs

| Field      | What it's for                                                                                                                      | Example                                         |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| Items      | The list to transform. This is usually a list produced by an earlier step.                                                         | The rows parsed from an uploaded spreadsheet    |
| Projection | The shape each item becomes: a set of output field names, each with an expression. Leave it empty to pass items through unchanged. | `full_name` from the item's first and last name |

Each projection expression can read only the current item and its position in
the list. If you need other information, add it to the items in the step that
builds the list.

## Outputs

| Field | What you get back                                  |
| ----- | -------------------------------------------------- |
| Items | The reshaped list, in the same order as the input. |
| Count | How many items are in the list.                    |

## Example

An agency imports a spreadsheet of prospects and needs it in a tidy shape before
the next step. A Map node reads the parsed rows and, for each one, builds a
`full_name` from the first and last name, copies the `state`, and adds a
`position` number. The result is a clean list of prospects, with Sarah Chen at
position 1 and Marcus Johnson at position 2, ready for the steps that follow.

![The Map node configuration panel, showing the items list and the per-item projection fields.](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/gail.docs.buildwithfern.com/883fb55e6c0ad1bce14fb508673fab4fc7dcdc56c1bb507301ad2a7cd9a62605/docs/pages/platform/workflows/assets/logic-and-flow-map.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260823%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260823T232858Z&X-Amz-Expires=604800&X-Amz-Signature=71fc0aff1b9c828109904dcd8c1a2ca2a8fc9a89e8fb3b69fdf877ce0e2c6cae&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

A projection expression can only see the item it is working on and that item's
position, not other steps' results. If a projection needs a value from
elsewhere, fold that value into the list first, in the step that builds it.

## Related nodes

#### [For Each](/platform/workflows/node-reference/logic-and-flow/for-each)

Run a full set of steps for every item, not just a reshape.

#### [Data Transform](/platform/workflows/node-reference/logic-and-flow/data-transform)

Reshape a single set of values rather than a whole list.