Single file
Used with the File Upload Button. The SDK sends a single temp file ID (
{actionName}TempFileId).Multiple files
Used with the Multiple File Upload component. The SDK sends a list of temp file IDs (
{actionName}TempFileIds).Configuring an Upload file action
Multiple options are available for this type of action and can be configured via the FlowX.AI Designer. To configure an Upload File action, use the Actions tab at the task node level, which has the following configuration options:- Action Edit
- Back in steps (for Manual actions)
- Parameters
- Data to send (for Manual actions)
- UI Configuration
Action edit
- Name - used internally to make a distinction between different actions on nodes in the process. We recommend defining an action naming standard to be able to quickly find the process actions
- Order - if multiple actions are defined on the same node, the running order should be set using this option
- Timer expression - it can be used if a delay is required on that action. The format used for this is ISO 8601 duration format (for example, a delay of 30 seconds will be set up as
PT30S) - Action type - should be set to Upload File
- Trigger type (options are Automatic/Manual) - choose if this action should be triggered automatically (when the process flow reaches this step) or manually (triggered by the user); in most use cases, this will be set to automatic
- Required type (options are Mandatory/Optional) - automatic actions can only be defined as mandatory. Manual actions can be defined as mandatory or optional.
- Repeatable - should be checked if the action can be triggered multiple times
- Autorun Children - when this is switched on, the child actions (the ones defined as mandatory and automatic) will run immediately after the execution of the parent action is finalized
Back in steps
- Allow BACK on this action - back in process is a functionality that allows you to go back in a business process and redo a series of previous actions in the process. For more details, check Moving a token backwards in a process section.
Parameters
- Address - the Kafka topic where the file will be posted
- Document Type - other metadata that can be set (useful for the document plugin)
- Folder - allows you to configure a value by which the file will be identified in the future
- Advanced configuration (Show headers) - this represents a JSON value that will be sent on the headers of the Kafka message
Data to send
- Keys - are used when data is sent from the frontend via an action to validate the data (you can find more information in the User Task configuration section)
UI configuration
When configuring the UI action that corresponds to the Upload File node action, you must set the UI action type to upload. This ensures proper integration between the frontend interface and the backend upload functionality.
Single vs. multi-file processing
Available starting with FlowX.AI 5.5.0Multi-file upload support through the bulk Kafka path.
| Key pattern | Type | Behavior |
|---|---|---|
{actionName}TempFileId | String (single UUID) | Single-file path — sends a DocumentPayload to Kafka (existing behavior) |
{actionName}TempFileIds | List<String> (UUID list) | Multi-file path — sends a BulkDocumentPayload to Kafka |
Multi-file Kafka topics
When the multi-file path is triggered, the following dedicated Kafka topics are used:| Direction | Topic pattern | Description |
|---|---|---|
| Process engine → document plugin | plugin.document.trigger.persist.document.bulk | Bulk persist request |
| Document plugin → process engine | plugin.document.persist.document.bulk.results | Per-file persist results |
Multi-file request payload
shouldOverride is always false for multi-file uploads. All files share the same customId and use documentType from the action configuration (typically BULK). This means files accumulate — re-uploading adds new documents rather than replacing existing ones.Partial success handling
The document plugin processes each file individually. If one file fails, the remaining files continue processing — successfully persisted files are not rolled back. The response includes a per-file status so your process logic can handle partial failures.Example: single file upload
An example of Upload File Action is to send a file to the document plugin. In this case, the configuration will look like this: Parameters configuration- Address (topicName) - will be set to (the id of the document plugin service)
ai.flowx.in.document.persist.v1 - Document Type - metadata used by the document plugin, here we will set it to
BULK - Folder - the value by which we want to identify this file in the future (here we use the client.id value available on the process instance data:
${application.client.id}
- Headers - headers will send extra metadata to this topic -
{"processInstanceId": ${processInstanceId}, "destinationId": "currentNodeName"})


