Flow / Admins / Developers

Salesforce Flow Data Table: Standard vs. Custom

By Tim Combridge

Ah, Flow – what a handy, flexible tool! One of the few things it seemed to lack for many years was the ability to have a table of data displayed for easy visualization of records. Luckily for the Salesforce community, the team over at UnofficialSF released an open-source component a few years ago that enabled Administrators and Developers to embed and expand their screen flows with this functionality many years ago. A few years later Salesforce themselves released the out-of-the-box (OOTB) Flow Data Table component in the core product. Meanwhile the whole way through, developers could create their own custom data table components.

This article will talk briefly about the history of Flow Data Table functionality and assess the features, ease of use, and drawbacks of each option. So grab your cup of tea, sit back, relax, and enjoy! 

So Many Options… Let’s Clear Things Up!

If you’re a relatively new Flow artist (that’s the term I’m using for anyone who builds flows – we’re all artists!), you’re likely reading this as you’re trying to implement some form of data table component for a flow you’re working on and may not have realized that there were so many options available to you. Fear not – my goal here is to provide you with the biggest comparison points of each so you’re able to make an informed decision in as little time as possible. 

The metrics that we’ll be assessing today are as follows:

  • OOTB or Not: Is the option you’re looking at out-of-the-box (via the Salesforce platform), or does it require manual building or configuration?
  • User-Friendly Setup: Is this easy to get set up and running? This will be on a scale from 1 (Not so simple) to 5 (Super simple).
  • Flexibility: Can this data table be adjusted to perform different basic tasks such as the ability to add new rows/records, edit data, filter, etc? This will be measured on a scale from 1 (Not so flexible) to 5 (Super flexible). 
  • Upgradability: Will this data table require ongoing maintenance, and if so, how easy is it to keep updated? This will be measured on a scale from 1 (Not so easy to upgrade) to 5 (Easy to upgrade)
  • Special Requirements: Will your business require any special skills to get this data table up and running?
  • Special Features: If there are any features that this data table may offer over the other options, they will be listed here.
  • Best Fit: I’ll aim to identify a scenario for which this particular data table option is best suited. 

The Salesforce Data Table Component

Salesforce’s Winter ‘23 release introduced the Beta version of the Flow Data Table component. This was the first time that you could spin up a new Salesforce org and have a component readily available for screen flow without needing to build one yourself or install one from another source. After many years, it felt right at home as an out-of-the-box component for Salesforce Flow. 

Putting it to use was also a breeze – when building your screen elements, you could simply drag and drop it onto the canvas, and configure the component’s properties in the side panel. Once you knew what you were doing, it would only take a few minutes to fully configure a basic data table component for your screen flows.

Read more about the Data Table component

The biggest drawback of the out-of-the-box component is its lack of functionality – the Data Table component supports the ability to display records in a table, sort by the displayed columns, and now offers a search bar that you can use to search for specific records that are displayed within the table.

Search for records within your data table – Salesforce Summer ‘23 Release Notes

What it doesn’t allow you to do (as of writing this) is make any changes to the data within the table. The closest that you can do for the time being is to select records and make those selections available to be edited later in the Flow, but the table itself is static. That being said, the Spring ‘24 release added a ‘Validate Input’ property to the data table component, so you never know! 

UnofficialSF Datatable LWC

The custom datatable LWC (Lightning Web Component) that UnofficialSF has on offer was likely the first one many Flow artists (I’m sticking to it – I love this term!) used as it was built fairly early on and was the most comprehensive option available. Before the Salesforce component was released, this was the popular option for displaying records in a data table in a screen flow. 

As well as offering similar features to the out-of-the-box Data Table component, the UnofficialSF option offers the ability to add new rows, edit existing rows, and store the state of your records both before and after they’ve been displayed on the page.

Image courtesy of UnofficialSF – Datatable

For example, if you have a list of 5 contact records related to an account being displayed and you make changes to the email domain (say they’ve gone through acquisition so their email domain is changing), and you also add a new line for a new IT Manager, then you would have both the before values (the 5 Contact records with the original email domains) in one collection, as well as a second collection with the after values (all 6 contacts with the new domains). 

This flexibility alone means that a large number of Salesforce professionals will still choose to install the UnofficialSF Flow Data Table component package as opposed to just using the out-of-the-box component. There’s certainly a lot more that it offers over the core offering! 

Image courtesy of UnofficialSF – Datatable

Custom LWC

Last but certainly not least on our list is the option of building your own custom LWC to accomplish whatever niche requirements your business has. Having the ability to design, build, and scale your solution perfectly for your specific needs means that it will be much easier for it to do whatever you need. In terms of functionality and flexibility, it will take the winning prize.

Unlike the out-of-the-box Flow Data Table component and the UnofficialSF package, the Custom LWC route means you will need to build it entirely yourself, which will take a significant amount of time and effort. You will also require a programmatic developer with LWC skills who is capable of building out the tool you need. 

With this option, you will not only need to consider the maintenance of the Flow product but also the evolutions that come with the lightning platform. There may be functions that are deprecated over time that you will need to replace, and there may be new features added that allow you to accomplish a goal more suitably. 

Comparison Table

Now that you understand each option a little bit better, you’ll likely have an idea in your head as to which tool will suit your business best. If you’d prefer to see all the options together and compare them, I’ve created a neat little table that should streamline your decision-making by presenting all the options together so you can compare them properly.

OOTBUnofficialSFCustom LWC
OOTB or Not?Yes!No, but fairly quick installationNo, needs to be built from the ground up
User-Friendly Setup531
Flexibility1VeryExtremely
Upgradability541
Special RequirementsAs long as you know Flow, you’re good!A little bit more experience requiredLWC Development skills required
Special FeaturesNothing to note, apart from the fact it’s ready to go!Ability to create and edit rows, use apex-defined objectsComplete and total flexibility, whatever you need you can likely build
Best FitFor simple, display-only data table requirementsGreat if you need a bit more functionality or the ability to add or edit rowsGreat if your business needs total flexibility and custom functionality

Summary

When selecting a Data Table component for your flows in Salesforce, there’s no single right option that I could recommend as each business and each set of requirements is different. Additionally, if you select one option for one flow, you don’t need to continue using it with all your other flows!

You may have one super complex flow that requires a custom LWC to be built, another that is used to manage active contacts related to an account that you may choose to use the UnofficialSF tool (as it supports the addition of records). Yet, another is just used to display cases on an account. You’re free to do as you choose, but I hope this article has helped to make you more informed about the options available to you. 

The Author

Tim Combridge

Tim is the Managing Director at Sensible Giraffe, passionately educating others via high-quality blog content and training courses including the Ultimate Salesforce Flow Foundation Course.

Leave a Reply