- Introducción
- Primeros pasos
- Modelado de procesos
- Comprender el modelado del proceso
- Abrir el lienzo de modelado
- Modelar tu proceso
- Alinear y conectar elementos BPMN
- Autopilot™ para Maestro (vista previa)
- Implementación del proceso
- Operaciones de proceso
- Supervisión de procesos
- Optimización de procesos
- Información de referencia

Guía del usuario de Maestro
Use markers to configure the execution of a certain task type to create multiple executions of that task by iterating over a List variable. Visit Markers in the BPMN Primer chapter for more details.
You can turn any supported task into a multi-instance task from the BPMN designer:
- Select a task on the canvas.
- In the element toolbar above the task, select Change element.
- Choose the multi-instance marker (sequential or parallel icon).
- This attaches the BPMN marker to the task.
- Open the Properties panel and expand the Multi-instance section to configure the Items list.
- In Maestro, adding the BPMN marker does not expose extra controls like alias or mode; the only configuration appears in the Multi-instance section, the Items field.
- The marker is purely declarative; Maestro determines execution mode automatically.
- Multi-instance is supported only for tasks (not subprocesses).
Use multi‑instance execution to fan out an activity across a collection—for example, validating a list of invoice IDs, enriching records, or sending per‑recipient notifications. This pattern scales better than a manual loop and preserves observability.
- Select the task that you want to run for each element of a list.
- In the Properties panel, expand Multi-instance.
- In Items, choose the list variable that contains the elements you want to iterate over (for example,
vars.invoiceList). Maestro creates one execution per list element and manages iteration automatically. You can reference the current element in inputs by using its index or property (for example,vars.invoiceList[index].id). - (Optional) Expand the Error handling section and toggle Retry on failure if you want Maestro to retry individual items that fail.
- Run or debug the process to view one activity instance per list element in the execution trail.
- Iterator expression (when available): Some activities provide a dedicated field to map the current item into the exact per‑run input value. Use it when the activity expects a single value rather than the full item. Examples:
item.invoiceId,item.customer.email, or .{ id: item.id, flags: ["recheck"] }.Iterators are variables that represent individual items when a multi-instance task processes a collection. Use the correct syntax depending on where the iteration occurs:iterator.item— Use when the multi-instance marker is applied directly on a task.Panel de propiedades
Action: Choose how the task runs. For a Service task, select an Integration Service action, an agent action, or leave it set to None when the task is used only for modeling.
Inputs: Provide values the task needs for each iteration. Use this section to pass the current element or its fields.
Ejemplo:
-
Input:
invoiceId -
Value:
vars.invoiceList[index].id
Outputs: Return data from each subprocess execution. Maestro aggregates output values when the process completes.
Update variables: Update workflow-level variables after each iteration or after the entire Sub-process finishes.
-
iterator[0].item— Use when working inside a subprocess that’s called from a multi-instance task.Panel de propiedades
Action: Under implementation, in the Action field, choose how the subprocess interacts with an external system, agent, or API (if applicable). For expanded Sub-processes used only for modeling, leave Action set to None.
Entradas
Map data into the subprocess, including the current list element or its properties.
Ejemplo:
-
Input:
currentItemId -
Value:
vars.itemsToProcess[index].id
-
Example: Validate a list of invoices using multi-instance execution
- Prepare a list variable
- Abre Data Manager.
- Create a variable:
- Name:
invoiceList - Type: Array of Objects or Array of Strings
- Example value:
["INV-001","INV-002","INV-003"]
- Name:
- Add a Service task
- Add a Service task and name it Validate invoice.
- Open the Properties panel and expand the Multi-instance section.
- In Items, select
invoiceList.
- Use the current item in inputs
For example, set InvoiceId as
In the Inputs section:
vars.invoiceList[index]If the list contains objects rather than strings: Usevars.invoiceList[index].Id - Configure implementation
In the Implementation section, select:
- Action: Iniciar y esperar al agente
- Agent: your invoice validation agent
- Debug the process
- Selecciona Depurar paso a paso.
- You will see one execution of the Validate invoice task per list item.
- The Execution trail displays each per-item run separately.
- Add a Service task called Validate invoice to your process.
- Select Change element, and in the top-right corner of the prompt, choose Parallel multi-instance.
- In the Properties panel, expand the Multi-instance section.
- In Items choose the list variable that contains the elements you want to iterate over (for example
vars.invoiceList). Maestro creates one execution per list element and manages iteration automatically. You can reference the current element in inputs by using its index or property (for example,vars.invoiceList[index].id). - Run or debug the process to view one activity instance per list element in the Execution trail.
Use multi-instance to replace manual loops. Treat the collection as the loop boundary. Sequential mode processes items in order and waits for each to finish before the next starts. Parallel mode starts many items at once and completes when all finish or when your stop condition is met. Keep per-item work idempotent and short-lived. Use Aggregation if you need a single combined output.
- Fan‑out / fan‑in: Maestro creates one activity instance per item and completes the group when all instances finish (or earlier, if you use a custom stop policy downstream).
- Ordering: Guaranteed in Sequential mode; not guaranteed in Parallel mode.
- Concurrency: Parallel mode runs items concurrently, subject to platform limits and resource availability.
- Failures: Treat each item’s result independently. Downstream logic should define how to handle partial failures (e.g., continue, retry, or stop based on thresholds).
- Observability: Each item run is tracked, enabling per‑item status and aggregated outcomes.
Scenario: You receive a list of invoice IDs from an external API and must validate each invoice via a second API.
Plan:
- Obtain a dynamic list of invoice IDs (from a previous step or external interrogation).
- Apply a Parallel multi‑instance marker to the validation activity to fan out one action per invoice.
- Use Aggregation to produce a single combined output (for example, a list of
{invoiceId, isValid, errors}) for downstream steps.
- Validate the collection before fan‑out (empty, null, or excessively large lists).
- Keep per‑item work short‑lived and fault‑tolerant; add retries where appropriate.
- Aggregate only what you need. Large aggregations can impact performance and readability.
- Make success criteria explicit (e.g.,
proceed if ≥95% items succeed).
Read Markers (BPMN Primer) for notation and conceptual guidance, and BPMN support for the full list of BPMN elements supported in Maestro.
Working in a subprocess or call activity? For variable scoping, input/output mappings, and End Event variables, read Subprocesses.