- Introduction and getting started
- Maestro landing page
- Process modeling
- Process implementation
- Process operations
- Process monitoring
- Process optimization
- Licensing
- Reference information

Maestro user guide
Gateways control the flow of your process. You can configure condition logic to determine which path to take. Once the paths are drawn, you can set the condition logic either via the path line or directly on the gateway. Read more about gateways.
true
.
- If no conditions evaluate to
true
, and a default path is defined, the process follows the default path. - If no conditions are
true
and no default path is defined, the process execution fails.
Defining a default path
default
attribute on the <exclusiveGateway>
element.
Merging behavior
An exclusive gateway waits for one incoming execution before continuing. It acts as a decision point, allowing only one of several potential paths to proceed.
Section | Field | Description |
---|---|---|
General | Name | A label for identifying the gateway in the diagram. While optional, it improves model clarity. |
General | Description | A free-text field to document the purpose or logic behind the gateway. Helpful for design reviews and collaboration. |
Conditions | (Label group) | Each group under "Conditions" represents one outgoing path from the gateway. Each path has its own logic. |
Conditions | Label | The display name for the condition path. It appears on the diagram to help users understand the branching logic. |
Conditions | Make default path | A toggle that defines this path as the fallback if none of the other conditions evaluate to true. Only one path should be marked as default. |
Conditions | Condition | The expression that determines if this path should be taken. Example:
vars.error_1 != null && vars.retryCount < 3 .
Conditions are evaluated in order.
|
- Only one condition path is followed: As soon as a condition evaluates to
true
, all other conditions are ignored. - Order matters: Conditions are evaluated in sequence; the first match determines the path taken.
- Default path is optional but recommended: If no condition evaluates to
true
and no default is set, the process instance will fail at runtime. - Expression syntax: Maestro uses a JavaScript-like syntax. You can reference
process variables with
vars.
(e.g.,).vars.status == "error"
vars.status == "error"
true
.
- For all outgoing paths where the condition evaluates to
true
, the process follows each in parallel. - One concurrent execution is created for each selected path.
- The inclusive gateway waits for an execution to arrive from each incoming sequence flow that was activated upstream.
- Once all expected tokens have arrived, the gateway merges them and the process continues.
Inclusive Gateway properties
Inclusive gateways in Maestro allow a process to evaluate multiple outgoing conditions and follow one or more paths simultaneously, depending on which conditions are true.
Section | Field | Description |
---|---|---|
General | Name | The label used to identify the gateway on the diagram. This is optional but recommended for clarity in complex models. |
General | Description | Optional metadata for describing the purpose or logic of the gateway. This can be helpful during design and review. |
Conditions | (Label group) | Each group under "Conditions" represents an outgoing sequence flow. You can define multiple sequence flows with their own conditions. |
Conditions | Label | A user-defined name for the specific condition or path. This label appears on the diagram to help explain the logic behind the branch. |
Conditions | Condition | The actual expression evaluated at runtime to determine whether this path
should be taken. Maestro uses expressions like vars.error_1 ==
null to check process variables.
|
- Multiple paths can be taken: If two or more conditions evaluate to
true
, the inclusive gateway activates all matching paths in parallel. - Conditions are optional: If no conditions are defined, all outgoing flows are taken.
- At least one path must match: You should ensure that the conditions cover all possible cases, or define a default path using an unconditional flow.
- Syntax: Conditions are written using Maestro’s expression syntax, which
supports
==
,!=
, comparisons, and logical operators. For example:vars.amount > 1000 && vars.region == "EU"
vars.amount > 1000 && vars.region == "EU"
A parallel gateway is used to either:
- Fork: Split the process into multiple parallel paths. All outgoing paths are followed, with no conditions required.
- Join: Merge multiple parallel paths into a single flow. The gateway waits for all incoming executions before proceeding.
Parallel gateway properties
Inclusive gateways in Maestro allow a process to evaluate multiple outgoing conditions and follow one or more paths simultaneously, depending on which conditions are true.
Section | Field | Description |
---|---|---|
General | Name | The name shown on the diagram to identify the gateway. This is optional but useful for clarity in complex flows. |
General | Description | Optional free-text field for documenting the gateway's purpose or behavior. Appears only in the properties panel. |
- Parallel gateways are used to split the flow into multiple branches that run simultaneously or to synchronize multiple incoming paths.
- No conditions are required. All outgoing paths are triggered at the same time.
- At a join, the gateway waits for all incoming flows to complete before continuing.
- Common use cases include starting multiple tasks in parallel or synchronizing parallel branches after completion.
An event gateway waits for one of multiple possible events before proceeding. Execution pauses until one of the events is triggered. Each path must begin with an intermediate catch event, such as:
- Timer event
- Message event
Maestro action types: Wait for connector event
Use case: Reactive processes where outcome depends on first arriving event (e.g., external callback or timeout).
Event-based gateway properties
Inclusive gateways in Maestro allow a process to evaluate multiple outgoing conditions and follow one or more paths simultaneously, depending on which conditions are true.
Section | Field | Description |
---|---|---|
General | Name | The display name of the gateway. It appears on the diagram and helps users identify the branching logic. Optional but helpful for clarity. |
General | Description | An optional text field for documenting the purpose or behavior of the event-based gateway. Useful for collaboration and maintainability. |
- An Event-based gateway waits for one of multiple possible events to occur.
- It is typically followed by intermediate catch events such as timer, message, or signal events.
- Once one of the events is triggered, all other paths are canceled.
- Commonly used to model scenarios where the next step depends on which event happens first (e.g., a user submits a form or a timeout occurs).