Workflow Patterns in BPMN: Sequence, Split, Join and Loop
Almost every process is built from four patterns: a sequence, a split, a join and a loop. Draw all four on one online shop example in the free bpmn.io modeler, with a rework loop and a parallel split and join.
Step by step
Four patterns
- Four patterns. Most process models use 4 patterns: a sequence, a loop, a split and a join. Learn these and you can read most diagrams. The example is an online shop order, and it uses all 4.
- New diagram. Start a new diagram in the bpmn.io modeler. Name the start event Order placed.
Sequence
- Sequence. Pattern 1 is the sequence. Click the start event and use its small menu to add a task called Check order. The arrow between them just means "then": one step happens after the other.
Loop
- Loop. Pattern 2 is the loop. From Check order, add a gateway and give it a question: Order OK? If the answer is no, someone has to fix the order. Drag a task from the gateway's menu into the space under Check order and name it Fix order. Label its arrow No. To close the loop, click Fix order, pick the arrow (connect) tool and drag it up onto Check order. The order now goes round until the answer is Yes.
Split
- Split. Pattern 3 is the split. Add a second gateway after Order OK? and label its arrow Yes. Click the wrench, type parallel and pick Parallel gateway. The gateway now shows a plus. The plus means every path leaving it starts at the same time. Add the first path from the plus: a task called Pack items. Drag a second task from the plus into the space below and name it Send invoice. The warehouse and the finance team now work side by side.
Join
- Join. Pattern 4 is the join. Add a gateway after Pack items. Click Send invoice, pick the arrow tool and drag it onto the new gateway. Both paths now meet there. Use the wrench to change it to a Parallel gateway too. A parallel join waits until both tasks are done, so the order is only ready once it is packed and invoiced.
- End. Finish with an end event after the join, named Order ready.
- The finished model. Click on an empty part of the canvas to see the whole model: a sequence, a loop back to Check order, a parallel split and a parallel join.
Recap
- The four patterns. To recap: a sequence is one step after another. A loop sends work back with a labelled arrow. A parallel split starts paths together, and a parallel join waits for all of them.
Common mistakes
- Ending a parallel split with a plain gateway. If Pack items and Send invoice meet at an exclusive (empty diamond) gateway, the next step can run once for each path, so it runs twice. After a parallel split, join with a parallel gateway.
- A parallel join after a yes/no gateway. Only 1 path leaves a yes/no gateway, so a parallel join would wait forever for the other path. Use a parallel join only to close a parallel split.
- Unlabelled arrows out of a decision gateway. If the arrows out of Order OK? have no labels, nobody can tell which way is Yes and which is No. Write the question in the gateway and label every arrow that leaves it.
- A loop with no way out. The arrow from Fix order goes back to Check order, before the Order OK? gateway. That way the order is checked again and can leave the loop on Yes. If the loop never passes the gateway again, it never ends.
When a business analyst uses this
In a process mapping workshop, a business analyst draws the to-be order process with stakeholders. They use a loop to show rework when an order fails its check, and a parallel split and join to show that the warehouse and finance work at the same time. This makes hand-offs and waiting points clear before sign-off.
Questions people ask
What are the basic workflow patterns in BPMN?
The 4 basic patterns are a sequence (one step after another), a loop (work goes back to an earlier step), a split (the flow branches into paths) and a join (paths come back together). Most process diagrams are built from these 4.
What is a BPMN workflow?
It is a process drawn with the BPMN standard: events for the start and end, tasks for the work, gateways for decisions, splits and joins, and arrows for the order of the steps. Anyone who knows the shapes can read it the same way.
What is a simple BPMN workflow example?
An online shop order. Order placed leads to Check order. If the order is wrong, an Order OK? gateway sends it to Fix order, which loops back to Check order. A parallel split then runs Pack items and Send invoice together, and a parallel join waits for both before Order ready.