Rows checked on open, a file per row, spreadsheet mode, pills, a row action and one update with no loop.

Seven Avonni screen flow Data Table tricks you can rebuild in a couple of minutes each: upload a file in the right row, edit every field like a spreadsheet, keep the selection visible, and let a row action drive your flow logic. All no-code, with the Avonni Data Table for Salesforce Flow.
Useful for Salesforce admins and consultants who build screen flows and want users to work on many records from one screen.
The Avonni Flow Screen Components package from the AppExchange (free in sandboxes, 10 free production licenses), with the Avonni Flow Screen Components permission set assigned.
Welcome to a new Avonni video tutorial! Today: seven Data Table tricks for Salesforce screen flows, each one a setting or two in the Component Builder. It's for admins who build screen flows and want one screen to do the work of ten record pages. We'll learn them on a real example: a permit coordinator who handles a whole day of permits in one table. Here's the result: the permit PDF on the right installation, with the right name, the inspection date fixed, and the status approved. Let's go!
Meet Maya. She coordinates permits at SolarOps, a residential solar installer. Every morning, the city emails her a batch of permits. Until now, she opened each installation one by one: attach the PDF, fix the inspection date, change the status. Ten installations, ten records, every day. So we'll build her a screen flow called Permit Day. Why a flow and not just a page? Because it's a guided process with logic behind the screen. What Maya does in the table decides what the flow updates next.
Salesforce gives you good tools here, so let's be fair. The standard Data Table in a flow selects rows, searches, sorts, and edits text, numbers, currency, email and phone, one cell at a time. But it can't edit a date or a picklist, and it has no file column. The standard File Upload component attaches files to one record per component. And a list view edits dates in place, but it can't take a file per row or walk Maya through a guided process. The Avonni Data Table does all of that in one table: a file on each row, every field editable at once, and row actions that drive the flow. One honest note: this is not a mass-loading tool. For thousands of rows, stay with Data Loader.
Here's what we'll build, one trick at a time. One: rows that are already checked when the screen opens. Two: a file dropped on the right row. Three: spreadsheet mode. Four: a search that keeps your selection. Five: the selected rows as pills. Six: a row action that runs flow logic. And seven: one update for every selected row, with no loop.
Before we start, you need three things. The Avonni Flow Screen Components package, with its permission set assigned, so the components show up in Flow Builder. On the installation records, a permit status, an inspection date and a notes field, because that's what Maya updates. And a few permit PDFs on your computer, named after each installation. You'll see why in trick two.
In the screen editor, search for Avonni and you get the whole collection: more than seventy screen components, the Data Table among them. You install the package from the AppExchange. It's free in sandboxes, with ten free production licenses. The link is in the description.
Let's build the logic first. A Get Records element fetches the installations whose permit isn't approved yet, soonest inspection first. A second Get Records fetches the ones whose permit is already received. Keep that one in mind, it's trick one. Then the Permit Day screen with the Avonni Data Table. After the screen, an Update Records saves what Maya edited in the table. Then a Decision asks what she did. Did she put an installation on hold? Did she check at least one row? Or nothing at all? Each answer has its own path, and every data element gets a fault path to a clear error screen. Now let's open the table in the Component Builder.
The data source is a variable: the installations from our first Get Records. Right below, Default Selection Collection takes the second Get Records. Why? The permits already received are ready to approve. Maya shouldn't have to find them: they open already checked.
Now the star of the show. We add a custom column of type File Upload. Accept is set to PDF only, so nothing else gets in. File Name Prefix adds "Permit - " in front of the file's name, and Show File Uploaded lists the file right in its row. Here's the part that matters. The file is attached to that row's installation, the moment Maya drops it, before she even clicks Next. That's why we named the PDFs after each installation: "Chen Residence" becomes "Permit - Chen Residence". No standard flow component does this per
row. Next, All Columns Settings, Display as Input. Every editable field becomes a visible input, all at once. No pencil, no popup. Maya fixes a date like in a spreadsheet. We turn on Wrap Text for the notes, so long notes stay readable. And we turn on Suppress Bottom Bar. Why? The table's own Save button isn't needed here: the edits go straight to the flow when Maya clicks Next, and our Update Records saves them. A tip, though: with a lot of columns, this mode gets heavy. Keep it for the fields people actually edit.
With ten installations, scrolling is fine. With forty, it isn't. So we make the columns searchable and add a search bar, with a clear placeholder. And here's the trick: when Maya searches, the rows she already checked stay checked, even the ones the search hides.
How does Maya know what's checked while she searches? With pills. Show Pill Container Selected Item puts each checked installation above the table, labeled with its name. And Show Number of Items Selected adds the count. She sees her selection at all times, and she can remove a row from its pill.
Sometimes the city needs more paperwork. Maya wants to put one installation on hold, right from its row. So we add an Action column with one action, Put on hold. An action alone does nothing. In the Interactions tab, we add a Row Action. The target is Put on hold, and the type is Flow Navigation, Next Screen. Now one click moves the flow forward, and the table tells it which action and which row. Back on the canvas, our Decision catches it, and an Update Records puts that installation on hold. Then the flow loops back to the table, refreshed.
Last trick, on the canvas. To approve the checked installations, you might think: a loop, an assignment, a collection. No need. The table gives you the IDs of the selected rows as a list: Selected Rows Key Field Value. Put it in the In filter of one Update Records, set the status to Permit Approved, done. One element.
Let's run it. First, the mistake: Maya clears the selection and clicks Next. The flow catches it and asks her to select at least one installation. Now the real thing. Nair and Moreau are already checked. Tanaka needs more paperwork, so Maya puts it on hold, and the table comes back with Tanaka on hold. Then she searches for Chen, drops its permit on the row, and fixes the inspection date. She checks Chen: three pills. Then Next. Three installations approved. And on Chen's page: the permit in Files, with the right name, the new inspection date, and the status Permit Approved. One screen replaced ten records.
A few pro tips before you go. The table also gives you the selected IDs as one comma-separated text. It's quoted for SOQL, so it won't work in a Flow In filter: use the list. Name your files before you drop them, the prefix keeps their name. A file is attached the moment it's dropped, even if the user never clicks Next. And the same table has a filter button, header actions, and row numbers, one click each in the Component Builder.
So, seven tricks: rows checked from the start, a file on each row, spreadsheet mode, a search that keeps the selection, pills, a row action that drives the flow, and one update with no loop. Each one is a setting or two in the Component Builder. Three Shorts are coming from this video: the file on the right row, spreadsheet mode, and the pills. Subscribe so you don't miss them. Thanks for watching, and see you in the next one!
Browse the whole library, filtered by where it runs and what you want to build.
All video tutorials