DEV Community

Crismo Team
Crismo Team

Posted on • Originally published at processcamp.io

BPMN Collaboration Diagrams: Pools, Message Flows, and B2B Processes

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

Pool Lane
Represents An organization or independent system A role or department within an organization
Sequence flows can cross? No - use message flows instead Yes
Has its own process? Yes - each pool is an independent process No - lanes share the pool's process
When to use Customer + Supplier, Company + Bank, System A + System B Sales + 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

BPMN Event Types

Message events are the backbone of collaborations.

What is BPMN?

Pools and lanes are one of the five building blocks.

BPMN Examples

Interactive diagrams using pools and lanes.

Common BPMN Mistakes

Sequence flows crossing pools is the #4 mistake.

Keep learning

Practice collaborations

The Travel Agency

Complex collaboration across organizations.

Related guide

BPMN Event Types

Message events power collaboration diagrams.

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.

Top comments (0)