BPMN diagrams¶
BPMN is the standard way of drawing business processes: who does what, in which order, and what starts and ends the work. The BPMN library has 89 of its shapes, drawn in the same hand-drawn line as the rest of SimpleDiagrams. Your process can look like someone thought about it, even if nobody did.
What's in the library¶
The 89 shapes come in nine groups, each under its own small heading in the Library panel:
| Group | What's in it |
|---|---|
| Events | Start, intermediate and end events, for every trigger: message, timer, error, signal, escalation, compensation, conditional, link, cancel, terminate and the multiple kinds. A dashed ring is non-interrupting; an outlined mark waits for something, a solid one sends it |
| Gateways | Exclusive, inclusive, parallel, complex and event-based decisions, including the event-based ones that start a process |
| Tasks | User, service, send, receive, script, manual and business rule tasks, and a receive task that starts the process |
| Sub-processes | Collapsed sub-process, call activity, event sub-process and transaction |
| Task Marks | Loop, multi-instance (parallel and sequential), compensation, ad hoc and sub-process marks, to place on a task |
| Data | Data object, data collection, data input and output (single and collection) and data store |
| Messages | A message, starting a conversation or answering one |
| Conversations | Conversation and call conversation |
| Notes and Groups | Text annotation and group |
After those come two more headings: Pools and Sub-Processes, with two ready-made tiles, and Flows, with the lines that join everything up. More on those below.
Gateways and Tasks each start with a plain tile. Gateway is a diamond with
nothing inside, which BPMN reads as an exclusive decision, and Task is a rounded box
for a task with no particular kind. They're Basic's Diamond and Rounded
Rectangle, shown here for convenience and placed at the size of BPMN's own gateways
and tasks. Gateway's name goes below it, like every BPMN gateway's. Search for task
and you'll find both, Basic's Rounded Rectangle and BPMN's Task. Either one places the
same shape.
Search for bpmn in the Library panel to see the whole set, or for a word such as
timer, gateway or message flow.
Names below the shape¶
Events, gateways, data, messages and conversations are named underneath. That's where BPMN puts them, so the mark inside stays readable. The name sits centred below the shape, on one line where it fits, even when it's much wider than a little event circle. Long names wrap after a few words.
To put a name somewhere else, drag it, or choose Text Position in the Shape Properties panel. See Labels on shapes.
Corners and pictures keep their size¶
Make a task as big as you like. Tasks, sub-processes and groups keep their small rounded corners and their hand-drawn line at any size, rather than turning into balloons. A task's picture stays small in its top-left corner, and stays inside the task however you resize it. See Parts that keep their size.
Task marks¶
A loop or multi-instance mark sits on a task, so connectors attach to the task, not the mark. Group the mark with its task (Cmd+G) so they move together.
Pools and expanded sub-processes¶
The Pools and Sub-Processes heading has two tiles:
- Pool places swimlanes titled Pool, with two lanes. Rename the lanes for your roles, add more, and drop your tasks into them.
- Expanded Sub-Process places a container titled Sub-Process, for a sub-process shown open, with its activities inside.
Once placed, they're ordinary swimlanes and containers, so everything on Containers, swimlanes and tables applies: what you drop in moves with them, and lanes can be added, resized and turned.
Flows¶
The Flows heading has the lines BPMN draws between shapes. Each one is an ordinary connector with a particular line and endings, and which way you draw it matters, because each ending means something at its end:
| Flow | Its line | Draw it from… | …to |
|---|---|---|---|
| Sequence Flow | Filled Arrow at the end | Each event, task or gateway | The next one |
| Default Flow | Slash at the start, Filled Arrow at the end | The task or gateway it leaves (an exclusive, inclusive or complex gateway) | The path taken when no other condition holds |
| Conditional Flow | Diamond at the start, Filled Arrow at the end | The task it leaves | The path taken when its condition holds |
| Message Flow | Dashed, Circle at the start, Hollow Arrow at the end | The sender, in one pool | The receiver, in another pool |
| Association | Dotted, no endings | A text annotation or other artifact | The thing it describes |
| Data Association | Dotted, Arrow at the end | A data object or store | The task that reads it |
A task that writes data gets a Data Association the other way: from the task to the data object. Data Association also does duty as BPMN's directed association, because the two look exactly the same: use it, for example, from a compensation event to its compensation activity.
A parallel or event-based gateway never has a default flow: every path leaves a parallel one, and an event-based one waits for whichever event comes first.
A flow leaving a gateway never takes the diamond, even when it has a condition: use a plain Sequence Flow there and write the condition beside it. Message flows only ever run between pools, never between shapes in the same one.
Sequence, default, conditional and message flows run with right angles. The two dotted lines are straight.
There are three ways to use them:
- Click a tile, then draw. The Connector tool is ready, and the next connector you draw has that flow's look. Colour still comes from the toolbar.
- Drag a tile onto the page. You get a short connector with that look, right where you let go. Then drag each end onto a shape to connect it.
- Change lines you've already drawn. Select them and choose Format ▸ BPMN Flow, or right-click a connector. Every selected connector takes the new look and keeps its route. Hover over a flow in either menu and it tells you which way to draw it.
The result is an ordinary connector. Change an ending later and it simply changes; nothing checks that it's still valid BPMN.
Shape data¶
Each shape carries its BPMN details as shape data, ready to fill in: an event's Trigger and When, a gateway's Question, a task's Kind and Performed by, or a data object's State. Open the Page Data table to see and edit every shape's details at once. See Shape data.
The plain Task and Gateway are Basic's shapes, so they carry no BPMN details. If you want those, use one of the drawn tasks, or the Exclusive gateway, which is the same decision with its X showing.
BPMN is a trademark of the Object Management Group. These shapes are not endorsed by it.