Skip to content

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.