Repetition in BPMN
Loops and multi-instance markers tell a process engine (or a reader) that a task or sub-process runs more than once. A small icon at the bottom of the task shows the type of repetition.
Four types of repetition
Standard loop (circular arrow marker)
Repeat a task until a condition is met. Like a while loop in programming. The condition is checked before or after each iteration. Example: "Request additional documents" — repeat until all required documents are received.
Multi-instance sequential (three vertical lines)
Run the task once for each item in a collection, one at a time. Like a for-each loop. Example: "Review each line item in an invoice" — 5 line items means 5 sequential executions.
Multi-instance parallel (three horizontal lines)
Run the task once for each item in a collection, all at the same time. Example: "Send approval request to each board member" — all 7 requests go out simultaneously.
Ad-hoc sub-process (tilde marker ~)
A sub-process where the tasks inside have no fixed order. The performer decides what to do and when. Example: "Prepare project documentation" — write summary, create timeline, update budget in any order.
When to use which
- -"Repeat until done" — standard loop. You do not know how many times in advance.
- -"Do this for each item, one by one" — multi-instance sequential. You know the count, order matters.
- -"Do this for each item, all at once" — multi-instance parallel. You know the count, order does not matter.
- -"Do these tasks in any order" — ad-hoc sub-process. Flexible, unstructured work.
Related guides
Keep learning
Frequently asked questions
What is the difference between a loop and a multi-instance?▼
A loop repeats until a condition is met (unknown count). Multi-instance runs a fixed number of times based on a collection (known count).
Can I use a gateway to create a loop instead of a loop marker?▼
Yes. An exclusive gateway that routes back to an earlier task creates a loop. Loop markers are a shorthand for this common pattern.
What happens if a multi-instance parallel task fails?▼
By default, if one instance fails, the entire multi-instance activity fails. You can configure compensation or error handling for individual instances in some process engines.