Implementing a bulk edit on the Data Table

Overview

This tutorial will show you how to add a "bulk edit" feature to your Salesforce flows using the Avonni Data Table. Users will be able to select multiple opportunities in the table and then click a button to edit all of them at once in a separate screen flow.

How it works

This tutorial is pretty straightforward. We have two parts:

  1. Main Screen Flow: This displays the Data Table with all the relevant information.

  2. Bulk Edit Screen Flow: This flow shows only the selected records from the first flow in a special Avonni Data Table that lets users edit multiple records at once.

We'll use the "Open Flow Dialog" action to let users switch between these two flows and do the bulk editing.


Guided Steps

Step 1: Configure the first screen flow

1.1: Set Up the Main Data Table

  1. Add the Data Table: Drag and drop the Avonni Data Table component onto your screen.

  2. Connect to your data: Choose the "Query Data Source" option to create a direct connection between your Salesforce data and the Data Table.

  3. Choose your columns: Click the "Add Columns" button in the "Data Mappings" section to select which fields you want to display in your table


1.2: Add a Bulk Edit Button

Now that we've added the data to our Data Table, let's create a button at the top that will trigger the bulk edit functionality.

  1. Open Header Settings: Expand the "Header" section in the Data Table properties.

  2. Add the Button: Click on the "Add Actions" button.

  3. Name the Button: Enter a clear label, like "Bulk Edit"


1.3: Interaction setup

We just created the header button action, now let's make it functional and that's where the interaction tab comes into play. Here's how to make the button functional for your users:

  • Add the Interaction: Click the "Add Header Action" button.

  • Choose the Button: Select the "Bulk Edit" button we created earlier as the target.

  • Pick the Action Type: Select "Open Flow Dialog". This means clicking the button will open another flow in a pop-up window.

  • Select the Flow: In the "Flow API Name" section, choose the flow you want to open when the button is clicked

Important: You need to have already created this second flow. If you haven't, go to Step 2 and come back here once it's done.

  • Name: Enter the exact same name as the variable you created in the second flow (we'll explain this in Step 2).

  • Value: Select "Selected Record Ids". This will send the IDs of the selected opportunities to the second flow.

  • Type: Choose "Text".

  • Allow Multiple Values: Make sure this is toggled on so users can select multiple records for bulk editing.

  • Size: select Large

  • On Finish: Choose the "Refresh Query" interaction. This will automatically update the main Data Table to reflect any changes made during the bulk edit.


Step 2: Set Up the Bulk Edit Screen Flow

Now, let's build the second flow that will open when users click the "Bulk Edit" button. This flow will let them edit multiple records at the same time.

2.1: How the Bulk Edit Flow is Built

Here's a quick overview of how we'll structure the bulk edit flow. We'll explain each part in more detail in the following steps.


2.2: Create collection variable

First, we need a place to store the IDs of the records the user wants to bulk edit.

  1. Create New Resource: Click the "New Resource" button in the Flow Builder.

  2. Choose Variable: Select "Variable" as the resource type.

  3. Name the Variable: Give it a descriptive name, like "selectedRecordIds".

  4. Set the Data Type: Choose "Text" as the data type.

  5. Allow Multiple Values: Make sure to check the "Allow Multiple Values" box, as we'll be storing multiple record IDs

2.3: Adding the Avonni Apex Action

The first step in our flow is to add the "Join Text Collection" Avonni Action. We need this because the record IDs we get from the main Data Table are separated only by commas. This action will let us add this delmiter ',' between each ID, which is necessary for using them in our dynamic query filter later on. Without this action, we won't be able to creeate the right syntax for our Data Table query filter.

  • Enter a label

  • For the Source Collection, select the collection variable we created just above

  • In the Show Advanced Option" section, check "Manually Assign Variables"

2.4: Manually Assign Variable configuration

Next, we need to manually create a variable to store the result of the "Join Text Collection" action. We'll use this variable later in our query to filter the records

2.5: Build the Query Filter

Now let's create a formula that will act as a dynamic filter for our bulk edit Data Table. This filter will ensure we only see the records the user selected.

The formula looks like this:

"Id IN ('" & {!recordIds} & "')" 
  • recordIds is the variable we created earlier to store the output of the Avonni Action.

  • This formula basically says, "Show me only the records whose ID is included in this list of IDs."

2.6: Add the Data Table for Bulk Editing

Now, let's add a new screen to your flow and put the Avonni Data Table on it. This Data Table will use a "Query Data Source" to show only the records the user wants to bulk edit.

  • Add the columns you need: Choose the fields you want users to be able to edit and add them as columns in the Data Table

  • For the Query Filter, make sure to map the filter to the formula query filter we created just above

2.7: Data Table Settings adjustments

Make sure to adjust those settings on the Data Table

  • All Columns Settings, check dispaly as input and Editable

  • Toggle the "Hide Checkbox Column" and 'Always Display Bottom Bar"

2.8: Data Table Interactions

Last but not least, add "On Save" interactions on the Bulk Edit Data Table.

  • Add an "Update Records" interaction to make sure the information is saved

  • Add a Finish Flow Navigation interaction to make sure the bulk edit flow dialog box will be closed once your users are saving the information.

Step 3: Connect the Two Flows

Now let's link the main flow to the bulk edit flow.

  • Go back to the first flow and find the "Open Flow Dialog" interaction we set up earlier on the "Bulk Edit" button.

  • In the interaction's settings, choose the name of the second flow (the bulk edit flow) you just created.

  • Make sure the "Variable Name" in the interaction matches the exact name of the variable you created in the second flow to store the selected record IDs.

  • This connection will allow the main flow to send the selected record IDs to the bulk edit flow when the "Bulk Edit" button is clicked.

Last updated