Possibilities when triggering process via Orchestrator API with file as input

Hello UiPath Community,

I have done a lot of research on this topic, so my question is just regarding the latest advancements regarding this topic, as well as a summary / open discussion regarding the possibilities and the best approach in this kind of a scenario. Below I have linked some discussion threads I have gone over, when researching this matter.

The scenario: A process will be triggered using the orchestrator endpoint. 3 excel / csv files need to be passed as input. Accessing the files from their file location is not an option, the file / content has to be passed via the API call. The process will be called many times per day, about 100 times to start with but that can multiply by 10 in the future. The process needs to be scalable.

The possibilities I looked into / found:

I am open to other suggestions and any contributions to this discussion. Thank you so much!

  • M

@MKR

Storage bucket is your best option for now…

Also apart from that you can leverage a gdrive,sharepoint ,box,Azure blob or any ftp as well if you have access to any of these

first and second approaches are obselete

cheers

I agree with @Anil_G

For this scenario, I would recommend using Storage Buckets.

Passing the actual Excel/CSV files directly as input arguments is not a good/scalable option, and Base64 can work only for small files but may hit size limits and increase payload size.

A better approach is:

  1. Upload the files to a UiPath Storage Bucket using the API.
  2. Start the job and pass only the bucket path / file reference / IDs as input arguments.
  3. In the process, download/read the files from the bucket.
  4. Delete or archive the files after successful processing.

This is more scalable and safer because the files are stored before the job starts, so you reduce the risk of data loss if the job fails to trigger. You can also add logging/status tracking around upload, job start, processing, and cleanup.

For high volume, I would also suggest using unique file names/folders per transaction and having a cleanup/retry mechanism in case a job fails before deleting the files.