You are here:
Data Table Screen Input Component
Display a table so that the user running the flow can select records.
Required Editions
Configure the Data Table Name
| Attribute | Description |
|---|---|
| API Name | The API name of the component. 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. |
| Label | If you select Use Label as the table title, the user-friendly text that appears above the component. |
| Use Label as the table title | Indicates whether to display the Label value above the table when you run the flow. |
Configure the Data Table Source
| Attribute | Description |
|---|---|
| Source Collection | For API version 65 and later, a collection of records or a collection of Apex-defined data types to populate the table. For API version 64 and earlier, a collection of records to use to populate the table. |
| Show search bar | Enables users to search and filter their record results. |
Configure the Data Table Rows
| Attribute | Description |
|---|---|
| Row Selection Mode | Indicates how many rows the user can select in the table. You can set the value to:
|
| Minimum Row Selection | Specifies the minimum number of rows that the user must select. |
| Maximum Row Selection | Specifies the maximum number of rows that the user can select. |
| Default Selection | Collection that specifies which records to preselect in the table. |
| Unique Identifier | Required. The field used to identify each record. The field must have a unique value for each record, such as an ID,or API name. Using a unique identifier is important to ensure your data table component works properly. If you select a field that can have duplicate values, it can cause incorrect and unpredictable selection behavior, such as selecting multiple unintended rows. |
Configure the Data Table Columns
To add the first column to the table, configure these fields. To add subsequent columns, click Add column. Drag and drop the columns to reorder them.
| Attribute | Description |
|---|---|
| Source Field | Field from the Source Collection object to display in the column. Fields with the anyType data type such as the NewValue field of the AccountHistory object aren’t supported. |
| Custom column label | Indicates whether to display the column Label value you specify as the column header. |
| Label | If Custom column label is selected, the text to display as the column header. The text is also read by screen readers. |
| Default Text Overflow Mode | Specifies how text that is longer than the width of the column appears. You can set the value to:
|
| Let Users Modify Data Table | Allows users to modify fields in the data table during runtime.
|
Set the Component Visibility
Specify the logic that determines when the flow displays the component.
| Option | Description |
|---|---|
| When to Display Component | Configure when the component is displayed by using conditional logic. You can set the components to:
|
Store the Data Table Component’s Values in the Flow
The flow stores values automatically. If you store values manually, store the attribute’s output value in a variable.
To store values manually, select Manually assign variables (advanced).
All attributes are available to store in flow variables, but most likely you must store these attributes.
| Attribute | Description |
|---|---|
| First Selected Row | First record in the table selected by the flow user. If a user selects two records, this record is the first selected record from top to bottom. |
| Selected Rows | The list of records that the user selects. The records are ordered according to their position in the table from top to bottom. |
- Navigates to another screen and returns to the component’s screen.
- Pauses the flow then resumes it.
- Navigates to the next screen and triggers an input validation error.
Setting the attribute enables a flow to remember the value. The flow stores the value automatically. If you store values manually, store the attribute’s output value in a variable.
Validate Input
Provide a formula that evaluates whether what the user entered is valid and the error message to display if invalid.
| Option | Description |
|---|---|
| Error Message | Specify the error message that appears below the component if the user enters an invalid value. |
| Formula | Provide a formula expression that returns a Boolean value. If the formula expression evaluates to true, the input is valid. If the formula expression evaluates to false, the error message appears below the component. If the user leaves the field blank and the field isn’t required, the flow doesn’t perform the validation. If the user leaves the field blank and the field is required, the flow shows the default error message and not your custom error message. |
Specify the Behavior of Values on Revisited Screens
Specify what this component does when a user enters a value, navigates to a previous screen, and then returns to the screen with this component.
Considerations
- The Data Table flow screen component isn’t compatible with mobile devices.
- If you use the Get Records flow element to retrieve the records to display in the Data Table, select Choose fields and let Salesforce do the rest for the best performance.
- The maximum height of a Data Table is 400 pixels.
- If you choose to wrap the text in a Data Table, ensure that the text doesn’t overflow when you test your flow. Wrapped text can overflow when a Data Table is compressed on a screen, for example, when it’s in one of multiple columns.
- A Data Table can display up to 1,500 records. However, your search is performed on the entire dataset.
- You can select up to 200 records in a Data Table.
- If you apply a filter after loading your initial records, only the new results are shown. The initial records are no longer included in the display.
- If a Data Table includes a formula field and records or updates to records that haven’t been
committed to the database, the table doesn’t evaluate the formula properly.
For records that don’t exist in the database, update the value of the formula field with an assignment using a static value or Formula resource. Doing so doesn’t affect any subsequent Create or Update operations in the flow.
For existing records that have been updated, use an invocable action to reevaluate the formula, or use the IN operator to refresh the records and formula field values.
- If you include a lookup or master-detail relationship field in a Data Table, the table
doesn’t display the field value. For example, a Data Table can’t display the Name field of a
related record. To display field values from related records, use object formula fields. You
can also use object formula fields to link to related record fields, for example:
HYPERLINK( "/" & CASESAFEID(Id), Related_Record__r.Name, "_self" ) - You can’t search the Time field.
- The Subject field on Task and Event records isn't supported
- Dates and times are displayed in the International Components for Unicode (ICU) date and time formats.
- In multi-currency orgs, the Data Table component doesn’t support records that are in a different currency from the user’s personal currency.
- To display multilingual column header labels in the Data Table component, use the
$Labelglobal variable to specify custom labels. For more information about creating and translating custom labels, see Custom Labels. - Data Table selections at runtime are subject to the client payload data limit described in Lightning Aura Components Developer Guide. If you exceed this limit, the flow returns a generic error message. For example, if you include file data that exceeds the limit, the flow generates an error. We recommend avoiding fields like the VersionData field of ContentVersion records in your source collection.
- If you have a flow open that has a Data Table component, and you update your user settings time zone on another page, refresh the flow page to show the updated date and time fields in the Data Table component.
- When you set the row selection, be careful if you want to use the row selection of another Data Table component. Salesforce doesn’t support the use of row selections that have duplicate record variables without record IDs.
- If you set the row-selection mode to single and make it required, or if you set the minimum and maximum row selection to 1, Salesforce uses a radio button at run time. Otherwise, we use checkboxes at run time.
- If you package a flow that has a Data Table component, the fields used in the Data Table aren't automatically added to the package. If you use a field in the Data Table component, you must manually add it to the package.
- Starting in API version 65.0, field name changes are automatically updated in Data Table components. For flows running in API versions before 65.0, if you rename a field in Object Manager that’s mapped to a column in a Data Table, Salesforce doesn’t update the column name. To see the new name in the Data Table, remove the column and then add it again.
- Starting in API version 65.0, you can no longer delete a field referenced in a Data Table component. For flows running in an API version before 65.0, you can delete a custom field that a Data Table component uses. So, you must also remove the field from the Data Table component.
- Starting in API Version 65.0, namespaces are automatically updated in Data Table components. For flows running in an API version before 65.0, if a Data Table component uses a custom object or custom field in an org without a namespace, and then later add a namespace to the org, you must also add that namespace to the associated column fields in the Data Table manually.
- With column sorting, sorting doesn't impact the first selected row and the selected rows.

