codepapu

Liferay DXP · Camunda 8 · 3 min

Liferay starts a Camunda 8 approval process from an Object; Camunda writes the decision back to Liferay.

Liferay DXP · Camunda 8 · BPMN · OSGi

View on GitHub

Architecture

From the real repo — how the pieces fit.

Camunda DXP

Liferay Objects hold the request · Camunda 8 runs the BPMN

  1. A

    Camunda Request

    • title · description
    • requesterEmail
    • requestStatus
    • processInstanceKey

    Liferay Object

  2. B

    Start process

    onAfterAdd → camundaStartProcess

    Sets status inReview

    camunda-dxp-rest

  3. C

    Camunda 8 Tasklist

    approvedrejected

    Optional comment

  4. D

    Status callback

    PATCH /o/c/camundarequests/{id}

    or dedicated /o/camunda-dxp/.../callbacks/status

    Loop closes Object

A closed approval loop: Liferay starts the process; Camunda Tasklist decides; status comes home via PATCH.

Camunda DXP is the Liferay side of a Camunda 8 setup: a request is created in Liferay, Camunda runs the approval process, and the decision is written back to the Liferay record.

What it is

A Liferay workspace for DXP 2026.Q3 with Camunda 8.3+ connectors. It includes a Camunda Request object, a submit/status widget, a REST module that starts processes, and a sample BPMN. Source: codepapu/camunda-dxp.

Flow

  1. User creates a Camunda Request (widget or Objects UI).
  2. onAfterAdd runs camundaStartProcess.
  3. REST module starts process request-approval and sets status to in review.
  4. Reviewer decides in Camunda Tasklist (approved or rejected).
  5. Camunda connector PATCHes /o/c/camundarequests/{id}.

In the repo

  • client-extensions/ — batch object + custom element.
  • modules/camunda-dxp-rest — start process + status callback.
  • camunda/ — BPMN and connector templates.