Example IDP integration
This worked example shows how you can integrate IDP into a simple process.
About this worked example
This worked example demonstrates how a published document extraction template can be used to extract data from a document uploaded via Tasklist.
In this example, a process is set up with the following steps:
- Upload document: A PDF document is uploaded manually in Tasklist.
- Extract data: A published document extraction template automatically extracts the required data from the PDF document.
- View results: The extraction results are viewed.
Document extraction template
The document extraction template used in this example uses the following extraction fields and sample document.
Field name | Field type | Prompt |
---|---|---|
invoiceType | String | Find the type of invoice. |
invoiceCustomer | String | The invoice customer. |
invoiceId | String | The invoice ID. |

Upload document
In the first step of the process, a user task and linked form allows a document to be uploaded in Tasklist.

- The form uses the Filepicker form element to upload a document.
- The Filepicker element Key is set to
documents
. This is then bound to the Document input in the document extraction template.
You can also use the Camunda 8 REST API to upload documents for IDP. To learn more about storing, tracking, and managing documents in Camunda 8, see document handling.
Extract data
In this step, the document extraction template is applied to a task to automatically extract data from the uploaded document.

- Input message data: The Document input uses the FEEL expression
documents[1]
to get the first document in the FEEL array, as per the uploaded document Key. - Output mapping: The extracted data is stored as JSON in a Result variable named
idpResult
.
View results
Once the process completes, the results of the extraction are available in the idpResult
variable.
For example, viewing the process in Operate shows the data was accurately extracted from the document as follows:
{
"extractedFields": {
"invoiceType": "A",
"invoiceId": "A/3454",
"invoiceCustomer": "Camunda"
}
}

This step in the process could be one of many types of element, depending on what you want to do with the extraction results. For example, you might want to display, check, or summarize the extracted data, or route to further actions in the process depending on the document data extracted by IDP.