Skip to main content
Available starting with FlowX.AI 5.5.0Multiple File Upload (BULK_FILE_UPLOAD) is a new UI component for handling batch file uploads with built-in validation, feedback, and theming support. Available in the React SDK for process-based screens.
The Multiple File Upload component provides a drag-and-drop area where users can select multiple files and upload them in a single request. It is purpose-built for workflows that require batch document submission — such as onboarding packets, supporting evidence, or multi-page scans.
Multiple file upload component

Overview

Unlike the File Upload Button, which handles one file at a time via a button click, the Multiple File Upload component offers:

Batch uploads

Upload multiple files in a single request with individual validation per file

Drag and drop

Drag-and-drop zone with click-to-browse fallback

File management

Preview selected files with name, size, and a remove option before uploading
Platform availability: React SDK (web). Process renderer only.
The Multiple File Upload component is not available in UI Flows. It can only be used in process-based screens (same restriction as the File Upload Button).

Component properties

The following properties are available in the Multiple File Upload configuration panel:

Display

PropertyKeyDescriptionDefault
TitletitleHeading displayed in the drop zone"Drag & drop your files here"
SubtitlesubtitleSupporting text below the title"or click to browse your files"
Browse labelbrowseLabelText on the browse button"Browse Files"
Upload labeluploadLabelText on the upload action button"Upload Files"
Reset labelresetLabelText on the remove/reset button"Remove Files"

Validation

PropertyKeyDescriptionDefaultRequired
Accepted file typesacceptComma-separated MIME types, extensions, or wildcards (e.g., png, application/pdf, image/*)Yes
Invalid file type messageinvalidFileTypeError shown when a file does not match accepted typesYes
Max filesmaxFilesMaximum number of files allowed per uploadYes
Max files exceeded messagefilesExceededError shown when the file count exceeds the limitYes
Max files sizemaxFilesSizeMaximum total size of all files in bytesYes
Files size exceeded messagefilesSizeExceededError shown when total size exceeds the limitYes
All validation properties are required. You must configure accepted file types, max file count, and max file size along with their corresponding error messages.

Feedback

PropertyKeyDescriptionDefault
Show successshowSuccessDisplay a toast notification on successful uploadfalse
Success messagesuccessMessageCustom success toast text"Files successfully uploaded"
Show errorshowErrorDisplay a toast notification on upload failurefalse
Error messageerrorMessageCustom error toast text"There was an error with the upload"
Loading typeloadingLoading indicator style (Overlay or None)None
Loading messageloadingMessageText displayed during the upload"Files are being uploaded..."

Visibility

PropertyKeyDescription
Hide conditionhideExpression that hides the component when it evaluates to true
Disabled conditiondisabledExpression that disables the component when it evaluates to true

UI action configuration

The Multiple File Upload component only supports the Upload action type. When configuring the UI action for this component, set:
  • Event type: CLICK
  • Action type: Upload
This links the component to an Upload File action configured on the node. The SDK automatically populates {actionName}TempFileIds (a list of UUIDs) in the process instance params before triggering the action.
Starting with 5.5.0, the existing File Upload Button is also adjusted so that Upload is its only selectable action type (matching this component). It continues to work with the single-file path ({actionName}TempFileId). Both components can coexist in the same process.

How it works

1

User selects files

The user drags files into the drop zone or clicks Browse Files to select them. Each file is validated against the configured accepted types, max files count, and max file size.
2

Files uploaded to temporary storage

When the user clicks Upload Files, the SDK sends all selected files in a single multipart/form-data request to the document plugin’s bulk temp upload endpoint. The response returns a list of temporary file IDs.
3

Process action triggered

The SDK populates {actionName}TempFileIds with the list of temp file IDs and triggers the Upload File action. The process engine detects the list key and routes the request through the bulk Kafka path.
4

Documents persisted

The document plugin receives the bulk persist request, processes each file individually, and returns a response with per-file results (including partial success handling).
For the backend configuration details, see the Upload File action documentation and the document upload scenario.

Important behavior

All files uploaded through this component share the same customId and use documentType=BULK with shouldOverride=false. This means:
  • Multiple files accumulate under the same customId — they are stored as separate documents, not as a single archive
  • Re-uploading does not replace previous files — it adds new ones alongside the existing documents
  • If you need to replace previously uploaded files, you must delete them separately before re-uploading
Validation runs client-side before upload:
  • File type — validated per file against the accept property
  • File count — validated against maxFiles (total selected files)
  • Total size — validated against maxFilesSize (sum of all file sizes)
There is no per-file size limit in this component. Only the total size across all files is checked.
The component provides an overall loading state (overlay or none) during the upload. Individual per-file progress indicators are not available — the upload is treated as a single batch operation.After the upload completes, the component clears its state (file list), hides the loader, and shows a success or error toast (if configured).
Users can add files incrementally:
  • Drag and drop files into the zone multiple times
  • Click Browse Files multiple times to add more
  • Each selected file appears as a card showing file name and size
  • Individual files can be removed with the delete button before uploading
  • The Remove Files button clears all selected files at once

Theming

The Multiple File Upload component supports full theming through Theme Admin. The component is registered under contentWeb → components → bulkFileUpload.
TokenDescription
Title fontFont style for the drop zone heading
Title colorColor for the drop zone heading
Subtitle fontFont style for the subtitle text
Subtitle colorColor for the subtitle text
Border widthDrop zone border width (inherits from general)
Border radiusDrop zone corner radius (inherits from general)
Border colorDrop zone border color
Background colorDrop zone background
ShadowDrop zone shadow

Icons

The component uses three system icons that are included automatically via CMS migration:
Icon keyDescription
sys_BFUTitleIcon displayed in the drop zone header
sys_BFUDocumentIcon displayed next to each file in the list
sys_BFUDeleteIcon for the delete/remove button on each file

Substitution tags

The component also registers system substitution tags for localization and accessibility:
Tag codeEnglishRomanian
sys_bfu_max_files_sizeMaximum files size:Dimensiune maximă a fișierelor:
sys_a11y_bfu_drop_filesDrop filesPlasează fișierele
sys_a11y_bfu_delete_fileDelete fileȘterge fișier
These tags are automatically available after CMS migration and can be customized per language in the CMS.
Last modified on February 27, 2026