For the complete documentation index, see llms.txt. This page is also available as Markdown.

Data Table

The Avonni Data Table is a powerful tool for showing and managing data in a table format within your Salesforce. It's like a supercharged spreadsheet you can customize and interact with in many ways.

Overview

The Avonni Data Table displays structured tabular data with support for selection, inline editing, filtering, sorting, grouping, pagination, search, and customizable header actions — all inside a Salesforce Screen Flow.


Tutorials

Discover how to effectively leverage the capabilities of the Avonni Data Table.

Core functionality

Enhancing Data Display & Interaction

Cover

How to Conditionally Color Cells

Advanced Features

Tips and Tricks

Take your Data Tables to the next level with these handy tips and tricks.

Explore Reactive Queries

For more in-depth examples of how to use the Avonni Data Table, check out our reactive query tutorials.

Reactive Query Tutorials

Configuration

To configure it, click the component on the Flow screen. The Edit Data Table Component panel opens on the right with three tabs: Properties, Interactions, and Style. The sections below mirror the Properties tab.

Data Source

The first step is establishing the Data Source — it determines where table records come from.

Can I use a collection variable output from an action button in a screen flow as the data source for a data table?

Yes, you can use an action button's output collection as a data source for your data table.

Key Requirement: The output must be a collection of record variables. The Avonni Data Table requires a collection of records when using a custom variable as a data source.

Steps:

  1. Drag a Display Text component onto your screen flow canvas temporarily.

  2. Configure it to display the output collection variable from your action button.

  3. Run in Debug mode — observe the Display Text to find the exact variable name.

  4. Remove the Display Text and set the Data Table's Data Source to that variable name.

Data Mappings

Map Salesforce fields to Data Table columns.

In this section:

Setting Up Data Mappings

Two methods to add columns:

Drag-and-Drop: Once you select your data source, a list of available fields appears on the left. Drag fields onto the table canvas to add columns.

How to create a new column by dragging and dropping fields.

Using the 'Add Columns' Button: Click "Add Columns" in the Data Mappings section to select from available fields.

How to create a new column using the "Add Columns" button

Displaying Fields from Lookup Relationships

Use the Query data source to display fields from related records (e.g., Account Name on a Contacts table). In the Source Field dropdown, fields with a > symbol are from lookup relationships (e.g., Account > Name).

Example: To show Account Type on an Opportunity table: use Query, select Opportunity, add a column with source field Account > Account Type.

Properties

Setting
Description

Hide Table Header

Hides the table header when enabled.

Hide Table Borders

Hides the table borders. Requires Hide Table Header to be enabled.

Wrap Table Header

Long column headers automatically wrap up to 3 lines, preventing clipped text.

Hide Checkbox Column

Removes the checkbox column used for row selection.

Show Row Number Column

Displays row numbers in the first column. NOTE: The Avonni Data Table uses Salesforce's standard Data Table as its foundation. Because of this, if you turn on "inline editing," row numbers will automatically appear. This is Salesforce's built-in behavior.

Required

Makes row selection mandatory for users.

Row Number Offset

Determines where to start counting the row number. Requires Show Row Number Column to be enabled.

Max Row Selection

Sets the maximum number of rows that can be selected.

Rows Selection Disabled

Key field values of the rows that are disabled for selection.

Suppress Bottom Bar

Hides the footer with Save and Cancel buttons during inline editing.

Always Display Bottom Bar

Forces the inline edit footer to always be visible.

Show Number of Items Selected

Displays the count of selected items.

Read Only

Prevents editing, making the table read-only.

Important Note on Row Pre-selection

The Avonni Data Table, like the underlying lightning-datatable component, does not have a built-in property for pre-selecting rows based on a record ID. Row selections are managed by user interaction, not by programmatically setting selections.

Mobile Responsiveness: The Data Table is built on Salesforce's Lightning Data Table, which has limited responsiveness on small screens. Options:

  • Build a separate simplified table for mobile using component visibility settings.

  • Use the Avonni List component, which has built-in responsive layout.

Advanced Options

These component-level toggles apply a setting to every column at once, saving you from configuring each column individually.

Setting
Description

All Columns Editable

Makes all columns editable.

All Columns Display as Input

Displays all authorized columns as always-editable inputs.

All Columns Filterable

Makes all columns filterable.

All Columns Searchable

Makes all columns searchable.

All Columns Sortable

Makes all columns sortable.

All Columns Wrappable

Allows text wrapping in all columns.

Hide Default Actions

Hides the built-in column default actions menu.

🆕 Customize Columns

In this section:

Access Column Settings

Click on any column listed in the Data Mappings section to open its settings.

Customize Column Properties

  • Width: How wide the column is.

  • Alignment: Left, right, or center.

  • Sorting: Whether users can sort by this column.

  • Text Wrapping: How text wraps within the column.

  • Color & Formatting Cells: Check this tutorial.

Tailor Each Column

For number-based columns (currency, percentages):

  • Minimum Fraction Digits — minimum digits after the decimal point.

  • Maximum Fraction Digits — maximum digits after the decimal point.

  • Minimum Integer Digits — minimum digits before the decimal.

  • Step Size — allowed increments for the number.

Example: Set Minimum Fraction Digits to "2" and Maximum Fraction Digits to "2" to always display prices with two decimal places (e.g., $12.34).

Currency-Specific Formatting

For currency columns:

  • Value Display As: Default, Converted, Formatted, or Formatted and Converted.

  • Currency Code: e.g., USD, EUR, GBP.

  • Currency Display As: Symbol only, code only, or symbol and code.

  • Minimum/Maximum Integer Digits, Fraction Digits, Significant Digits, Step.

Controlling Decimal Places in Currency and Percent Fields

Use step to control editing increments:

  • step: 0.01 (default): two decimal places.

  • step: 0.001: three decimal places.

  • step: 1: whole numbers only.

Use minimumFractionDigits and maximumFractionDigits to control displayed decimal places.

Enhance Data Presentation

Use the Type setting to change how data appears:

List of available Data Types
  • Action: Dropdown menu for row-level actions (edit, delete, view details).

  • Avatar: Profile picture or user image.

  • Badge: Colorful label for status or key terms.

  • Boolean: Checkmark for true, blank for false.

  • Button: Clickable button to trigger an action.

  • Button Icon: Button with a descriptive icon.

  • Color Picker: Color value selector.

  • Combobox: Dropdown list of choices.

  • Counter: Simple numerical count.

  • Currency: Monetary value with locale formatting.

  • Date: Calendar date with regional formatting.

  • Date Local: Date without time, formatted for the user's locale.

  • Email: Clickable email address link.

  • File Upload: Upload button per row — files are stored as Salesforce Content Documents linked to the row's record.

  • Location: Geographical coordinates.

  • Number: Numerical values.

  • Percent: Value as a percentage.

  • Phone: Clickable phone number.

  • Progress Bar: Completion status as a percentage bar.

  • Progress Circle: Circular completion status.

  • Progress Ring: Another circular progress format.

  • QR Code: Scannable QR code.

  • Rating: Star or point-based rating.

  • Rich Text: Text with bold, italics, lists, etc.

  • Slider: Draggable range selector.

  • Text: Plain unformatted text.

  • Toggle: On/off switch.

  • URL: Clickable website link.

Displaying Rich Text Fields: Select the Rich Text type in column settings to correctly render bold, italics, lists, and other formatting from Salesforce rich text fields.

File Upload Column Type

The File Upload type adds an upload button inside each row. When clicked, Salesforce's standard file upload dialog opens. The file is stored as a Content Document linked to the row's record.

How to set it up:

  1. In Data Mappings, click the column you want to use for file uploads.

  2. Change the Type to File Upload.

  3. Configure:

Setting
What it does

Label

Text on the upload button. Defaults to "Upload File".

Accept

Restricts file types (e.g., .pdf, .jpg). Leave empty to allow all.

File Name Prefix

Text added before the file name on save (e.g., Quote_Quote_proposal.pdf).

File Name Suffix

Text added after the file name (before extension) on save.

Multiple

Allows uploading more than one file at once.

Show File Uploaded

Shows uploaded files below the button with name, preview, rename, and delete options.

Disabled

Grays out the upload button.

Example: On an Opportunity Data Table, add a File Upload column so reps can attach signed quotes. Set Accept to .pdf and File Name Prefix to Quote_ so uploaded files are easy to find in the record's Files related list.

Required Fields

Create validation rules in Salesforce for required fields. The Avonni Data Table automatically honors these rules during data entry.

How to add Images onthe Data TableDisplaying Record Name field as a linkDisplaying a Record as a QR Code

Column Widths

Setting
Description

Column Widths Mode

Fixed: equal widths for all columns. Auto: widths based on content and table width.

Max Column Width

Maximum width for all columns.

Min Column Width

Minimum width for all columns.

Wrap Text Max Lines

Maximum lines before truncating cell content.

Resize Column Disabled

Disables manual column resizing.

Resize Step

Width adjustment amount when resizing with arrow keys.

SET COLUMN WIDTH INDIVIDUALLY

Go to Data Mappings → click a column → scroll down → click Advanced Option → set a fixed width for that column only.

Sort

Sorted Direction specifies the current sorting direction (Ascending or Descending order).

Default Sort Direction sets whether an unsorted column defaults to ascending or descending order when first sorted.

Show Sorted By Value displays the sorted-by field indicator above the table.

Each column can be made sortable individually by activating the Sortable toggle in that column's properties.

Pagination

Show Pagination activates page-by-page navigation. Configure:

  • Number of Items per Page — how many records show per page (1–200, default 100).

  • Alignment — Left, Center, or Right.

  • Buttons — customize icon and label for First, Last, Next, Previous controls.

spinner

Items loading. With Pagination off, the Datatable loads Number of Items per Page rows at a time behind a Show More button — or, if you set a fixed Height (Size style), it switches to infinite scroll (loading the next batch as you reach the bottom). With Pagination on, it shows one page of Number of Items per Page rows with pagination controls.

Pill Container

Enable Show Pill Container to display selected rows as pills above the table.

Pill Container showing selected items
Setting
Description

Label Field

Field name used for the pill label.

Sortable

Enables reordering within the pill container.

Single Line

Restricts the pill container to a single line.

The Search Engine options configure the search box above the table. Set the Placeholder text shown in the empty search box (default: "Search") and the Position of the search box (Left, Right, or Center).

Making a field searchable — from the canvas: click the column header arrow → Allow Search. From the Properties panel: Data Mappings → click the column → toggle Searchable.

Search Fields — add field API names (e.g., Name, Account.Name) that are searchable without displaying them as visible columns.

Default Search Value — set a predefined search term that activates when the table loads.

Group By

The Group By feature categorizes table rows by a selected field.

How It Works: Choose a column as the group-by field. The table instantly organizes rows into sections based on unique values in that column.

Avonni Data Table with the Group By in Action
spinner

Customize Grouped Data:

Option
Description

Hide Undefined Group

Hides groups labeled as 'undefined'.

Undefined Group Label

Sets a custom label for undefined groups.

Non Collapsible

Makes grouped sections non-collapsible.

Collapsed

Starts groups in a collapsed state.

Display Group Rows Count

Shows the row count in each group.

Show Empty Groups

Displays groups even when they have no data.

Show Grand Total

Renders a grand-total summary row at the bottom of all groups when one or more columns have Summarize By set.

Direction

Order direction of the groups.

Linkify

Makes lookup values clickable for quick navigation.

Change the Group Order: Choose Default, Ascending, Descending, or Custom order. Custom lets you drag and rearrange grouping values.

Linkify values: When enabled for lookup fields in the Group By column, group headers become clickable links that navigate to the corresponding record.


Make your Data Table Editable

Inline editing lets users update data directly in the table.

Two Ways to Edit

Inline Editing (Pencil Icon)

A pencil icon appears next to the data. Users click it to edit.

Inline editing feature with the pencil icon enabled

Direct Cell Editing

Choose Display as Input to transform the field into an always-editable input box — no click needed.

Toggle to make a specific field displayed as input.
Enable 'Display as Input' from 'All Columns Settings' to make every field directly editable.

Setting up the save interaction

spinner

Supported Objects for Inline Editing

Here's the list of all supported objects for inline editing.

Making a field editable

Row Actions

Creating Row Actions

Row Actions provide a dropdown of options when a row's action button is clicked.

spinner

Making Row Actions functional

After creating row actions, wire them to interactions to make them do something.

Creating Row Actions

Filter Data

Apply filters to help users find information quickly.

Ways to Add Filters

From the Canvas

Click the arrow next to a column header → Allow Filtering.

From the Properties Panel

Data Mappings → click the column → toggle Filterable.

Quick Filtering

Click All columns settings → click Filterable to enable filtering on all columns at once.

Set filters for fields that aren't visible

In Data Mappings, add a field as a filter without displaying it as a visible column — allows behind-the-scenes filtering without cluttering the table.

How to Apply Field Filters Without Displaying the Fields

Filter Options

Filter Type
Illustration
Description

Horizontal

Filters appear directly above the table in a horizontal row.

Popover

Filters hide behind clickable icons; click to reveal a floating filter panel.

Side Panel

Filters in a side panel to the left or right, expandable/collapsible.

Filter Panel Settings

  • Position (Left, Right): Which side the panel slides from.

  • Is Closed: Initial state — closed (data-first) or open (filter-first).

  • Hide Toggle Button: Hide the toggle when another element controls the panel.

Dynamic Picklist Filters

When Hide Picklist Empty Values is enabled, picklist filter menus show only values currently used by records in the table — no irrelevant options.


  • Title — a clear title for the table.

  • Caption — short description below the title.

  • Avatar — a visual shown in the header, configured as an image, initials, or a fallback icon (with size and variant).

  • Is Joined — removes the header's bottom border so it blends with the table.

  • Actions — header buttons for global actions (configure behavior in the Interactions tab).

  • Visible Actions Buttons — how many action buttons show directly; extra buttons collapse into a dropdown.

  • Hide Actions — completely hides the action menu.

  • Disable Actions — makes the action menu inactive but still visible.


Interactions

Interactions define what happens when users interact with the Data Table. Configure them from the Interactions tab of the Edit Data Table panel.

Cancel

Fires when the user clicks the Cancel button while inline editing is active. Use this to reset flow variables or branch to a different path when the user discards their changes.

File Upload

Fires when a user uploads a file via a File Upload column. The uploaded file's details are exposed as output variables (fileUploadedContentDocumentIds, fileUploadedNames, fileUploadRowKeyValue, etc.) that you can use in downstream flow steps.

Header Action Click

Fires when a user clicks a header action button. Use the targetName output variable to identify which header action was clicked and drive conditional logic accordingly.

Row Action

Fires when a user clicks a row-level action button. Use the targetName output variable to identify which action was clicked, and the clickedRowActionRow and clickedRowActionKeyValue outputs to access the row's record data.

Save

Fires when the user clicks the Save button after inline editing. Wire this to an Update Records or Datatable Update Records interaction to persist the user's changes back to Salesforce.


Styling

The Style tab gives you fine-grained control over the Data Table's appearance. Configure it from the Style tab of the Edit Data Table panel.

Controls the outer spacing around the table, creating space between it and other elements on the screen.

  • Top / Right / Bottom / Left: Adjust the space on each side.

Controls the inner spacing between the table content and its border.

  • Top / Right / Bottom / Left: Adjust the inner spacing on each side.

Controls the table's dimensions.

  • Width / Height: Set fixed dimensions for the table.

  • Min Width / Max Width / Min Height / Max Height: Constrain the size within bounds.

Customizes the border surrounding the table.

  • Color: Set the border color.

  • Size: Adjust the border thickness.

  • Style: Choose a border style (e.g. solid, dashed, dotted).

  • Radius: Control the roundness of the corners.

Adjusts display when opened as a modal dialog inside a Flow screen.

  • Width: Dialog width.

  • Height: Dialog height.

  • Background Color: Dialog background color.

Adjusts display when opened as a side panel inside a Flow screen.

  • Width: Panel width.

  • Background Color: Panel background color.

Controls the dimensions and spacing of individual cells.

  • Row Height: Set the height of each row.

  • Cell Padding: Set the padding inside each cell.

Styles the overall header section.

  • Background Color: Set the header background.

  • Padding (Top / Right / Bottom / Left): Adjust the inner spacing of the header.

  • Margin Bottom: Set the space between the header and the table body.

Customizes the border around the header, including the joined-header bottom border.

  • Color / Size / Style / Radius: Set the header border appearance.

  • Bottom Border Color / Size / Style (Is Joined): Set the bottom border when the header is joined to the table.

Styles the header title text.

  • Color: Set the title color.

  • Font Size / Font Style / Font Weight: Control the title typography.

Styles the header caption text.

  • Color: Set the caption color.

  • Font Size / Font Style / Font Weight: Control the caption typography.

Styles the action buttons shown in the header. Colors are set per state (default, active, hover).

  • Text Color: Set the action text color.

  • Background Color: Set the action background color.

  • Border Color: Set the action border color.

Styles the avatar shown in the header.

  • Background Color / Foreground Color: Set the avatar icon colors.

  • Border Radius: Control the roundness of the avatar corners.

Styles the pills and pill container used in pill-type cells. Colors are set per state (default, hover, focus).

  • Pill Background / Text / Border Color / Border Size / Border Style / Radius / Shadow: Style individual pills.

  • Pill Spacing (Block Start / Block End / Inline Start / Inline End): Adjust the spacing around pills.

  • Pill Container Background / Border Color / Radius / Spacing: Style the container that holds the pills.

  • Action Background / Border / Text Color: Style the pill action button.

  • More Dropdown Width / Max Height: Size the overflow dropdown.

Styles avatars rendered within cells.

  • Image Object Fit: Control how avatar images fit their container.

Styles the pagination controls. Colors are set per state (default, active, hover, disabled).

  • Background Color: Set the button background.

  • Text/Icon Color: Set the button text and icon color.

  • Color Border / Border Size / Border Style: Style the button border.

  • Active Button Background / Text/Icon / Border Color: Style the currently active page button.

Styles the grouping header shown when rows are grouped.

  • Background Color: Set the section header background.

  • Icon Color / Icon Color Hover: Set the expand/collapse icon colors.

  • Text Color: Set the section header text color.

  • Font Size / Font Style / Font Weight / Font Family: Control the header typography.

  • Spacing (Block Start / Block End / Inline Start / Inline End): Adjust the header spacing.

Styles the load-more button. Colors are set per state (default, active, hover).

  • Spacing (Block Start / Block End / Inline Start / Inline End): Adjust the button spacing.

  • Background Color: Set the button background.

  • Text Color: Set the button text color.

  • Border Color / Size / Radius: Style the button border.


Output Variables

The Data Table exposes these output variables you can reference in your flow after the screen. To use them, select the screen element in Flow Builder, then the Data Table component, and pick the output variable you need.

Row Selection

When a user selects one or more rows using the checkbox column.

Output variable
Type
What it returns

Selected Rows

Record Collection

All currently selected rows as a collection of records.

Selected Rows Key Field Value

Text Collection

The key field value (e.g., record ID) for each selected row.

Selected Rows Key Field Value comma separated

Text (String)

The same key field values joined by commas — ready to pass to a formula or Apex action.

Selected Rows Key Field Value semi colon separated

Text (String)

The same key field values joined by semicolons.

Selected Rows Serialized

Text (String)

A JSON-serialized string of the selected rows — useful when passing to an Apex action that expects a string payload.

First Selected Row

Record (SObject)

The first selected row as a single record — use this when only one row can be selected.

First Selected Row Key Field Value

Text (String)

The key field value of the first selected row.

First Selected Row Serialized

Text (String)

The first selected row serialized as a JSON string.

Number of Selected Rows

Integer

The count of rows currently selected.

Example: After the Data Table screen, use a Loop element to iterate through Selected Rows and create a Task for each selected Opportunity — e.g., "Follow up on {!loopVariable.Name}". Need just the IDs for an Apex action or subflow? Use Selected Rows Key Field Value instead, or the comma/semicolon-separated variants for quick string-based lookups.

Inline Editing

When a user edits cells and clicks Save or Cancel.

Output variable
Type
What it returns

Button Save Clicked

Boolean

true when the user clicked the Save button after inline editing.

Button Cancel Clicked

Boolean

true when the user clicked the Cancel button while inline editing.

Edited Rows

Record Collection

The rows the user edited, containing only the changed field values.

Edited Rows Full Data

Record Collection

The rows the user edited, containing the complete record state including unchanged fields.

Edited Rows Serialized

Text (String)

A JSON-serialized string of the edited rows.

Example: Add a Decision element that checks if Button Save Clicked is true — if yes, pass Edited Rows into an Update Records element to persist the changes to Salesforce. Use Edited Rows Full Data if the update target needs the full record state. If Button Cancel Clicked is true, skip the update entirely.

Row Actions

When a user clicks a row-level action button.

Output variable
Type
What it returns

Clicked Row Action Name

Text (String)

The name of the row action the user clicked.

Clicked Row Action Row

Record (SObject)

The full record for the row where the action was clicked.

Clicked Row Action Key Field Value

Text (String)

The key field value of the row where the action was clicked.

Example: A row action called "Delete" is triggered. Use a Decision element to check if Clicked Row Action Name equals "Delete", then pass Clicked Row Action Key Field Value as the record ID to a Delete Records element.

Header Actions

When a user clicks a header action button.

Output variable
Type
What it returns

Clicked Header Action Name

Text (String)

The name of the header action button the user clicked — use a Decision element to branch on its value.

File Upload

When a user uploads a file via a File Upload column.

Output variable
Type
What it returns

File Uploaded Content Document Ids

Text Collection

The Content Document IDs of all files uploaded in the interaction.

File Uploaded Names

Text Collection

The file names of all files uploaded in the interaction.

File Upload Row Key Field Value

Text (String)

The key field value of the row where the file was uploaded — use this to link the uploaded document back to the correct record.

First File Uploaded Content Document Id

Text (String)

The Content Document ID of the first uploaded file.

First File Uploaded Name

Text (String)

The file name of the first uploaded file.

Example: After a file upload, use File Upload Row Key Field Value to identify the parent record, then pass File Uploaded Content Document Ids to an Apex action that creates a ContentDocumentLink associating the file with additional objects.

Others

Output variable
Type
What it returns

Number of Records

Integer

The total number of records currently loaded in the table.

Flow Interaction Output Variables

Like all interactive Flow components, the Data Table exposes generic output slots (Variable 1–10) that an Open Flow Dialog or Open Flow Panel interaction can fill with values from a launched flow. See Flow Interaction Output Variables.

Learn More

Tips and Tricks
Unique Features of the Avonni Data Table Component.

🔹 Inline Editing: Modify data directly within the table.

🔹 Display Lookup Fields: Rendered as clickable links to record pages.

🔹 Advanced Data Formatting: QR Code, Progress Bar, Badge, and more.

🔹 Sortable Data: One-click column sorting.

🔹 Custom Column Width: Adjust column widths per column.

🔹 Row Actions: Predefined functions from each row.

🔹 Pagination: Navigate through data pages.

🔹 Infinite Scrolling: Dynamic data loading on scroll.

🔹 Data Filtering: Apply filters to refine data.

🔹 Update Records Interaction: Modify records seamlessly.

🔹 Copy Records Interaction: Duplicate records from the table.

🔹 Integrated Header: Polished unified header.

🔹 Selective Searchability: Set hidden search fields.

🔹 Query Data Source: No-code real-time data queries.

Data Table Component Builder

  1. Template Gallery: Pre-configured data table templates for easy deployment.

  2. Undo/Redo: Correct mistakes or revisit changes.

  3. Full Height: Data Table uses full screen height and activates infinite scrolling.

  4. Pull to Boundary: Extends Data Table to every edge, reducing white space.

  5. All Columns Settings: Universal configuration that supersedes individual column preferences.

  6. Copy/Paste: Duplicate settings to another Data Table on your screen flow.

  7. Properties Tab: All component settings.

  8. Interactions Tab: Configure and manage interactions.

  9. Style Tab: Customize appearance.

  10. Fields selection: Choose and drag fields onto the canvas.

  11. Data Table Preview: Quickly visualize and modify the table.


Troubleshooting Common Issues

  • Table shows nothing at runtime (Variable data source) — The flow variable feeding the Records input is empty when the screen loads because the Get Records element hasn't run yet. Place the Get Records element before the screen element and confirm the variable is populated.

  • Table shows nothing at runtime (Query data source) — Query filters are too restrictive, or reference a flow variable (like {!recordId}) that isn't set at runtime. Remove filters one by one to isolate the issue and verify each flow variable used in a filter is populated at the screen step.

  • One or more columns show empty cells — The running user has no Read access to that field (Field-Level Security). Go to Setup → Object Manager → [Object] → Fields & Relationships → [Field] → Set Field-Level Security and set the field to Visible.

  • Pencil icon doesn't appear on a column even with All Columns Editable on — The field is a formula, roll-up, auto-number, or system field, or the user has Read-Only FLS on it. Test editing the field on a standard Salesforce record page — if it can't be edited there, it can't be edited in the Data Table either.

  • Pencil icon doesn't appear on any column — Read Only is toggled on at the component level. Open Properties and turn Read Only off.

  • Pencil icon doesn't appear on a specific column — The column type doesn't support inline editing (image, progress bar, QR code, URL image, etc.). Switch to an editable type (text, number, date, picklist, lookup) or use a row action that opens a separate edit screen.

  • Saving inline edit fails with "Impossible to update a record that does not exist" — The Id field isn't part of the records collection; the Data Table needs an Id on every row to save back to Salesforce. Confirm the Get Records element returns Id, and if records come from an Apex action, ensure Id is included in the returned collection.

  • Saving inline edit fails with a red "An Error Occurred!" toast — A validation rule, missing required field, or denied Edit access on a modified field is blocking the save. Hover the warning icon on the row to read the field-level error, then fix the permission or validation rule.

  • "Please select minimum 1 row." blocks the user — Required is on but the user hasn't selected any row. Ensure rows can be selected (turn Hide Checkbox Column off and set Max Row Selection above 0), or turn Required off.

  • Edited Rows output variable is empty after saving — A Save interaction of type Update Records, Datatable Update Records, or Upsert Records is wired — the Data Table delegates the save to the interaction and only fills Edited Rows after that interaction succeeds. Either remove the interaction (the Data Table saves records on its own) or finish wiring the interaction with field assignments.

  • Selected Rows output variable returns nothing in the next screen — The user didn't tick any checkbox, or the output variable's SObject type doesn't match the Records SObject API Name. Add a Decision element after the screen to handle the empty case and confirm the output variable's SObject type matches the source object.

  • Search returns no results — Search Fields is empty and no column has Searchable on; time-type columns are also excluded from search. Add field API names to Search Fields, or turn Searchable on for individual columns. Toggle Allow Search on All Columns for quick setup.

  • Upsert rows never reach Salesforce — The Key Field in Records SObject Mapping points to a non-Id field and the flow pre-fills that field, so the Data Table can't tell new rows from existing ones. Leave Key Field unset (defaults to Id) when using Upsert Records.

  • Table jumps back to page 1 after every save — Expected behavior in Query mode: after a save the query re-runs to pick up server-side changes. Toggle Suppress Bottom Bar on if the reload is visually disruptive; the behavior itself is intentional.


Last updated

Was this helpful?