BPMN Collaboration Diagrams

When a process involves multiple organizations — a customer and a supplier, a company and its bank — you need a collaboration diagram. Pools show who, message flows show how they talk.

What is a collaboration diagram?

A collaboration diagram shows how two or more participants interact. Each participant gets their own pool, and message flows (dashed arrows) show the communication between them.

This is the key difference from a regular process diagram: in a collaboration, you can see both sides of the interaction. A customer sees the order from their perspective. The supplier sees it from theirs. The collaboration diagram shows both, connected.

Pools, lanes, and message flows

Pool

A pool represents a participant — an organization, a department, or a system. Each pool has its own process. Sequence flows (solid arrows) stay within a pool. They never cross pool boundaries.

Lane

A lane subdivides a pool into roles or departments. Lanes are optional. A pool with two lanes (e.g., "Sales" and "Warehouse") shows who does what within the same organization. Sequence flows can cross lane boundaries.

Message flow

A dashed arrow with an open circle. Connects elements in different pools. Represents communication: an email, an API call, a letter, a phone call. Message flows never connect elements within the same pool.

Pools vs lanes: the rule

PoolLane
RepresentsAn organization or independent systemA role or department within an organization
Sequence flows can cross?No — use message flows insteadYes
Has its own process?Yes — each pool is an independent processNo — lanes share the pool's process
When to useCustomer + Supplier, Company + Bank, System A + System BSales + Warehouse, HR + Manager + Employee

The rule of thumb: if the participants can see each other's internal process, use lanes. If they cannot (separate organizations, separate systems), use pools.

Black-box pools

Sometimes you know that an external participant exists but you do not know (or care about) their internal process. In this case, use a collapsed pool — a thin horizontal bar with just the participant name. No tasks, no events, no flow inside.

This is called a black-box pool. You can still send and receive messages to/from it. It represents the boundary of your knowledge: "I know I send them an order and they send me a confirmation, but I do not model what they do internally."

Common patterns

Request-response

Pool A sends a message to Pool B. Pool B processes the request and sends a response back. Two message flows, one in each direction. The most common collaboration pattern.

Notification

One-way message. Pool A sends a message to Pool B (or a black-box pool) without waiting for a response. Example: sending an order confirmation email.

Multi-party handshake

Three or more pools exchanging messages. Example: a buyer orders from a supplier, the supplier requests shipping from a logistics company, the logistics company confirms delivery to the buyer.

Common mistakes

  • -Sequence flows crossing pools — this is the #1 mistake. Sequence flows stay within a pool. Use message flows to cross pool boundaries.
  • -Message flows within a pool — the opposite mistake. If two elements are in the same pool, connect them with sequence flows, not message flows.
  • -Using lanes when pools are needed — if the participants are separate organizations with separate systems, they need separate pools. Lanes imply shared process ownership.
  • -Forgetting message events — when a message flow arrives at a pool, something needs to catch it. Use a message start event, message intermediate catch event, or receive task.

Related guides

Keep learning

Frequently asked questions

When should I use a collaboration diagram instead of a process diagram?

When two or more independent organizations or systems interact. If the process stays within one organization, a process diagram with lanes is usually enough.

Can a pool have no internal process?

Yes. A collapsed (black-box) pool shows only the participant name. You can send and receive messages to it without modeling its internal process.

Can I have more than two pools?

Yes. A collaboration can have any number of pools. A common example: a buyer, a supplier, and a logistics company in a three-pool collaboration.

What is the difference between a pool and a lane?

A pool represents an independent participant (organization or system). A lane subdivides a pool into roles. Sequence flows cross lanes but never cross pools — use message flows instead.