BA Prince the B.A. Subscribe

Home / draw.io for Business Analysts

BPMN Pools, Lanes and Message Flows in draw.io

BPMN Pools, Lanes and Message Flows in draw.io

Watch on YouTube Subscribe

When two organisations work together, BPMN gives each one its own pool and joins them with message flows. Learn how to draw a customer pool and a shop pool with lanes in the free draw.io web app, keep sequence flows inside the pool, and use dashed message flows between pools.

Step by step

Two organisations

  1. Pools and messages. When your process deals with a customer outside your company, BPMN gives each organisation its own pool. The pools talk to each other with message flows. Here is the finished diagram for an online order.
  2. Blank diagram. Start a blank diagram in draw.io, with the BPMN shapes turned on under More Shapes.

Pools

  1. Customer pool. From BPMN 2.0 General, drag in a Horizontal Swimlane, stretch it wide and label it Customer. We don't model the customer's steps, so it stays empty. An empty pool like this is called a black box pool.
  2. Pool with lanes. Next, drag in Horizontal Pool 2 for your own company and make it the same width. Name the pool Online shop and its 3 lanes Sales, Finance and Warehouse, after the teams that do the work.

Message flows

  1. Message start. The process starts when an order arrives. From BPMN 2.0 Events, drop a Message Start event (a thin circle with an envelope) into the Sales lane and label it Order received.
  2. Message flow. The order comes from the customer. Click the Customer pool, hold Ctrl, click the start event, then click Message Flow in BPMN 2.0 General. The dashed line shows a message between 2 pools.

Sequence flows

  1. Tasks in lanes. Finance takes the payment. From BPMN 2.0 Tasks, drop a Generic Task into the Finance lane and label it Take payment.
  2. Sequence flow. Connect Order received to Take payment with the blue arrow. The solid line is a sequence flow. It can cross lanes, but it never leaves the pool.
  3. Tasks in lanes. Then the warehouse packs the order. Drop a second task into the Warehouse lane, under Take payment, and label it Pack order.
  4. Sequence flow. Connect Take payment to Pack order the same way.

Message end

  1. Message end. Once the order is packed, the warehouse emails the tracking number and the process ends. From BPMN 2.0 Events, drop a Message End event (a thick circle with a black envelope) next to Pack order and label it Tracking email sent.
  2. Sequence flow. Finally, connect Pack order to the end event, Tracking email sent.
  3. Message flow. The tracking email goes back to the customer, so it is another message. Select the end event, Ctrl-click the Customer pool and click Message Flow again.
  4. The finished model. Click an empty part of the page to see the whole model: solid sequence flows inside the Online shop pool, dashed message flows between the pools, and envelopes where a message arrives or leaves.

Recap

  1. The rules. The rules: one pool per organisation, lanes for the teams inside it, sequence flows only inside a pool, and message flows only between pools.

Common mistakes

  • A sequence flow between 2 pools. A sequence flow can cross lanes but never leaves its pool. When work passes to another organisation, like the customer, use a dashed message flow.
  • A message flow between lanes of the same pool. Sales, Finance and Warehouse are teams in one organisation, so they hand work on with solid sequence flows. Message flows are only for talking to another pool.
  • A separate pool for each team. Teams inside your own company are lanes in one pool, not pools of their own. Keep pools for separate organisations, like Customer and Online shop.
  • Plain start and end events where a message is involved. If the process starts when an order arrives, use a Message Start event so the envelope shows the trigger. Use a Message End event when the process ends by sending something, like the tracking email.

When a business analyst uses this

In a current-state workshop on order handling, you draw the customer as a black box pool and your company as a pool with a lane for each team. The dashed message flows then show every point where the customer is contacted, so the group can check each one.

Questions people ask

What is the difference between a pool and a lane in BPMN?

A pool is one organisation or participant, like the customer or the online shop. Lanes split a pool into the teams or roles that do the work, like Sales, Finance and Warehouse.

Can a sequence flow go from one pool to another in BPMN?

No. A sequence flow can cross lanes inside a pool, but between pools you must use a message flow, drawn as a dashed line.

What is a black box pool in BPMN?

It is an empty pool for a participant whose steps you don't model, like the customer here. Message flows connect to the edge of the pool itself.

More in draw.io for Business Analysts