Using Camunda Business Processes
Liferay 7.4+, and all quarterly releases
Liferay’s native workflow features are designed for business processes requiring basic review and approval. If your business process management (BPM) needs are more complex, you can connect Liferay to Camunda. Its advanced automated business processes use the Business Process Model and Notation (BPMN) standard and its decision rules use Decision Model and Notation (DMN).

You can use these connector templates from the Camunda Modeler:
| Name | Description | Outbound or Inbound | Camunda Element |
|---|---|---|---|
| Liferay Connector | Call Liferay APIs from Camunda tasks. | Outbound | Service Task |
| Liferay Webhook Connector * | Receive events from Liferay’s object webhook actions (e.g., trigger the workflow in Camunda when a form is submitted in Liferay). | Inbound | Event (varies according to need; see below) |
| Start Event | Use the webhook payload to start a process without checking for uniqueness. | Inbound | Start Event |
| Message Start | Make sure the same payload was not already used to start a process, then start one if it’s unique. | Inbound | Message Start Event |
| Intermediate | Use the payload to advance an already running process instance. | Inbound | Intermediate Throw/Catch Event |
| Boundary | Use the payload while a task is active to either change the workflow path or trigger a parallel path. | Inbound | Message Boundary Event |
Connecting Liferay to Camunda
To connect Liferay to Camunda, install the Liferay connector templates into Camunda Modeler:
-
Go to https://github.com/liferay/liferay-portal/tree/master/modules/integrations/camunda/element-templates
-
For each template you want, click Download Raw File.
-
In Camunda Modeler, open your project and click Create New → Upload File; then select the file you downloaded.
-
Open the new connector and publish it.
The Liferay connector templates are currently available by manual upload only.
Reviewing Tasks in Liferay
If a process includes a user task, you can manage it from Liferay using the object entry’s Assignee field. With the assignee you can select users and roles. When used with the outbound connector from Camunda, you can use Liferay as the interaction hub from the Camunda process. For example, you can change the assignee in a Camunda process by calling the object’s PATCH API endpoint from the outbound connector. Additional useful features include sending notifications to assignees, adding an Assign to Me button to a data set, and filtering the data set by the assignee. See Assignee Fields for more information.
This example process for an Event object demonstrates using the assignee field:
-
A webhook is sent when a draft object entry is added in Liferay.

-
A running Camunda instance receives the webhook from Liferay.

-
After processing, the Camunda process forks. Depending on the value of the Type field, a patch API request sets the assignee field to the appropriate role. Meanwhile, Camunda waits for another webhook payload when the entry is updated.

-
The assignee user receives a notification in Liferay and navigates to a pending tasks page.

-
The user updates the event entry and publishes it.

-
Back in Camunda, the entry is patched again, this time setting the status to approved.


The Assignee field is at the center of Liferay/Camunda processes that require specific Liferay users to interact with Camunda process tasks.