BPMN guide¶
This page is a compact BPMN 2.0.2 reference for the docs site; for the full specification see the OMG BPMN page.
Load BPMN starters via MCP
MCP clients can fetch minimal BPMN XML from uml://templates (read the bpmn key in the JSON payload):
Use uml://examples the same way for a fuller BPMN example (key bpmn).
Core elements¶
| Element | Notation | Purpose |
|---|---|---|
| Start Event | Circle, single border | Process trigger. |
| End Event | Circle, thick border | Process end. |
| Task | Rounded rectangle | Work performed in the process. |
| Gateway | Diamond: X exclusive, + parallel, O inclusive | Branch or merge control flow. |
| Sequence Flow | Solid arrow | Order of flow between elements. |
| Message Flow | Dashed arrow | Message between pools. |
| Lane | Sub-partition of a pool | Group tasks by role or system. |
| Pool | Outer boundary | Process or participant boundary. |
Flow rules¶
- Each process has at least one Start Event and one End Event.
- Sequence flows connect activities, events, and gateways (never message flows).
- Gateways split or merge flows. Pick the right kind:
- Exclusive (
X): one path of many. - Parallel (
+): all paths in parallel. - Inclusive (
O): one or more paths based on conditions.
- Exclusive (
- Lanes group tasks by role or system within a pool. Pools represent independent participants.
Reference flow (Mermaid sketch)¶
The diagram below is a Mermaid sketch of a typical "approval" BPMN process. For an executable BPMN 2.0 XML model, use the bpmn_executable_process prompt and the uml://templates resource (key bpmn). For copy-paste prompts, a full tools/call JSON example, and a committed Kroki SVG, see BPMN prompts and SVG.
flowchart LR
Start((Start)) --> T1[Submit request]
T1 --> G1{Approval needed?}
G1 -- no --> T3[Apply change]
G1 -- yes --> T2[Manager approves]
T2 -->|approved| T3
T2 -->|rejected| End2((End: rejected))
T3 --> End1((End: applied)) Generating BPMN¶
{
"name": "generate_uml",
"arguments": {
"diagram_type": "bpmn",
"code": "<BPMN 2.0 XML or BPMN-DI snippet>"
}
}
- The
bpmndiagram type renders to SVG through Kroki. - For an executable BPMN starter, use the
bpmn_executable_processprompt or read thebpmntemplate fromuml://templates. - For a process explanation rather than rendering, use the
bpmn_process_guideprompt. - For minimal XML syntax, see BPMN (Kroki XML).
See also: BPMN prompts and SVG, Diagram Assistant, and MCP resources reference.