---
schema_version: "1"
id: 17740e682d94533de8f5d32b2aa05d47d7ce70efc263a51a73120f78cf20b300
title: Record Choice Set Resource
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/flow_ref_resources_recordchoice.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.flow_ref_resources_recordchoice.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 49b9a08006c09a07934ec2fc2be575cc6583f643ef1bec020c87fa19d7640171
description: Generate a set of choices using a filtered list of records.
products:
  - Flow Builder
  - Salesforce Platform
release: "264"
---
# Record Choice Set Resource

Generate a set of choices using a filtered list of records.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;"><a href="https://help.salesforce.com/s/articleView?id=platform.flow_ref_supported_editions.htm&amp;release=264.0.0&amp;type=5" title="Learn about the editions and user interfaces that support Flow Builder. Some Flow Builder features integrate with other Salesforce products that require additional licenses.">View supported editions.</a></td></tr></tbody></table>

 
| Field | Description |
| --- | --- |
| **API Name** | The requirement for uniqueness applies only to elements within the current flow. Two elements can have the same API name, provided they're used in different flows. An API name can include underscores and alphanumeric characters without spaces. It must begin with a letter and can’t end with an underscore. It also can’t have two consecutive underscores. |
| **Description** | Helps you differentiate this resource from other resources. |
| **Object** | The object whose records you want to use to generate the choices. You can’t change the object for a previously saved record choice set. |

## Filter Object Records

Determines which records are included in the choice set. For example, to generate a list of all accounts in San Francisco, use filters to include only accounts whose Billing City is San Francisco.

![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/images/icon_tip.png)

Tip Without filter conditions, a choice is generated for every record of the selected object. If you don’t apply filter conditions, make sure to sort the records in ascending or descending order.

## Sort Object Records

Determines how to sort the filtered list of records and how many records to include in the choice set.

 
| Field | Description |
| --- | --- |
| **Sort Order** | Controls the order that the choices appear in. |
| **Sort By** | When the sort order is ascending or descending, select the field to order the choices by. |
| **Maximum Number of Choices** | The maximum number of choices to display for the screen component that uses this record choice set. By default, the maximum is 200. |

## Configure Each Choice

For each record that meets the filter conditions, the flow creates a choice using values from the record. Identify which fields to use for each choice’s label and value.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:24%">
          <col style="width:76%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d227828e224">Field</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d227828e227">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d227828e224 ">
              <strong class="uicontrol">Choice Label</strong>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d227828e227 ">
              <p>Determines which field to use as the label for each generated choice. Select a
                field that enables users to differentiate between the generated choices. </p>
              <p>Make
                sure to choose a field that contains data. If the selected field has no value for
                a given record, the corresponding choice’s label is blank at run time.</p>
              <p style="margin-bottom:0;">This
                text is what's used to represent the choice in display text screen components and
                text formula resources.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d227828e224 ">
              <strong class="uicontrol">Data Type</strong>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d227828e227 ">Data type of the choice’s value. You can’t change the data type of a previously
              saved record choice set.</td>

          </tr>
          <tr class="">
            <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d227828e224 ">
              <strong class="uicontrol">Choice Value</strong>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d227828e227 ">
              <p>Determines which field’s value to store when the user selects this choice at
                run time. The value is determined by the most recent user selection of a choice
                within the generated set. </p>
              <p><strong class="uicontrol">Data Type</strong> determines the
                available options. If you don’t select a field as the choice value, the choice
                label is used instead. </p>
              <p style="margin-bottom:0;">This text is what's used to represent the choice in
                all screen components except display text screen components and all types of
                formula resources except text formula resources.</p>
            </td>

          </tr>
        </tbody>
      </table>

## Choice Value vs. Choice Label Used at Runtime

 
| Where | Which Is Used |
| --- | --- |
| In all screen components except Display Text components. | Value |
| In all resources except text Formulas. | Value |
| Display Text components | Label |
| Text Formula resources | Label |

## Store More Object Field Values

When a choice is selected, store field values from the associated record in flow variables that you can reference later.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/images/icon_note.png)

Note When a Checkbox Group, Multi-Select Picklist, or Choice Lookup screen component uses a record choice set, only values from the last record that the user selects are stored in the flow variables. If multiple Checkbox Group or Multi-Select Picklist components on one screen use the same record choice set, the variable assignments come from the last record selected from all of those components.

![Example](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/images/icon_example.png)

Example

In a support flow for a computer hardware manufacturer, users identify a product to find its latest updates. You create a record choice set that displays all products whose product ID starts with a specific string of characters. However, the flow users are more likely to know the product’s name than its ID. So for **Choice Label**, select the field that contains the product name, and for **Choice Value**, select the ID field. Elsewhere in the flow, you want to display the associated description. To do so, you store the Description field value from the user-selected record in a variable.

#### See Also

- [Flow Operators in Data Elements and Record Choice Sets](https://help.salesforce.com/s/articleView?id=platform.flow_ref_operators_filter.htm&release=264.0.0&type=5 "Filter conditions narrow the scope of records that the flow operates on. For example, use filter conditions to update only the contacts that are associated with the Acme Wireless account. When you add an Update Records element, use filter conditions to narrow the scope to just the contacts whose parent account is Acme Wireless. The In and Not In operators are available only in Create Records, Get Records, and Update Records elements.")
- [Standard Flow Screen Components](https://help.salesforce.com/s/articleView?id=platform.flow_ref_elements_screencmp.htm&release=264.0.0&type=5 "Salesforce provides several standard screen components that extend the types of input fields available in screens.")
- [Choosing Which Choice Resource to Use in Screen Components](https://help.salesforce.com/s/articleView?id=platform.automate_flow_build_using_choice_resources_with_flow_screen_components.htm&release=264.0.0&type=5 "Choice resources display selectable options in flow screens. Choice resources can appear as radio buttons, checkboxes, or picklist fields. There are several options for choice resources that you can use, depending on your business need. We recommend using a choice resource only when you can’t use a record choice set or a picklist choice set.")
- [Flow Resources](https://help.salesforce.com/s/articleView?id=platform.flow_ref_resources.htm&release=264.0.0&type=5 "Each resource represents a value that you can reference throughout the flow.")