---
schema_version: "1"
id: ffcaa3ce06e1cb77e4dea2d6f7fe52886ee42e13f1ce7dd7c3a8ef9add4cd5f6
title: Repeater Screen Display Component
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/flow_ref_elements_screencmp_repeater.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.flow_ref_elements_screencmp_repeater.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: fd16b785b517e32e5e2629efecc6a89f38b930e55082048fa75ba7bad5e506e0
description: Collect information about multiple items of the same type on a screen with the Repeater component. To use the output of the component elsewhere in the flow, loop over the output and save the relevant data in a variable. Use the variable to build a list of records.
products:
  - Flow Builder
  - Salesforce Platform
release: "264"
---
# Repeater Screen Display Component

Collect information about multiple items of the same type on a screen with the Repeater component. To use the output of the component elsewhere in the flow, loop over the output and save the relevant data in a variable. Use the variable to build a 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>

![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 For the best performance, we recommend setting the flow and runtime to API version 58.0 or later.

Here's what a Repeater component looks like at runtime. This repeater has five child components that have been repeated on the screen when the user clicked Add to add another person. The child components are two Text components named First Name and Last Name, a Date component named Date of Birth, a Toggle component named Receive emails about updates, and a Checkbox Group component named Emails. The Checkbox Group component is set to be hidden until the Toggle component is set to Active. The user can keep clicking Add and the same five components are repeated on the screen each time.

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

![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 To learn how to use a Repeater component in a flow, review [Create Multiple Records with a Repeater Screen Component Example](https://help.salesforce.com/s/articleView?id=platform.automate_flow_build_example_screen_comp_repeater.htm&release=264.0.0&type=5 "This example creates screen flows that use Repeater components to collect information for multiple related items and perform bulk actions on that data. Use Repeater components when you need to gather the same type of information for multiple records, such as collecting product information for multiple items. The flow can then automatically create and link related records based on the collected information.").

## Configure the Repeater Component

<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="d55353e88">Attribute</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d55353e91">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d55353e88 ">
              <strong class="uicontrol">API Name</strong>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d55353e91 ">
              <p>The API name of the component.</p>
              <p>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.</p>
              <p style="margin-bottom:0;">Screen readers use the API name to announce the Repeater component and its child
                components.</p>
            </td>

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

## Configure Data Source

Select the collection of items that prepopulates the Repeater component at run time. The Repeater’s child components can reference values from this collection.

<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="d55353e143">Attribute</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d55353e146">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d55353e143 ">
              <strong class="uicontrol">Collection for Prepopulated Items</strong>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d55353e146 ">
              <p>Fields from the selected collection become available to child components in
                the Repeater. </p>
              <p style="margin-bottom:0;">The Collection for Prepopulated Items field isn’t reactive.
                As a result, outputs from a screen action don’t populate data in repeaters at run
                time.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d55353e143 ">
              <strong class="uicontrol">Unique Identifier for Items</strong>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d55353e146 ">The unique identifier for items is the API name of the field that contains a
              unique identifier for each item in the collection. This field is set automatically
              to the object’s ID field.</td>

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

## Configure Display Options

<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="d55353e202">Attribute</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d55353e205">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d55353e202 ">
              <strong class="uicontrol">Let Users Add or Remove Items</strong>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d55353e205 ">
              <p style="margin-bottom:0;"> Choose whether screen flow end users can add new items or remove prepopulated
                items in your Repeater instance. End users can remove items that they added
                manually.</p>
            </td>

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

## Set the Component Visibility

Specify the logic that determines when the flow displays the component.

<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="d55353e251">Option</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d55353e254">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Option" class="slds-cell-wrap" style="vertical-align:top;" headers="d55353e251 ">
              <strong class="uicontrol">When to Display Component</strong>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d55353e254 ">
              <p>Configure when the component is displayed by using conditional logic. </p>
              <p>You can set the components to:</p>
              <dl>

                <dt style="font-weight:bold;padding-top:.25rem;">Always</dt>

                <dd style="padding-left:1.5rem;padding-bottom:.5rem;">Always display the component.</dd>


                <dt style="font-weight:bold;padding-top:.25rem;">When all conditions are met (AND)</dt>

                <dd style="padding-left:1.5rem;padding-bottom:.5rem;">Display the component when all of the conditions that you define are met.
                  Define at least one condition.</dd>


                <dt style="font-weight:bold;padding-top:.25rem;">When any condition is met (OR)</dt>

                <dd style="padding-left:1.5rem;padding-bottom:.5rem;">Display the component when at least one of the conditions that you define is
                  met. Define at least one condition.</dd>


                <dt style="font-weight:bold;padding-top:.25rem;">When custom conditional logic is met</dt>

                <dd style="padding-left:1.5rem;padding-bottom:.5rem;">Display the component when the condition logic that you define is met.
                  Define at least one condition and specify condition logic.</dd>

              </dl>
            </td>

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

## Usage

After you configure the Repeater component, add and configure one or more child components inside the Repeater. The flow stores user input for the Repeater component in the `AllItems` attribute of the component. You can loop over the items in this collection to create a collection variable that you can use later in the flow.

## AllItems Attribute Considerations

- The `AllItems` attribute is empty when:
    - The Repeater component contains only child components that don’t accept user input such as the Display Text component.
    - A user doesn’t add Repeater instances to the screen.
- The `AllItems` attribute is null when all the child components are hidden by conditional field visibility.
- The `AllItems` attribute and its value are read-only.
- The `AllItems` attribute isn’t supported in Assignment elements.

## General Considerations

- You can’t include the Action Button component or record fields in a Repeater.
- The output of Repeater components isn’t supported in Transform, Collection Filter, or Collection Sort elements.
- You can’t reference the output of a different Repeater component in a Repeater child component.
- Choice components that reference a collection choice set resource in the Choice field aren’t reactive inside Repeater components.
- When you create or update a screen, you can move a component on the same screen into the Repeater component. You can also move a component from inside a Repeater component to a different place on the screen. However, any references to the moved component are broken.
- If you move a component with the Manually Assign Variables checkbox selected into a Repeater component, any manual assignments are removed and the checkbox is deselected. However, the variables still exist in the flow. We recommend reviewing the component after a move to ensure that it doesn’t include broken references.
- Users can add up to 30 instances of the Repeater component to the screen at runtime.
- The format for a reference to a Repeater component within the component itself is `{!repeaterAPIName.fieldName}`. In validation messages and the flow metadata package, the format for the same reference is `{!repeaterAPIName.AllItems[$Items].fieldName}`.

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

This example shows a screen that includes a Repeater component with Name and Email child components to collect information about new customers.

![Repeater component in a screen element.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/platform_automation/images/flow/flow_build_example_screen_cmp_repeater_panel.png)

#### See Also

- [Add Records from User Input in Screens Using Repeaters Example](https://help.salesforce.com/s/articleView?id=platform.flow_elements_screen_modify_records.htm&release=264.0.0&type=5 "This example uses a screen flow with the Repeater component to gather information from users at run time. You can collect data for multiple items in a group. The Repeater component has one or more child components. The values in these components can be prepopulated on the screen at run time. Users can update, delete, and add values for the group. The changes from the user interaction can be also be committed to Salesforce records.")
- [Create a Contact for Each Beneficiary on a Policy Example](https://help.salesforce.com/s/articleView?id=platform.flow_ref_elements_screencmp_loop_through_user_input_in_the_repeater_screen_component.htm&release=264.0.0&type=5 "Add a Repeater component to a screen, and then add child components to represent a beneficiary on a policy. Loop over the output Repeater component to create a collection of Contact records. Then use the collection to create a Contact record for each beneficiary.")