Skip to main content
Version: v0.1.4-beta.2

Create a Process

An Easy BPM process is created visually in the Modeler and deployed as BPMN 2.0 XML. For automation or CI/CD, you can also send BPMN XML directly to POST /processes.

Basic process shape​

Every process definition needs:

FieldDescription
BPMN process idStable identifier used to start the latest version.
BPMN process nameDisplay name shown to users and operators.
Executable flow nodesStart events, tasks, gateways, message events, timers, and end events.
Sequence flowsConnections between nodes.

Minimal approval process​

<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL">
<bpmn:process id="expense-approval" name="Expense Approval" isExecutable="true">
<bpmn:startEvent id="start" />
<bpmn:userTask id="manager-review" name="Manager Review" />
<bpmn:endEvent id="end" />
<bpmn:sequenceFlow id="flow_start_review" sourceRef="start" targetRef="manager-review" />
<bpmn:sequenceFlow id="flow_review_end" sourceRef="manager-review" targetRef="end" />
</bpmn:process>
</bpmn:definitions>

Deploy and start​

curl -X POST http://localhost:8080/processes \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/xml" \
--data-binary @expense-approval.bpmn

Start the latest deployed version by process key:

curl -X POST http://localhost:8080/processes/expense-approval/start \
-H "Authorization: Bearer $TOKEN"

Supported node types​

TypeUse for
StartEventEntry point for a process.
EndEventCompletion point.
HumanTaskUser work shown in the Task Portal.
APITaskHTTP/API work published to the async worker.
ServiceTaskService work.
ScriptTaskInline script-style variable work.
CodeTaskJVM method execution from an uploaded JAR.
AiTaskAI provider execution using stored credentials or environment references.
ExclusiveGatewayChoose one path based on conditions.
ParallelGatewayFork or synchronize parallel paths.
TimerEventWait for a configured duration.
MessageEventMessage start or message-style wait using properties.
MessageIntermediateCatchEventWait for an external message correlation.
MessageIntermediateThrowEventPublish or emit a message payload.
ErrorBoundaryEventCatch failures from an attached task or call activity.
CallActivityStart another deployed process as a subprocess.

Best practices​

Use stable IDs such as manager-review, not generated labels, because IDs are referenced by flows, admin token movement, audits, and integrations.

Keep process variables small and business-oriented. Store files through document endpoints and keep only document IDs or metadata in variables.

Use the Modeler for day-to-day process creation. Use direct BPMN XML deployment for CI/CD, generated process definitions, or controlled migration workflows.