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

Maestro user guide
Last updated Aug 12, 2025
A subprocess is a collection of other tasks and subprocesses that helps to split a complex process into more manageable and
navigable parts.
Note:
- Opt for a Call activity when you need to use an additional process either within the same project or from a separate project. Such an agentic process, with an independent value, can be invoked either as a self-contained process or by other processes, triggering the creation of a new instance automatically.
- Use a subprocess when there's a requirement to encapsulate specific logic, thereby augmenting the parent process's simplicity. As an inherent part of the same instance, the subprocess contributes to streamlining the overall orchestration.
See Process Modeling for additional details on BPMN support.
Subprocesses support multi-instance markers, where each element is executed multiple times. The elements that can be marked as multi-instance are all task types except for subprocesses.
The following string variables string are supported as nested iterators:
Category | Attributes | How to use/access |
---|---|---|
OuterSP - Get Contact Information for each user | InputCollection | var.GetUsers |
OuterSP - Get Contact Information for each user | Iterator Item | iterator.item.gid |
InnerSP - Get all emails for each contact | InputCollection | iterator[0].item.contactArray |
InnerSP - Get all emails for each contact | Iterator Item | iterator[1].item.ContactId |
Send Email | InputCollection | iterator[1].item.EmailArray |
Send Email | Iterator Item | iterator[2]item.emailAddress |