- Overview
- Process modeling
- BPMN
- Process implementation
- Process operations
- Process monitoring
- Process optimization
- Reference information

Maestro user guide
Common modeling patterns
This page introduces typical BPMN modeling patterns used to represent business logic clearly and consistently in process diagrams. These patterns help structure the process visually and conceptually, even when not all elements are supported at runtime.
A linear path connects tasks and events in a specific order. Use a sequence flow arrow (→) to indicate the progression of work.
Use case: Step-by-step activities, such as form submission → validation → approval.
Use a parallel gateway (fork) to model simultaneous activities. All outgoing branches are activated concurrently. Use another parallel gateway (join) to synchronize paths.
→ [Parallel Gateway] → Task A
→ Task B
→ [Parallel Gateway] → Task A
→ Task B
Both Task A and Task B must complete before the process continues.
Use an exclusive gateway to model decision points. Only one outgoing path is followed based on defined conditions. Add a default flow for safety.
Use case: Routing based on approval outcome.
→ [Exclusive Gateway] → Approve → Next Step
→ Reject → End
→ [Exclusive Gateway] → Approve → Next Step
→ Reject → End
Only one path is selected during execution.
Use an inclusive gateway to allow one or more branches to activate, depending on evaluated conditions. Synchronization requires all active branches to complete.
Use case: Optional sub-processes based on user selection.
Repetition in a process should be modeled using loop markers on tasks or sub-processes. These markers serve as visual indicators that the activity is expected to execute multiple times. Maestro does not support runtime repetition based on flow control; therefore, actual loop behavior must be implemented externally (e.g., by calling the activity repeatedly from a parent process or by passing a collection to a multi-instance marker). See looping support for more details.
Use case: Document approval sent to multiple reviewers in sequence or in parallel.