maestro
latest
false
UiPath logo, featuring letters U and I in white

Maestro user guide

Last updated Aug 12, 2025

Gateways

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.

Exclusive gateway

An exclusive gateway allows only one outgoing path to be followed based on the evaluation of conditions. It checks each condition in order and follows the first one that evaluates to 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

In Maestro, you can mark a path as the default. In XML notation, this is done using the 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.

Inclusive gateway properties

SectionFieldDescription
GeneralNameA label for identifying the gateway in the diagram. While optional, it improves model clarity.
GeneralDescriptionA 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.
ConditionsLabelThe display name for the condition path. It appears on the diagram to help users understand the branching logic.
ConditionsMake default pathA 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.
ConditionsConditionThe expression that determines if this path should be taken. Example: vars.error_1 != null && vars.retryCount < 3. Conditions are evaluated in order.
Notes on Exclusive gateway logic
  1. Only one condition path is followed: As soon as a condition evaluates to true, all other conditions are ignored.
  2. Order matters: Conditions are evaluated in sequence; the first match determines the path taken.
  3. Default path is optional but recommended: If no condition evaluates to true and no default is set, the process instance will fail at runtime.
  4. Expression syntax: Maestro uses a JavaScript-like syntax. You can reference process variables with vars. (e.g.,
    vars.status ==
        "error"vars.status ==
        "error"
    ).

Inclusive gateway

An inclusive gateway allows multiple outgoing paths to be followed in parallel, depending on which conditions evaluate to true.
Fork behavior
  • 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.
Join behavior
  • 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.



SectionFieldDescription
GeneralNameThe label used to identify the gateway on the diagram. This is optional but recommended for clarity in complex models.
GeneralDescriptionOptional 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.
ConditionsLabelA user-defined name for the specific condition or path. This label appears on the diagram to help explain the logic behind the branch.
ConditionsConditionThe 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.
Notes on Inclusive gateway behavior in Maestro
  • 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"
    

Parallel gateway

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.



SectionFieldDescription
GeneralNameThe name shown on the diagram to identify the gateway. This is optional but useful for clarity in complex flows.
GeneralDescriptionOptional free-text field for documenting the gateway's purpose or behavior. Appears only in the properties panel.
Notes on Parallel gateway behavior in Maestro
  1. Parallel gateways are used to split the flow into multiple branches that run simultaneously or to synchronize multiple incoming paths.
  2. No conditions are required. All outgoing paths are triggered at the same time.
  3. At a join, the gateway waits for all incoming flows to complete before continuing.
  4. Common use cases include starting multiple tasks in parallel or synchronizing parallel branches after completion.

Event-based gateway

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.



SectionFieldDescription
GeneralNameThe display name of the gateway. It appears on the diagram and helps users identify the branching logic. Optional but helpful for clarity.
GeneralDescriptionAn optional text field for documenting the purpose or behavior of the event-based gateway. Useful for collaboration and maintainability.
Notes on Event-based gateway behavior in Maestro
  1. An Event-based gateway waits for one of multiple possible events to occur.
  2. It is typically followed by intermediate catch events such as timer, message, or signal events.
  3. Once one of the events is triggered, all other paths are canceled.
  4. 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).
  • Gateways
  • Exclusive gateway
  • Inclusive gateway
  • Parallel gateway
  • Event-based gateway

Was this page helpful?

Get The Help You Need
Learning RPA - Automation Courses
UiPath Community Forum
Uipath Logo
Trust and Security
© 2005-2025 UiPath. All rights reserved.