LogoLogo
HomepageYouTube ChannelInstall from the AppExchange
  • Home
  • Dynamic Components
  • Flow Components
  • Experience Components
  • Projects
  • 👋Welcome
  • Getting Started
    • Product Tour
    • Quickstart Guide
    • Learn the Basics
    • Installation & Licenses management
    • Flow vs. Dynamic Components
    • Integrating with Experience Cloud
  • Tutorials
    • Videos
    • Projects Tutorials
    • Components Tutorials
      • Alert
        • Create a custom branding alert
        • Create an error alert dismissible
      • Avatar
        • Create an avatar with actions
        • Create an avatar with details
      • Avatar Group
        • Display a list of contacts related to an account
        • Display a list of sharing users related to the record
      • Barcode
        • Generating and Displaying Barcodes for Product Codes
      • Biometrics
        • 101 Tutorial
      • Button
        • Customizing Flow Navigation Buttons
        • How to Add a "Cancel and Close" Button
        • How to Open Flows from Buttons
      • Button Groups
        • Identifying Clicked Buttons
      • Button Menu
        • How to change dynamically Avonni Button Menu Icons
      • Calendar
        • Calendar 101 Tutorial
        • How to Connect Multiple Data Sources to the Avonni Calendar
        • How to Customize Time Spans
        • How to Customize the Right-Click Menu
        • How to Add an Edit Action to Events
        • How to Add a New Event Button to the Avonni Calendar Header
        • How to Create Events by Dragging in the Avonni Calendar
        • How to Reschedule Events with Drag and Drop
        • How to Color-Code Calendar Entries in the Avonni Calendar
        • Using a variable Data Source
        • Using a Query Data Source
      • Carousel
        • Build a Related Products Carousel
      • Combobox
        • Implement Dependent Picklists in Comboboxes
        • How to Dynamically Enable/Disable Dependent Picklists
        • Using Multi-Select Comboboxes with Reactive Formulas
      • CSV Parser
        • 101 Tutorial
      • Data Table
        • Adding Filters
        • How to add Images onthe Data Table
        • Creating Row Actions
        • Displaying a Record as a QR Code
        • Displaying Record Name field as a link
        • Learn the Basics
        • Making a field editable
        • Setting Up Data Export
        • Tips and Tricks
          • Activate infinite scrolling
          • Creating an action from a button or a link
          • Customizing the Badge Color using a formula
          • How to Grayscale Header Actions Dynamically in Avonni Data Table
          • How to Conditionally Color Cells
          • Enabling auto-refresh on the Data Table when pressing a button
          • Handling formula text field
          • How to set column visibity
          • Passing multiple record IDs to another flow
          • Data Table Editor
      • Date Picker
        • Display a date picker with Marked Dates from a Get Records
      • Date Time Picker
        • How to create Collection Variables for StartDateTime and EndDateTime
        • How to Block Out Times
      • Delay Interaction
        • Creating a Confetti Celebration on the Final Screen
        • Launch a flow dialog without a screen
      • Dual Listbox
        • Display contacts with custom icons
        • Accounts list group by industry
      • Expandable Section
        • How to add components into an expandable section
      • Header
        • Building Engaging Card Headers
        • Crafting a Profile Header
        • Adding Action Buttons to Headers
        • Adding a Background Image to Your Header
      • Input Pen
        • Add the custom Toolbar
        • How to Store Input Pen Drawings as Attachments in Salesforce
      • Kanban
        • 📹Introduction
      • List
        • Create a grid list with images
        • Create a sortable list
        • How to Reorder Items and Update Records
        • Vertical List with Actions
      • Navigation
      • Map
        • Customize the Map Marker
        • Visualizing Account Information on a Map
      • Metric
        • 📹Introduction
      • Microphone
        • Save the Microphone recording file as an attached on a record
      • Progress Indicator
        • Creating a Universal Dynamic Progress Step Collection
        • How to Change the Appearance of Your Progress Indicator using a variable
        • Error Handling
      • QR Code
        • Generate a QR Code from a record field
      • Record Detail
        • Using the Record Detail with Reactive Screens
      • Scoped Notification
        • Display message based on a value
      • Text Area
        • TextArea issue with max length when clicking on the next button
      • Tree
        • Build a Tree View with Dynamic Record Details
      • Timeline
        • Assigning multiple source collection to the Timeline
        • Customizing Date Format in the Timeline Component using Luxon
        • Create a horizontal activity timeline
        • Display Tasks
        • Perform actions on selected tasks
      • Vertical Visual Picker
        • Adding sub-items
        • Display a list of online contacts
    • Interactions
      • Enabling auto-refresh for queries after the Flow Dialog ends
      • Creating a Confetti Celebration on the final screen
      • How to create an interaction to navigate to an object
      • How to create an interaction to a record page
      • How to create an interaction to open another flow
      • How to pass an Input Variable from One Flow to Another
      • How to setup an Open Flow Panel interaction
    • Reactive Query Tutorials
      • How to make Data Tables Reactive
      • Build a reactive Data Table Using Dependent Picklists
      • Building a Dynamic Metrics Dashboard with the Data Table
      • How to build a reactive 'Quarterly Opportunity Tracker' component
      • How to Create a Combobox-Filtered Data Table
      • Create a Dynamically Linked Account-Contact View
      • Troubleshooting
    • Tips and Tricks
      • Copy / Paste a component settings
      • Create a link to the record using the href attribute
      • Create a variable and use it in a component property
      • Data Table
      • Hide Standard Header and Footer in a flow
      • How to pass your current RecordID in your screen flow
    • Platform Events
      • Configuration tutorial
  • Flow Components
    • Explore All Components
    • Alert
    • Audio Player
    • Avatar
    • Avatar Group
    • Barcode
    • Barcode Scanner
    • Biometrics
    • Blockquote
    • Button
    • Button Group
    • Button Icon
    • Button Menu
    • Calendar
    • Carousel
    • Chart
    • Chip Container
    • Combobox
    • Color Picker
    • CSV Parser
    • Date Picker
    • Data Table
    • Date Time Picker
    • Delay Interaction
    • Document Scanner
    • Dual Listbox
    • Expandable Section
    • Formatted Address
    • Formatted Name
    • Formatted Value
    • Header
    • Hero Banner
    • Icon Picker
    • Image
    • Input Choice Set
    • Input Choice Set Grid
    • Input Counter
    • Input Date Range
    • Input Pen
    • Illustration
    • Interaction service
    • Kanban
    • List
    • Map
    • Metric
    • Microphone
    • Navigation
    • NFC Scanner
    • Pill Container
    • Progress Bar
    • Progress Circle
    • Progress Indicator
    • Progress Popover
    • QR Code
    • Rating
    • Record Detail
    • Scoped Notification
    • Separator
    • Slider
    • Tabs
    • Text Area
    • Timeline
    • Tree
    • User Location
    • Vertical Visual Picker
    • Visual Picker
    • Visual Picker Link
    • Video Player
    • Welcome Mat
  • Component Builder
    • Overview
    • Properties Pane
    • Interactions Pane
      • Copy Records
      • Download
      • Export To
      • Fire Confetti
      • Flow Navigation
      • Navigate
      • Show Toast
      • Open Alert Modal
      • Open Confirm
      • Open Flow Dialog
      • Open Flow Panel
      • Update Records
      • Refresh Query
      • Refresh All Queries
      • Open Quick Action
    • Style Pane
    • Component Templates
    • Layout and Customization
      • Alignment controls
      • Copy / Paste component settings
      • Margin / Padding
      • Pull To Boundary
      • Undo / Redo
  • Data Sources
    • Understanding Data Sources
    • Manual
    • Variable
    • Query
    • Query VS Variable
    • Picklist
  • Actions
    • Overview
    • Data Manipulation and Transformation
      • Convert Lead
      • Create file
      • Split Text to Text Collection
      • SObject Collection Math
      • SObject Collection Join
      • Get Record from SObject Collection
      • SObject Collection to Activity Timeline Items
      • SObject Collection to Calendar Marked Date Collection
      • SObject Collection to Scheduler Events
      • SObject Collection to Text Collection
    • Data Conversion and Formatting
      • Text Collection Get Value
      • Get Value from String Collection
      • Number Collection Get Value
      • Join Text Collection
      • Format Text in SObject Collection
      • Format Text Collection
      • Text Collection to Combobox Options
      • Text Collection to Dual Listbox Options
      • Text Collection to Progress Indicator Steps
    • UI & Navigation
      • New Avatar Action Collection
      • New Button Menu Item Collection
      • New Carousel Item Collection
      • New Combobox Option Collection
      • New Dual Listbox Option Collection
      • New Header Action Collection
      • New Header Avatar Action Collection
      • New List Action Collection
      • New Navigation Item Collection
      • New Progress Indicator Step Collection
      • New Progress Popover Step Collection
      • New Slider Custom Label Collection
  • Help
    • Performance Guide
    • How do I contact support?
    • How do I report Bugs?
    • Troubleshooting
    • Release Process
  • Miscellaneous
    • Live use cases examples
    • Release Notes
    • Salesforce Flow Limit
    • Security
Powered by GitBook
On this page
  • Overview
  • How it works
  • Guided Steps
  • Step 1: Configure the first screen flow
  • Step 2: Set Up the Bulk Edit Screen Flow
  • Step 3: Connect the Two Flows and setup the interaction

Was this helpful?

  1. Tutorials
  2. Projects

Implementing a bulk edit on the Data Table

Last updated 6 months ago

Was this helpful?

LogoLogo

Company

  • About Us
  • Pricing

Policies

  • Privacy Policy
  • Terms of Service

We've recently updated this tutorial to make it clearer and more consistent. We also added some missing information about the delimiter attribute in

Overview

This tutorial will show you how to add a "bulk edit" feature to your Salesforce flows using the . Users can 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 simultaneously.


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 connect your Salesforce data and the Data Table directly.

  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 to 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"


Step 2: Set Up the Bulk Edit Screen Flow

Let's build the second screen flow that will open when users click the "Bulk Edit" button. This flow will let them edit multiple records simultaneously.

2.1: How the Bulk Edit Flow is Built

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

2.2: Create a 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 the delimiter ',' 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 create 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 Delimiter attribute, enter this ',' as we want to delimiter by the comma.

  • 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 says, "Show me only the records whose ID is included in this list of IDs."

2.6: Add the Data Table for Bulk Editing

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 ensure the bulk edit flow dialog box will be closed once your users save the information.


Step 3: Connect the Two Flows and setup the interaction

We need to connect our main flow to the bulk edit flow to make the bulk edit feature work. We'll use the "Interactions" tab to activate the "Bulk Edit" button in the header. Here's how:

  • Return to the first flow we created (the one with the list of opportunities and the "Bulk Edit" button).

  • 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." 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

  • Name: Enter the 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.


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

Having trouble with this tutorial? .

Open Flow Dialog
Contact Avonni support for help
Avonni Data Table
section 2.3.
Final Output of this second screen flow