If you've ever opened a BPMN model and wondered what those small icons, shapes, and letter codes actually mean, you're not alone. BPMN diagram type codes are the visual shorthand behind every business process model. Knowing them saves you from misreading workflows, building flawed models, or confusing your team with the wrong symbols. This guide breaks down each BPMN diagram type code, what it means, and how to use it correctly.
What Are BPMN Diagram Type Codes?
BPMN stands for Business Process Model and Notation. It's a standardized graphical notation used to map out business processes. Within BPMN, every element has a specific shape, symbol, or code assigned to it. These codes tell you exactly what kind of activity, event, or gateway you're looking at.
Think of them like traffic signs. A circle with a thin border means something different than a circle with a thick border. A diamond shape isn't just a diamond its internal markers tell you whether it's an exclusive decision, a parallel split, or an inclusive condition. Each code carries a precise meaning that process analysts, developers, and business stakeholders rely on.
You can explore a full breakdown of these elements in our BPMN diagram type codes and meanings reference.
Why Do These Codes Matter for Process Modeling?
BPMN is a shared language. When a business analyst in one department hands a process diagram to a developer in another, those codes are the contract. If the wrong symbol is used, the entire process logic can break down.
For example, using an event-based gateway when you mean an exclusive gateway changes how the system interprets the flow. One waits for external events; the other evaluates conditions. That's a real difference in behavior, not just appearance.
Accurate use of BPMN codes also supports compliance documentation, automation tooling, and process audits. Many BPM engines like Camunda, Bizagi, or Signavio parse these symbols directly to execute workflows. Wrong codes mean wrong execution.
What Are the Main BPMN Element Categories?
BPMN organizes its symbols into five core categories. Each category groups related diagram type codes together.
Flow Objects
These are the building blocks of any BPMN diagram. They include:
- Events Represented as circles. A thin border means a start event, a double border means an intermediate event, and a thick border means an end event. The icon inside the circle tells you the event type (timer, message, error, signal, etc.).
- Activities Shown as rounded rectangles. A single rectangle is a task; one with a small "+" icon is a sub-process. Internal markers indicate task types like user task, service task, script task, or manual task.
- Gateways Displayed as diamond shapes. The symbol inside determines the type: no symbol for exclusive, a "+" for parallel, an "O" for inclusive, and an asterisk or "E" for event-based or exclusive event-based gateways.
Connecting Objects
These link flow objects together:
- Sequence flow A solid arrow showing the order of activities.
- Message flow A dashed arrow with an open circle at the start and an open arrowhead at the end. Used between pools to show communication.
- Association A dotted line connecting artifacts (like text annotations) to flow objects.
Swimlanes
Swimlanes organize processes by role or department:
- Pool Represents a participant, like a department or an external organization.
- Lane A sub-partition within a pool, representing a specific role, team, or system.
Data
These represent information flowing through the process:
- Data object A page icon showing a document or data item involved in the process.
- Data input An arrow-shaped icon pointing into the process.
- Data output An arrow-shaped icon pointing out of the process.
- Data store A cylinder icon representing a database or persistent storage.
Artifacts
These add context without affecting the process flow:
- Text annotation A bracket-shaped box with explanatory notes.
- Group A dashed rounded rectangle used to visually group elements for documentation or analysis.
How Do BPMN Event Type Codes Work?
Events are some of the most commonly misread BPMN elements. The shape tells you when something happens; the icon inside tells you what triggers it.
Here are the most used event type codes:
- Timer (clock icon) Triggers based on a time condition, like a deadline or delay.
- Message (envelope icon) Triggered by receiving or sending a message.
- Error (lightning bolt) Catches an error thrown by a failed task or sub-process.
- Signal (triangle icon) Broadcasts or catches a signal across processes.
- Escalation (upward arrow) Used to escalate handling to a higher-level process.
- Conditional (document with lines) Triggers when a specific condition becomes true.
- Terminate (filled circle) Ends all active paths in a process immediately.
- Compensation (rewind icon) Triggers a compensation handler to undo a completed task.
- Link (arrow icon) Acts as a "go-to" to connect distant parts of the same diagram without a visible sequence flow.
A common mistake is confusing a boundary error event (attached to a task) with a catching error event (standalone on a sequence flow). They behave differently at runtime.
What Do the Different Gateway Codes Mean?
Gateways control how a process splits and merges. Getting them wrong changes the process logic entirely.
- Exclusive (XOR) Only one outgoing path is taken based on conditions. Often shown with or without an "X" inside.
- Parallel (AND) All outgoing paths are taken simultaneously. Marked with a "+" symbol.
- Inclusive (OR) One or more outgoing paths can be taken. Marked with an "O" symbol.
- Event-based The path taken depends on which event occurs first. The gateway itself has no symbol, but the following elements are intermediate catching events.
- Complex Used for conditions that don't fit the other types. Marked with an asterisk ().
A frequent error is using a parallel gateway where an inclusive gateway is needed. A parallel split waits for all branches to complete before merging. An inclusive gateway merges when the active branches complete. That distinction can create deadlocks if misused.
If you're comparing BPMN gateways to other diagramming approaches, our article on flowchart vs. sequence diagram differences covers how branching logic works across notations.
How Are BPMN Task Type Codes Different?
Tasks inside a BPMN activity can carry additional markers that define who or what performs the work:
- User task A human performs the work, typically through a UI or form.
- Service task An automated system or service executes the task.
- Script task A script or code block runs directly within the process engine.
- Manual task A human performs the work outside any system (e.g., signing a physical form).
- Business rule task A business rules engine evaluates and decides the outcome.
- Send task Sends a message to an external participant.
- Receive task Waits for a message from an external participant.
These task types directly affect how BPM software executes the process. A service task will call an API; a user task will pause and wait for a human to act. Using the wrong one leads to automation failures.
What's the Difference Between BPMN and UML Diagram Codes?
People sometimes mix up BPMN and UML codes because both use standardized symbols. But they serve different purposes. BPMN focuses on business process flow what happens, in what order, and who does it. UML focuses on software system design how objects, classes, and components interact.
A BPMN "task" is not the same as a UML "activity." A BPMN "message flow" is not the same as a UML "asynchronous message" on a sequence diagram. Mixing these up in documentation creates confusion between business and technical teams.
For a deeper look at UML symbols, check our breakdown of UML diagram types and their symbols.
Where Can I Find the Official BPMN Standard?
The BPMN specification is maintained by the Object Management Group (OMG). The current version is BPMN 2.0, which defines the full set of symbols, codes, and execution semantics. If you're building models that need to be interoperable or executable, referencing the official spec is the safest approach.
What Are Common Mistakes When Using BPMN Codes?
After reviewing hundreds of process models, these errors come up again and again:
- Using the wrong gateway type Exclusive vs. inclusive vs. parallel. This is the most frequent and most damaging mistake.
- Mixing message flow and sequence flow Message flows cross pool boundaries; sequence flows stay within a single pool. Using them interchangeably breaks the model's logic.
- Forgetting event types Leaving an event as a plain circle without specifying whether it's a timer, message, or error event leaves the meaning ambiguous.
- Overusing the complex gateway If you're reaching for the asterisk gateway often, the process logic probably needs simplification.
- Attaching boundary events to the wrong element Boundary events attach to activities, not gateways or other events.
- Skipping swimlanes Without pools and lanes, it's unclear who is responsible for each step. This causes confusion during handoffs.
Practical Tips for Reading and Writing BPMN Diagrams
- Always check the border thickness of events thin, double, or thick before reading the internal icon.
- When you see a diamond, look inside first. The internal symbol, not the shape, defines the gateway type.
- Use sub-processes (the "+" marker) to keep diagrams readable. Collapse detail into sub-processes instead of cramming everything onto one canvas.
- Label every sequence flow coming out of a gateway with its condition. Unlabeled flows are one of the top reasons process models get misinterpreted.
- Keep your pools and lanes consistent. One pool per collaborating entity; lanes within that pool for roles.
- Validate your diagram with a BPMN modeler tool before sharing it. Tools like Camunda Modeler, bpmn.io, or Signavio catch structural errors automatically.
Quick Reference Checklist for BPMN Diagram Type Codes
- Identify whether each event is a start, intermediate, or end event by its border
- Verify the internal icon for every event (timer, message, error, signal, etc.)
- Confirm the correct gateway type based on the internal symbol (X, +, O, , or none)
- Label all gateway outgoing flows with clear conditions
- Check that task types (user, service, script, manual) match the actual performer
- Use message flow (dashed) only between pools, sequence flow (solid) only within pools
- Add data objects and data stores where inputs/outputs are relevant
- Include text annotations for any logic that isn't obvious from the diagram alone
- Validate the diagram structure using a BPMN modeling tool
- Review against the BPMN 2.0 spec for any elements you're unsure about
Start by modeling one real process from your team using correct BPMN codes. Walk through it with a colleague and ask them to explain what each symbol means. If they hesitate on any element, that's a signal to clarify or relabel. Clean notation builds shared understanding and that's the whole point of BPMN.
Diagram Codes Reference Chart: a Beginner's Guide to Common Diagram Types
Flowchart vs Sequence Diagram: Key Differences Explained
Uml Diagram Types and Symbols: Complete Visual Reference Guide
Engineering Schematic Notation Standards Guide for Diagram Types
Best Diagram Code Editors for Software Architects in 2025
How to Create a Mermaid Diagram in Markdown Using Mermaid Syntax