Swimlanes

Pool

The rectangular container representing a participant — an organization, system or role. A Pool contains one process (or is a black box) and talks to other Pools only through Message Flows.

The Pool answers *who participates*: a company, a department, a customer, an external system. Everything inside belongs to that participant; communication between Pools happens exclusively through dashed Message Flows — sequence flows can never cross a Pool border.

Internally, a Pool may be divided into Lanes to separate roles within the same participant.

When to use and avoid

When to use

  • To model collaborations between different participants (Customer × Store).

  • When message exchanges between organizations/systems must be shown.

  • To delimit each party's responsibility precisely.

When NOT to use

  • To separate roles inside the same participant — that's what Lanes do.

  • In single-participant models with no external interaction — the Pool frame is optional noise.

  • Expecting sequence flows to cross Pools — invalid; use message flows.

Business example

Customer and Store collaborating

Diagrama BPMN: Customer and Store collaborating
Customer and Store collaborating

Open this example in the HEFLO process editor and explore the diagram from the inside.

Open in the HEFLO editor →

Step by step

  1. The Customer Pool is a black box — we only see its messages.
  2. The Store Pool (highlighted) receives the order via a message start, processes it, and confirms by message.
  3. The dashed connectors are Message Flows — the only legal channel between Pools; note no sequence flow crosses the border.

Differences

Pool vs Lane

Pool = autonomous participant (message flows between Pools). Lane = internal subdivision of a Pool (sequence flows cross lanes freely). Who participates → Pool; who does what inside → Lane.

White-box vs black-box Pool

A white-box Pool exposes its internal process. A black-box Pool is drawn empty: only its message exchanges are visible. Use black boxes for partners whose internals are unknown or irrelevant.

FAQ

Can a sequence flow connect two Pools?

Never — sequence flows live inside one Pool. Between Pools, only Message Flows.

How many processes fit in one Pool?

Exactly one (or none, for black boxes). Multiple participants means multiple Pools.

Related elements