---
schema_version: "1"
id: 2d5139288c9b15cee863725554431adaa16c47c8531af14a5e2f080d410032dc
title: Collection 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_collectionchoice.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.flow_ref_resources_collectionchoice.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 13ea0270bd8af1e417892d0497963587f0f977329792f9a7db7a87e5c165481a
description: Generate a set of choices from an existing collection of records or external data.
products:
  - Flow Builder
  - Salesforce Platform
release: "264"
---
# Collection Choice Set Resource

Generate a set of choices from an existing collection of records or external data.

### 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. |
| **Record Collection** | The collection you want to use to generate the choices. You can reference an Apex-defined collection from an external service, Apex action, or another screen component. |

## 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="d217677e141">Field</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d217677e144">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d217677e141 ">
              <strong class="uicontrol">Choice Label</strong>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d217677e144 ">
              <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="d217677e141 ">
              <strong class="uicontrol">Data Type</strong>
            </td>

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

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

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d217677e144 ">
              <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>

![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 In most cases, set the choice label to Name and the choice value to ID.

![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

Collection choice sets are useful when a flow reuses the same dataset over multiple screens. For example, you’re designing a support flow for a company’s IT department that handles support requests related to employee hardware. The flow references the same employee hardware data over several screens. To get the employee hardware information, use a Get Records action, which populates a record collection. To define the conditions relevant to the support request, use a collection filter on the record collection. Next, to display the user choices, add a collection choice set that uses the filtered collection. Create a relevant collection filter and collection choice set for each branch of the support flow.

With collection choice sets, the server is queried only when the Get Records element is first run. In comparison, record choice sets require a server query with each use.

## 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 |

#### See Also

- [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.")