Salesforce Winter ’23 Release introduced “Data Table” in Salesforce Flows. With data table, you can display multiple records in a Screen-Flow, let users select one or multiple records and process the selected records based on your business requirements. Or you may just want to display a list of records without providing the option to select anything.
Here are some of the use cases for the data table
- Let users select a list of records and then update those records with specific values
- Let users select a list of records and delete those records
- Or just display a list of records based on certain criteria
Before the data table, you needed to write custom code using Visualforce page, Aura, or Lightning Web Component to meet the similar requirements. But do note that currently there is no option to edit the values directly in the data table.
The data table can be created using the ‘Get Records’ element or using resource of ‘Collection’ type.
In this step-by-step guide, we will allow users to create multiple Contacts for an Account, display the newly added Contacts & existing Contacts in data table and let users ‘unselect’ the newly added Contact if they don’t want to save it.
This guide is just an illustration of how to use data table in Salesforce Flow in just under 30 minutes. And you can then let your imagination run wild and explore how this feature can be used to meet your business requirements and potentially reduce some of the custom codes.
Please do note that this feature is available in Winter ’23 Release of Salesforce, which will be rolling into production and sandbox orgs from 09-Sep-2022 to 14-Oct-2022. So be sure to ensure that your org has been updated with Winter ’23 release before trying this out.
What are we trying to build
In the following video, let’s first see what are we trying to build?
Now, let’s build this Flow
Ok, now that you understand what we are trying to build, here the complete guide on how to build this screen-flow containing data table – step by step.
Introducing Mastering Salesforce Flows Training Course
Liked this post? We are now offering a complete self-paced, video-based training course on Mastering Salesforce Flows. The course comes with downloadable step-by-step PDF guides, unlimited access, free upgrades, area to ask questions, free preview & 100% money back guarantee. For more details, please click here.
Need Help with Flows?
Need advice on Flows? I also offer advisory & consulting services on Salesforce Flows. So, whether you want to create new Flows or migrate existing automations (Workflow Rules, Process Builder, Triggers) to Flows, I can help you analyze, design, plan & review. To initiate a discussion, please submit the contact form here stating your requirement or book a 30-minute free discovery call at this URL.
19 thoughts on “Step by Step Guide to Using Data Table in Salesforce Flow”
This was very helpful.
I have a question as I am trying to use screen flow to get the record and i am able to fetch field values in the data table of existing record. But unable to hyperlink that record name as an link in Data table so that I can redirect directly to the record. How to do that? I need your guidance on this.
Thanks, Deepak. You can add hyperlink using the $API global resource. Please also refer this blog post for more details on how to use this – https://admin.salesforce.com/blog/2022/create-a-record-link-dynamically-in-flow
Could you please let me know if we can use this Hyperlink URL within Data table also.as I am getting related list as an opportunity from campaign. unable to hyperlink that record name as an link in Data table
eg. we have data table with opportunity Details like Opp Name , Stage & Amount in columns.
Want to have Opp Name as Hyperlink within Data-table.
Hi Deepak, one option is to create a custom field of “formula” type that will have the URL to record and show that field in the data table. You will need to test and see if this works.
Hi Can we have search textbox to search values in datatable or have picklist list viewabove datatable to see recently view records.
Hi Arun, currently, there isn’t an out of the box feature to search for values in data table. But here is what you can try:
1. Create a collection using ‘Get Records’ element to get all the records based on your requirement. Let’s call it “main collection”.
2. Add a screen element and display a text box to let user enter the search string.
3. Create a “Collection Filter” to filter the “main collection” with the search string entered by the user.
4. Add another screen element to display the data table created on the “collection filter”.
Also note that Salesforce will be adding “Reactive Screen Components” in Flows. Please refer to this Trailblazer Community group for more details – https://trailhead.salesforce.com/trailblazer-community/groups/0F94S000000kGWqSAM
For recently viewed records, you can use the ‘Get Records’ element on the object ‘RecentlyViewed’, though I am not sure how useful this is going to be if you need to display the information about the recently viewed record.
Yet another great post! You are a great help.
One question as you are one who always is in the know. Do you have any idea when Data Table will be able to take data entry? Specifically on creating Opportunity Products, adding a Quantity directly in the table?
Hi Pete, Thanks for your feedback as always. I have not seen any mention of when data table will become editable, so no idea about it. 🙁
Hi. This was very helpful.
Do you know if there is a limit on the number of objects displayed in a table? (or Get Records limit ? )
Thanks for your feedback Timi. Glad that you found it useful. The ‘Get Records’ element has a limit of 50,000 records ( https://help.salesforce.com/s/articleView?id=sf.flow_considerations_limit_transaction.htm&type=5 ). But I am not sure if data table can display so many records and I have not seen any mention of limits for data table. You will have to test it out. The other factor to consider is that currently the data table does not have pagination. So, displaying a large number of records on one single screen will not be very user-friendly.
This was very helpful.
I have a question as I am trying to use screen flow to update the record and i am facing an issue the field values are not been fetched in the data table of existing record. How to do that? I need your guidance on this.
Thanks Pooja. Can you please clarify the overall approach as I am not clear? Data tables are currently not editable. So, you won’t be able to edit the values directly in the data table. Where exactly the field values are not being fetched?
This was an excellent instruction for Data Table – Thank you! Once again, you de-mystify and make clear to we mere mortals the world of making Salesforce do what you want!
Question: In putting my learning to work, I started simple and used Data Table to show the result of changing or assigning a geographical region to a set of zipcodes. Region names and other data are stored on the Account object; the Zipcode table is it’s own custom object. The flow works just fine- the assigned region is updated, and the Data Table shows the records that were updated (i.e. each zipcode) and the newly assigned Region. However, in the Zipcode object, Region is necessarily a Lookup field, and when the results display in the Data Table, the Region column is showing the ID of the Region, not its Name. This, of course, seems useless; the user needs to see the Name they selected. I can’t see a way around this – is there one? (Also, I would note, we’ve been using Unofficial Salesforce’s Datatable, and it does not exhibit this behavior – you get the Name when you specify a column that is a Lookup field.)
Thanks, Steve. 🙂
You can try using Formula Field in your Zipcode object to display the name of the region. See if that helps.
I’ve tried using the formula/text field Owner.FirstName & ” ” & Owner.LastName and it shows up the information I’m looking for in the field on a page layout, but when bringing it into the data table the data is blank and missing. Could you advise? I also read about using this, but I’m not sure where to place this as I’m also getting a syntax error in the field. HYPERLINK( LEFT($Api.Partner_Server_URL_450, FIND(‘/services’, $Api.Partner_Server_URL_450)) + CASESAFEID(Id), $Record.Related_Record__r.Name ). Thanks
I am able to see the value of formula field properly in the data table. Please take a look at the attached screenshots
I’m experiencing the exact same issue as Julia: formula/text value is shown on page layout, but NOT in the data table.
Not sure why this fails, but it seems to happen for CROSS-OBJECT formulas. Can you please try it for e.g. custom formula field ‘Product Name’ (ProductName__c) with formula “Product2.Name” on the Order Product? (to display data table of existing Order Product records on the Order)
Does that work for you?
It does work for me. I created a custom formula field on the “Opportunity Product” object to get the product name.
And then I used this field in the data table. It is showing me the values.
And with regards to your query on how to include the Hyperlink in Flow, please take a look at this post on Trailblazer Community – https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000BsmNQSAZ