Use a Parallel Split with a path for each possible condition. On each path, add a Decision that checks if the condition is true. If true, execute the activities on that path. If false, the path continues directly to the merge. The workflow waits for all paths to complete before continuing. Note: There is no default or catch-all path – if you need one, model it explicitly with an additional decision.
Mendix does not support decision tables. Use Call Microflow to build your own decision logic in a microflow. The Call Microflow element has built-in branching based on the microflow return type.
The workflow itself acts as the process boundary – one workflow equals one pool. It is not visible as a canvas element, but the construct is supported.
Lane
Platform Native
Use User Task assignments with Roles and Workflow Groups to define who is responsible for each step. It is not visible as a canvas element, but the construct is supported.
Data
Element
Support Level
How
Data Object, Data Input, Data Output, Data Store
Platform Native
Mendix does not have visual equivalents for these concepts on the Workflow canvas. You manage all data through entities defined in the domain model. Pass one entity into the workflow via the workflow parameter to create $WorkflowContext, which gives you access to business data throughout the entire workflow. $WorkflowInstance is always available alongside it for Workflow Engine data (System.Workflow). Because the context entity is always persistable, there is no distinction between temporary and persistent data. You do not need separate Data Object, Data Input, Data Output, or Data Store constructs in Mendix.
Artifacts
Element
Support Level
How
Text Annotation
Workflow Native
Use the Annotation element on the Workflow canvas to add descriptive notes.
Group
Not Supported
Not supported.
Events
Mendix supports a broad range of BPMN event types. Some are available directly as elements on the Workflow canvas. Others are achieved through microflows that contain workflow-related activities.
None Events
Variant
Support Level
How
Start
Workflow Native
Every workflow has one start event. Start a workflow by providing an object of the entity type that the workflow expects. Use the Call Workflow page action (for example, on a button with a data view) or the Call Workflow activity in a microflow where you pass the context object.
Same as None Start – process the message data in a microflow, create or populate an object of the entity type that the workflow expects, and start the workflow using the Call Workflow activity by passing that context object. Alternatively, use the Call Workflow page action on a page.
Use a Call Microflow activity as the throw event. Within the microflow, include a Notify Workflow activity to send the message and continue the flow.
End
Platform Native
Use a Call Microflow activity as the throw event. Within the microflow, include a Notify Workflow activity to send the message before the process completes.
Use an Interrupting Notification Event (Planned) to catch the event, and use a microflow to handle the error logic and send a notification using a Notify Workflow activity when an error occurs.
End
Platform Native
Use a Call Microflow activity as the throw event. Within the microflow, include a Notify Workflow activity to throw the error before the process completes.
Signal Events
Variant
Support Level
How
Start
Platform Native
Use a microflow with multiple Call Workflow activities to start multiple workflows and deliver the signal to all instances.
Use a Wait for Notification activity to catch the event, and use a microflow with multiple Notify Workflow activities to deliver the signal to all waiting instances.
Intermediate Boundary (Interrupting)
Planned
Use an Interrupting Notification Event (Planned) to catch the event, and use a microflow with multiple Notify Workflow activities to deliver the signal to all waiting instances.
Intermediate Boundary (Non-Interrupting)
Planned
Use a Non-Interrupting Notification Event (Planned) to catch the event, and use a microflow with multiple Notify Workflow activities to deliver the signal to all waiting instances.
Intermediate Throw
Platform Native
Use a Call Microflow activity as the throw event. Within the microflow, include multiple Notify Workflow activities to deliver the signal to all waiting instances.
End
Platform Native
Use a Call Microflow activity as the throw event. Within the microflow, include multiple Notify Workflow activities to deliver the signal to all waiting instances before the process completes.
Conditional Events
Variant
Support Level
How
Start
Platform Native
Use a microflow that checks the condition and starts the workflow using the Call Workflow activity only when the condition is met.
Use Call Microflow to evaluate the condition and return a result, then use a Decision to route the workflow based on that result.
Intermediate Boundary (Interrupting)
Planned
Use an Interrupting Notification Event (Planned) to catch the event, and use a microflow to evaluate or create the condition and send a notification using a Notify Workflow activity when the condition is met.
Intermediate Boundary (Non-Interrupting)
Planned
Use a Non-Interrupting Notification Event (Planned) to catch the event, and use a microflow to evaluate or create the condition and send a notification using a Notify Workflow activity when the condition is met.
Use an Interrupting Notification Event (Planned) to catch the event, and use a microflow to evaluate the escalation condition and send a notification using a Notify Workflow activity when the escalation needs to happen.
Intermediate Boundary (Non-Interrupting)
Planned
Use a Non-Interrupting Notification Event (Planned) to catch the event, and use a microflow to evaluate the escalation condition and send a notification using a Notify Workflow activity when the escalation needs to happen.
Intermediate Throw
Platform Native
Use a Call Microflow activity as the throw event. Within the microflow, include a Notify Workflow activity to throw the escalation and continue the flow.
End
Platform Native
Use a Call Microflow activity as the throw event. Within the microflow, include a Notify Workflow activity to throw the escalation before the process completes.
Use an Interrupting Notification Event (Planned) to catch the event, and use a microflow to evaluate the compensation condition and send a notification using a Notify Workflow activity when the compensation needs to happen.
Intermediate Throw
Platform Native
Use a Call Microflow activity as the throw event. Within the microflow, include a Notify Workflow activity to throw the compensation and redirect the flow to the compensating activity.
End
Platform Native
Use a Call Microflow activity as the throw event. Within the microflow, include a Notify Workflow activity to throw the compensation before the process completes.
Cancel Events
Variant
Support Level
How
Intermediate Boundary (Interrupting)
Planned
Use an Interrupting Notification Event (Planned) to catch the event, and use a microflow to send a notification using a Notify Workflow activity when the cancellation occurs.
End
Platform Native
Use a Call Microflow activity as the throw event. Within the microflow, include a Notify Workflow activity to throw the cancellation before the process completes.