Integrated Document Handling in the Cloud With Camunda 8.7
A Quick Feature Review for Camunda's Latest Update on Documents
A lot has happened since my post about advanced file handling in Camunda 8 last year. Camunda took on the task to deliver an integrated feature to seamlessly handle files in the cloud, spanning multiple processes or activities, without the need to create or move file content yourself.
What has Changed?
With Camunda’s latest release 8.7, it is finally possible to handle files natively in your processes and store them locally or in-memory in your self-managed cluster or in a remote location (currently AWS S3 or GCP Cloud Storage) with Camunda SaaS. On Camunda SaaS, you’ll get one bucket for your files. Uploads are limited to 10MB per file and the file retention is 30 days by default.
The main difference to former approaches is, that users are now able to upload files natively to the platform and use them through the process. In former versions, you were only able to provide file content e.g. in form of a hashed string. You would then put it into a process variable and use a job worker to create the file and move it to its destination.
Now, a process can be started using a task form, where a user can upload a file via the file picker. The reference (not the content) is transported through the process and can later be accessed e.g. to display the file later in the process for review purposes or more. No need for custom code and much more important: No file content in process variables.
Document Metadata
Camunda offers metadata in return for a document upload. It can then be used to reference the file or hand it to a third party system.
Metadata contains of:
a fixed length hash of the content (for checking reasons)
a unique documentId
the name of the file
the content type of the file
the file size in byte
a storage identifier
Here is an example what it looks like:
"documents": [
{
"contentHash": "61e610a9d7fd37bc9df752aa7dd374f0852a4ab0d59bd",
"documentId": "30629a5d-6d74-43eb-9569-c7c9a48b2aee",
"metadata": {
"contentType": "application/pdf",
"fileName": "document.pdf",
"size": 3650
},
"storeId": "aws"
}
]Camunda SaaS vs. Self-Managed
The main difference between document handling on Camunda SaaS and Self-Managed is, that in SaaS you only have access to cloud storage. Camunda provides you with a single AWS S3 Bucket or a Google Cloud Storage Bucket for each cluster. The retention time is 30 days by default.
On Self-Managed, on the other hand, you have two additional options to store files:
in the local filesystem of your cluster
in-memory (lost after restarts)
For this, Camunda provides four provider implementations, that handle the logic for each storage provider:
i.c.d.s.aws.AwsDocumentStoreProvideri.c.d.s.gcp.GcpDocumentStoreProvideri.c.d.s.inmemory.InMemoryDocumentStoreProvideri.c.d.s.localstorage.LocalStorageDocumentStoreProvider
It’s possible to activate one of these providers in your cluster configuration, by setting the default store id, and provide the necessary configuration values for the storage location.
Here is an example to activate an AWS S3 Bucket as storage for your documents:
DOCUMENT_DEFAULT_STORE_ID=aws
AWS_ACCESS_KEY_ID=<AWS_ACCESS_KEY>
AWS_SECRET_ACCESS_KEY=<AWS_SECRET_KEY>
AWS_REGION=eu-central-1
DOCUMENT_STORE_AWS_BUCKET=document-bucket
DOCUMENT_STORE_AWS_BUCKET_PATH=document/path
DOCUMENT_STORE_AWS_BUCKET_TTL=10
DOCUMENT_STORE_AWS_CLASS=io.camunda.document.store.aws.AwsDocumentStoreProviderA provider is able to do basic operations on a file:
Create files
Download file content as an InputStream
Delete files
Generate a link to files
More details can be found in the storage configuration documentation.
Feature List
Here is an overview of all the new document features, that come with Camunda 8.7:
📥 Uploading Documents
Upload via forms using the Filepicker component (single/multiple files, define supported formats).
Attach documents at start events or user tasks in Tasklist.
Use the inbound webhook Connector to upload documents from external systems via HTTP.
Documents uploaded are accessible as process variables, with structured metadata.
🔍 Document Metadata & Referencing
Structured metadata, to allow smart file handling
Accessed via variable expressions in BPMN or connectors.
📄 Displaying and Downloading
Use the Document Preview component in forms to display documents.
PDF and image previews supported.
Other types show filename with a download link.
Works in Tasklist forms for active user tasks.
🔗 Sending Documents to External Systems
Reference documents in outbound Connectors as inputs.
Use document variables in payloads for REST or system-specific integrations.
🧠 Intelligent Document Processing (IDP) Integration
Integrate Camunda’s document handling with IDP applications.
Automatically extract and use data from documents.
Leverage prebuilt templates and use results within BPMN processes.
What is IDP?
Intelligent Document Processing (IDP) in Camunda makes it easy to extract data from documents like PDFs or scanned forms. It automatically reads the content, picks out important information—such as names, dates, or amounts—and makes that data available in your process. This means you can automate tasks that used to require manual review, like handling invoices or processing applications.
Connector Support
It is also possible to upload documents with existing connectors. Camunda updated some of their connectors to support document metadata, to get the file and send it to an external system as well:
Amazon Bedrock – Consume documents in conversation inputs
Amazon S3 – Upload/download to/from Camunda document store in AWS
Amazon Textract – Reads documents from Camunda document store
Box – Upload/download from Box document store
Email – Send/receive attachments with Camunda documents
Google Drive – Upload/download documents from Google Drive
Microsoft Teams – Send documents to Teams channels
REST – Store response as a document via REST
SendGrid – Supports attachments with SendGrid
Slack – Add attachments to messages/templates to Slack message
Conclusion
Camunda just got a whole lot better at handling documents—and that’s great news for anyone working with file-heavy processes. Until now, uploading and managing files in a process required technical workarounds. You had to build custom services just to accept a file, move it to the right place, and forget about letting users preview anything during a task. That’s changed. With new features like file uploads in forms, document previews in user tasks, and seamless integration with outbound connectors, working with documents is now a first-class experience in both Camunda SaaS and Self-Managed.
This makes it much easier to automate real-world processes—think insurance claims where customers upload photos or forms, or loan applications where documents need to be reviewed and approved. It’s smoother, faster, and accessible even to non-developers. File handling is no longer a workaround—it’s built-in.
Lookout
I’ll definitely take a closer look at IDP and Document Handling in general and will write down some more detailed experiences in a later post. Stay tuned…


