File Upload in every row: a new column type for the Avonni Data Table

The Avonni Data Table now ships with a File Upload column type, available in both Flow Screen Components and Dynamic Components. Attach a file to every row, tied to the right record, without Apex or custom Lightning Web Components.

Cédric Vergé
May 4, 2026

Every Salesforce admin has heard the same request, sooner or later: "Can we attach a document to each row?"

A signed waiver next to each participant. A photo next to each inspection. A receipt next to each expense line. The shape of the request is always the same — one row, one file, tied to one record. And the answer used to be some version of "yes, but not cleanly." A sub-flow that loops one record at a time. A separate upload screen that breaks the user's context. A custom Lightning Web Component that needs a developer to build and maintain.

The Avonni Data Table — in both Flow Screen Components and Dynamic Components — now ships with a File Upload column type. That changes the shape of the answer.

What the File Upload column does

When you set a Data Table column to type File Upload, every row in the table gets its own file uploader. Each upload is automatically tied to the record that row represents — no manual record-ID handling, no extra Flow logic.

From the column's properties panel, you can configure:

  • Label — the text shown next to the upload button (or hidden if not needed)
  • Accept — a list of allowed file extensions (.pdf, .jpg, .png, etc.)
  • Multiple — allow more than one file per row
  • Show File Uploaded — display the list of files already attached under each row
  • File Name Prefix / Suffix — automatically prepend or append text to file names before they save
  • Disabled — turn off the uploader on a per-column basis

Files land on the record as standard Salesforce Files. They show up in the Files related list, in Reports, in Search — exactly where you'd expect to find them. No middleware, no custom Apex, no custom Lightning Web Component to maintain.

__wf_reserved_inherit

Available in both Flow Screen Components and Dynamic Components

The same configuration works in both Avonni packages.

In Flow Screen Components, drop the Data Table on a Screen Flow, configure the File Upload column from the property editor, and your end users get inline upload directly inside the flow — no separate upload step, no fault path to manage.

In Dynamic Components, drag a Data Table into the Avonni Component Builder, bind it to your records, and add a File Upload column the same way. Drop the result on any Lightning Record Page or App Page.

You learn the configuration once. It works in both contexts.

Three real-world examples

Onboarding

A new hire starts a Screen Flow, fills in personal info, picks a role, and uploads a passport, a signed contract, and an ID. One row per document, all on the same screen. What used to be a sub-flow with separate upload screens — and a fault path for when something goes wrong — is now a single Data Table with a File Upload column.

Case management

Support reps open a Lightning page showing a Data Table of cases that need supporting documentation. Each row gets its own upload, attached to the right case automatically. No looping, no separate screens, no ambiguity about which file belongs to which record.

__wf_reserved_inherit

Field service

A technician opens a Flow on their phone, sees today's work orders as a table, and uploads completion photos right in the row. The picture lands on the correct work order. No "which record did I just upload that to?" moment.

Why this matters for builders

If you've ever spent an afternoon stitching together a sub-flow, a separate upload screen, and a fault path just to attach one file per record, you know the friction this removes.

Avonni's job has always been the same: give declarative builders a way to ship modern interfaces without switching roles. A File Upload column is a small-looking feature that quietly removes a whole category of workaround. Same Data Table you already know. Same properties panel. One more column type you can hand to a user.

Try it on your next build

If you're on the latest Avonni release, the File Upload column is already available. Here's how to set it up:

  1. Drop the Avonni Data Table onto a Screen Flow, or drag it into the Component Builder for a Dynamic Components app.
  2. Open the column configuration in the property editor.
  3. Set Column Type to File Upload.
  4. Configure the accepted file types, the label, and any prefix or suffix you want on saved file names.
  5. Decide whether to allow multiple files per row, and whether to show the list of files already uploaded.
  6. Save and activate.

The next time a stakeholder asks you for "a simple thing" that involves files and records in a list, you have a one-column answer.

See what you can build with it.

Documentation

For full configuration details, jump straight to the docs:

File Upload in Salesforce Data Tables — No Apex Required | Avonni
Documentation

Build Salesforce Solutions Faster

Save time, reduce costs, and see your Salesforce projects come to life faster.