Send documents with outbound connectors
You can reference a document in an outbound connector. Connectors can use variables with document metadata as an input. The format of inputs will depend on the connector, as each connector has a different input structure.
The connector SDK provides document support in property/variable bindings.
In most cases for the following outbound connectors, you can include a Request body under Payload in the properties panel to send with your request:

Outbound connectors that support document handling
| Connector | Support details |
|---|---|
| Amazon Bedrock | Supports consuming documents as inputs for conversations. Review the Document field in the properties panel where the document reference can be provided. |
| Amazon S3 | Supports uploading documents from (or downloading documents to) the Camunda document store. Review the Document field in the properties panel where the document reference can be provided. |
| Amazon Textract | Can read the input document directly from the Camunda document store. Review the Document field in the properties panel where the document reference can be provided. |
| Azure Blob Storage | Supports uploading documents from (or downloading documents to) the Camunda document store. Review the Document field in the properties panel where the document reference can be provided. |
| Box | Supports uploading documents from (or downloading documents to) the Camunda document store. Review the Document field in the properties panel where the document reference can be provided. |
| Supports sending Camunda documents as attachments, or storing incoming attachments as Camunda documents. These documents are automatically stored in the Camunda document store and available to map in the result expression. | |
| Google Drive | Supports document upload and download. |
| Microsoft Teams | Supports sending documents to channels. |
| REST | Supports storing the response as a document. |
| SendGrid | Provides attachment support. |
| Slack | Supports adding attachments and increasing template versions. |
Inline documents
An inline document embeds content directly in a process variable, with no document store upload required. This is useful when you want to generate a document on-the-fly from a FEEL expression and pass it immediately to a connector.
To create an inline document, set a process variable to the following structure:
{
"camunda.document.type": "inline",
"content": "Invoice #1234 — Amount due: $99.00",
"name": "invoice.txt",
"contentType": "text/plain"
}
You can also construct this with a FEEL expression, for example to build the content dynamically from other process variables:
= {
"camunda.document.type": "inline",
"content": "Invoice #" + invoiceId + " — Amount due: $" + string(amount),
"name": "invoice-" + invoiceId + ".txt"
}
Fields
| Field | Required | Description |
|---|---|---|
camunda.document.type | Yes | Must be "inline". |
content | Yes | The document content. |
name | No | The filename. If omitted, a UUID is generated automatically. |
contentType | No | The MIME type of the content. If omitted, the type is inferred from the file extension of name. If the extension is unrecognized or no name is provided, defaults to application/octet-stream. |