# Build Record Map from Field

Takes a collection of records as `input` and the name of a field and builds a [RecordMap](/kb/automation-builder-kit-abk/models/recordmap.md) where the keys are the values of the specified `keyField`. You can then use [Get Record from Record Map](/kb/automation-builder-kit-abk/actions/advanced/gwfxrecordmapgetaction.md) to get a record based on a key.

To use the [RecordMap](/kb/automation-builder-kit-abk/models/recordmap.md) later in your Flow, make sure to select `Store Output Variables` and assign it to a variable resource with a data type of `Apex-Defined` and an apex class of `GradientWorks__RecordMap`. When creating the resource, **do not** check "Allow multiple values (collection)".

For example, if you specify `input` as a collection of Leads and `keyField` as `Id`, this will generate a [RecordMap](/kb/automation-builder-kit-abk/models/recordmap.md) you can use to look up a Lead based on its `Id`.

## Inputs

| Name     | Required | Type           | Description                                                                                                                                       |
| -------- | -------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| input    | Yes      | List\<SObject> | A collection of input records to use for creating a [RecordMap](/kb/automation-builder-kit-abk/models/recordmap.md)                               |
| keyField | Yes      | String         | The field on each record containing the value to use for that record's key in the [RecordMap](/kb/automation-builder-kit-abk/models/recordmap.md) |

## Outputs

| Name      | Type                                                            | Description                                                                                                              |
| --------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| recordMap | [RecordMap](/kb/automation-builder-kit-abk/models/recordmap.md) | Contains records from the `input` collection that can be looked up using key values obtained from each item's `keyField` |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.gradient.works/kb/automation-builder-kit-abk/actions/advanced/gwfxbuildrecordmapfromfieldaction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
