BPMN Loops and Multi-Instance: Repeating Work

Some tasks need to run more than once. BPMN gives you four ways to model repetition — each for a different pattern.

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.