BPMN in Mendix
What Is BPMN?
Business Process Model and Notation (BPMN) is a visual language for mapping out business processes. It uses graphical flowcharts that business users, analysts, developers, and data architects can all read and agree on. Written descriptions get interpreted differently by different people, whereas BPMN diagrams do not have that problem.
The standard is maintained by the Object Management Group (OMG). The current version, BPMN 2.0.2, is published by ISO as an international standard ISO/IEC 19510.
BPMN diagrams are organized into four categories of elements:
- Tasks – A unit of work in the process. For example, a user filling out a form, or a service being called automatically.
- Events – Something that happens during the process. Events either kick the process off, occur in the middle, or mark the end.
- Gateways – Control how the flow splits or merges. For example, a gateway takes one path based on a condition or fires multiple paths in parallel.
- Sequence Flows – The arrows connecting everything. They define the order in which elements execute.
BPMN gives teams a shared language for describing processes. Analysts model, developers build, and stakeholders review are all in the same diagram.
How Mendix Supports BPMN
Pure Business Process Model and Notation (BPMN) platforms provide notation for modeling processes. Mendix extends this by combining process orchestration with complete execution capabilities in one unified environment. You define process flows in workflows and implement execution logic using Studio Pro, bridging the gap between design and implementation.
Workflows orchestrate your process. They define when things happen and in what sequence. The rest of the Mendix platform provides unlimited execution options for how those steps are implemented:
- Pages are your forms.
- Microflows run your business rules, call APIs, and handle errors.
- Domain model holds your data.
- Integrations connect to external systems via REST, SOAP, OData, or messaging.
- Scheduled events trigger processes on a timer.
This integrated approach gives you flexibility that BPMN engines cannot match. When a standard workflow element does not fit your exact need, you compose a solution using platform capabilities. The detailed BPMN Coverage page shows many examples of composable patterns. These are not workarounds. They demonstrate the power to handle real-world complexity.
The following example illustrates how different parts of the platform work together within a workflow:
Consider a user task that requires approval with validation logic. In the workflow, you define a user task that opens a page showing the request details. The page uses the domain model to display data and validate user input. When the user submits their decision, a microflow evaluates the business rules, handles any errors, updates the data, and returns the outcome to the workflow. The workflow then continues based on that decision. Every piece, orchestration, UI, validation, business logic, and data, works together.
Mendix continues to expand native BPMN support in the workflow editor. Its integrated platform approach distinguishes it from pure BPMN modeling tools. It enables you to implement processes beyond what can be expressed using standard BPMN notation alone.
Same Process on Different Canvases
The following example shows a leave request process modeled in two ways: as a BPMN diagram and in the Mendix workflow editor.
Process in BPMN
Process in Mendix
BPMN Import
Mendix does not provide native BPMN XML import. However, you can use Maia Make to help translate BPMN diagrams into Mendix workflows.
Upload your BPMN diagram (as an image or PDF) to Maia and ask it to create a workflow in Mendix. Maia analyzes the diagram and generates the corresponding workflow elements, including activities, gateways, and events. You may need to configure properties like user assignments, expressions, and microflow logic after the initial conversion.
BPMN Coverage Overview
The following sections provide a brief overview of supported and unsupported BPMN elements in Mendix. For detailed information on how each element is supported, see BPMN Coverage.
Support Levels
Each BPMN element is marked with a support level indicator:
- 🟢 Supported – Directly supported in the workflow editor or composable by combining workflow editor constructs and/or platform features
- 🔵 Planned – Support is planned for an upcoming release
- 🔴 Not Supported – Not currently supported in Mendix
- N/A – Concept does not exist in the BPMN 2.0 specification. It is not a Mendix limitation.
Gateways
- Exclusive Gateway (XOR) – 🟢 Supported
- Parallel Gateway (AND) – 🟢 Supported
- Inclusive Gateway (OR) – 🟢 Supported
- Event-Based Gateway – 🔴 Not Supported
- Complex Gateway – 🔴 Not Supported
Tasks
- User Task – 🟢 Supported
- Service Task – 🟢 Supported
- Script Task – 🟢 Supported
- Business Rule Task – 🟢 Supported
- Send Task – 🟢 Supported
- Receive Task – 🟢 Supported
- Manual Task – 🟢 Supported
Subprocesses
- Embedded Subprocess – 🔴 Not Supported
- Call Activity – Reusable Subprocess – 🟢 Supported
- Event Subprocess – 🟢 Supported
- Transaction Subprocess – 🔴 Not Supported
- Ad-hoc Subprocess – 🔴 Not Supported
Swimlanes
- Pool – 🟢 Supported
- Lane – 🟢 Supported
Data
- Data Objects / Data Store – 🟢 Supported
Artifacts
- Text Annotation – 🟢 Supported
- Group – 🔴 Not Supported
Events
| Start | Intermediate | End | ||||||
|---|---|---|---|---|---|---|---|---|
| Type | Normal | Event Subprocess | Event Subprocess Non-Interrupting | Catch | Boundary | Boundary Non-Interrupting | Throw | |
| None | 🟢 Supported | N/A | N/A | N/A | N/A | N/A | N/A | 🟢 Supported |
| Message | 🟢 Supported | 🟢 Supported | 🟢 Supported | 🔵 Planned | 🔵 Planned | 🔵 Planned | 🟢 Supported | 🟢 Supported |
| Timer | 🟢 Supported | 🔵 Planned | 🔵 Planned | 🟢 Supported | 🟢 Supported | 🟢 Supported | N/A | N/A |
| Error | N/A | 🟢 Supported | N/A | N/A | 🔵 Planned | N/A | N/A | 🟢 Supported |
| Signal | 🟢 Supported | 🟢 Supported | 🟢 Supported | 🟢 Supported | 🔵 Planned | 🔵 Planned | 🟢 Supported | 🟢 Supported |
| Conditional | 🟢 Supported | 🟢 Supported | 🟢 Supported | 🟢 Supported | 🔵 Planned | 🔵 Planned | N/A | N/A |
| Escalation | N/A | 🟢 Supported | 🟢 Supported | N/A | 🔵 Planned | 🔵 Planned | 🟢 Supported | 🟢 Supported |
| Compensation | N/A | 🟢 Supported | N/A | N/A | 🔵 Planned | N/A | 🟢 Supported | 🟢 Supported |
| Cancel | N/A | N/A | N/A | N/A | 🔵 Planned | N/A | N/A | 🟢 Supported |
| Terminate | N/A | N/A | N/A | N/A | N/A | N/A | N/A | 🔴 Not Supported |
| Link | N/A | N/A | N/A | 🟢 Supported | N/A | N/A | 🟢 Supported | N/A |
| Multiple | 🔴 Not Supported | 🔴 Not Supported | 🔴 Not Supported | 🔴 Not Supported | 🔴 Not Supported | 🔴 Not Supported | 🔴 Not Supported | 🔴 Not Supported |
| Multiple Parallel | 🔴 Not Supported | 🔴 Not Supported | 🔴 Not Supported | 🔴 Not Supported | 🔴 Not Supported | 🔴 Not Supported | N/A | N/A |