Flow / Admins / Developers

Salesforce Data Table Flow Component: Quick Overview (Updated 2026)

By Tim Combridge

The native Data Table component available in Screen Flow is a crowd favorite and has received significant support from Salesforce over the years. Whenever you need to display or make quick changes to a collection of records, you should consider the Data Table component for Screen Flow.

In this overview, we’re going to learn how to configure the Data Table component in a Screen Flow and go through an example together.

Constructing the Screen Flow

In this example, we’re going to create a Screen Flow that displays a collection of Lead records together in a single screen, allows the user to select multiple of those Leads, and marks them as Closed – Not Converted

Step 1: Gather Collection

Given that we want to be displaying a collection of Lead records in the Data Table component, we first need to retrieve them. To do this, we’ll use a Get Records element and configure it to gather Lead records that are not already converted. I am also limiting it to just 10 pull records at a time.

Step 2: Screen Element

Now that we’ve gathered the records we want to display, we need somewhere to display them. The Data Table component requires a Screen to display it in, so we’ll create a Screen called Display Leads to Close.

In the Components tab of the editor, search for “Data Table” and drag it onto the canvas from the Input section. 

From here, we’ll give it an API Name of LeadsTable and a Label of Select Leads to Close. Tick the Use Label as the table title box as well. 

Step 3: Configure the Source Collection

Now that we’ve added the Data Table, we need to populate it with the data that we’ve gathered in the Get Records element from earlier. In the Configure Data Source section, set the Source Collection value to Leads from Get Leads.

Optionally, you can choose to turn the search bar on by checking the box underneath. 

Step 4: Configure Rows

Next up is the Configure Rows section. Here we can configure if we want to make it a read only table, or if we want to allow a selection of a single or multiple records. In the example that we’re working through, we want to allow for multiple records to be marked closed in bulk, with a minimum of 1 record.

You can also choose to use a different field as the unique identifier, but we’ll leave the Id as it is. Given that we’re dynamically querying the Lead records and have no prior methods of determining what should be selected, we’ll also leave the Default Selection blank.

Step 5: Configure Columns

Now comes the fun part – choosing what columns are displayed to the end user. We’ll keep it simple and just do the following:

  • Full Name
  • Phone
  • Email
  • Status

To do this, you need to search for the field in the Source Field (searching for either API Name or Label will work), select the right fields, and click Done each time to lock it in. 

You could choose to add a custom label if you wanted to, but we don’t need to do so for this example. Additionally, for longer text fields (like Description), you can also switch to Clip Text for text overflow to make it behave a bit more like regular List Views. As we don’t have any longer text, we’ll not enable this for any of the aforementioned fields. 

Step 6: Construct the Remainder of the Flow

With the key focus being on the Data Table component, I won’t go into too much detail regarding the rest of the Flow, but I will summarize it. 

Once the user has made their selection and clicked Next, we want to change the Status of each of those records to Closed – Not Converted. To achieve this, we’ll use a Transform element to extract the Ids from the Lead Table, then add an Update Records element and use the transformed Ids from the Data Table component. 

Connect the Id node from inside the selectedRows collection to a new Text Collection Target Data set. This splits the Lead Ids into their own text collection for use in the Update Records element.

Once this is complete, your Flow should look like the one below. Make sure you save the Flow before continuing!

Step 7: Test the Flow

Once saved, click the Debug button to begin a debug run. Here we can see a collection of Leads (and notably, none of them are closed – showing Get Records criteria is working).

After making a selection, clicking Next will go ahead and update those records to have a Status of Closed – Not Converted. I checked Brenda Mcclure, which is one of the Leads that I selected, and confirmed that it worked! 

Summary

The Data Table component for Screen Flow is an out-of-the-box option that you can use to display records in a tabular format and make some quick changes.

While the out-of-the-box Data Table Flow component is not as feature-rich as other third-party offerings, it will cover a lot of basic functionality and enable businesses to display a data table within a Screen Flow without having to install a third-party component.

The Author

Tim Combridge

Tim is a Technical Content Writer at Salesforce Ben.

Leave a Reply

Comments:

    Adam
    February 10, 2023 9:07 pm
    Have you encountered an issue with displaying dates in this table? I have an issue where the date shown is actually a day less than the date in the database.
    Jamal
    March 01, 2023 11:07 pm
    according to the help doc from Salesforce (https://help.salesforce.com/s/articleView?id=sf.flow_ref_elements_screencmp_data_table.htm&type=5), the Data Table component displays Date, Time, and Date/Time fields in UTC or Universal Time Coordinated time. Could that be causing your issue?
    Maria Gulino
    March 09, 2023 2:22 pm
    Same here! Has there been any solution to this?
    Eric
    March 09, 2023 8:43 pm
    Adam, i had this issue with a date formula. It seems to be due to the way SFDC stores dates as GMT. I found this on their site: Date and Date/Time values are stored in GMT. When a record is saved, field values are adjusted from the user’s time zone to GMT, and then adjusted back to the viewer’s time zone when displayed in record detail pages and reports. With Date conversions this doesn't pose a problem, since converting a Date/Time to a Date results in the same Date value. When working with Date/Time fields and values, however, the conversion is always done in GMT, not the user’s time zone. Subtracting a standard Date/Time field from another isn’t a problem because both fields are in the same time zone. When one of the values in the calculation is a conversion from a Text or Date value to a Date/Time value, however, the results are different. I was able to resolve my issue by changing to a real date/time field vs a formula.
    Justen
    April 27, 2023 6:55 pm
    Have you ran into an issue of putting two data tables on a screen flow and the second one not populating data?
    Rudresh Kumar
    May 02, 2023 11:10 am
    Since fields are directly taken from the Object, how can we make one of the column values as hyperlink, so that it can be redirected to detail page. Any ideas?
    Manuel Piquero
    May 16, 2023 5:44 pm
    The only way I could do this was to create a formula field on the object for the table and add that column Use this in the new formula field HYPERLINK( "/" & CASESAFEID(WorkOrderId), WorkOrder.WO_Number__c, "_self" )
    Barbara Martin
    June 28, 2023 1:57 pm
    #5 Minimum and Maximum not working to limit the number of rows displayed to the user on the screen. I read on another site that the purpose of minimum and maximum has to do with what the user must select, not display...I'm not there yet in my flow to check if the latter is true. Does anyone have a suggestion?
    Mazy
    June 29, 2023 6:19 pm
    I have the same problem :/
    Sohail
    June 29, 2024 9:47 pm
    How can I make the hyperlink work? I have a get record element on opportunity and I passed the collection record to the datatable. The name field of opportunity has the hyperlink by default but it is taking to the screen flow again not to the record detail page. Am I missing any steps? Thank you in advance