Skip to main content
Version: 8.7

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:

An example process diagram with three steps
  1. Upload document: A PDF document is uploaded manually in Tasklist.
  2. Extract data: A published document extraction template automatically extracts the required data from the PDF document.
  3. 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 nameField typePrompt
invoiceTypeStringFind the type of invoice.
invoiceCustomerStringThe invoice customer.
invoiceIdStringThe invoice ID.
An example process diagram with three steps

Upload document

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

The Filepicker element
  • 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.
info

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.

Document extraction step
  • 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"
}
}
Document extraction step
note

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.