BPMN Event Types

Events are the circles in BPMN. They mark when something happens — a process starts, a message arrives, a timer fires, an error occurs. Here is the complete guide.

How to read BPMN events

Every BPMN event has two visual properties:

  • 1.Circle border tells you the position: thin = start, double = intermediate, bold = end.
  • 2.Icon inside tells you the type: envelope = message, clock = timer, lightning = error, and so on.

Additionally, a filled (solid) icon means the event throws (sends something). An outline icon means it catches (waits for something).

Start events

Thin circleWhat triggers the process.

None

Process is started manually or by the system.

Reference →

Message

An email, API call, or message arrives.

Reference →

Timer

A specific date/time or recurring schedule.

Reference →

Signal

A broadcast signal is received (multiple processes can listen).

Reference →

Conditional

A business condition becomes true (e.g., stock drops below threshold).

Reference →

Intermediate events

Double circleSomething happens during the process.

Timer

Wait for a duration or specific time before continuing.

Reference →

Message (catch)

Wait for an incoming message before continuing.

Reference →

Message (throw)

Send a message to another participant.

Reference →

Signal (throw)

Broadcast a signal to all listening processes.

Reference →

Link

Connect two parts of a diagram (off-page connector).

Reference →

Escalation (throw)

Escalate to a higher-level process or handler.

Reference →

Boundary events

Double circle on task borderAn event that happens while a task or sub-process is running.

Timer

Task takes too long — trigger an alternative path.

Reference →

Error

An error occurs inside the task or sub-process.

Reference →

Message

A message arrives while the task is running.

Reference →

Escalation

An escalation is raised inside a sub-process.

Reference →

Conditional

A business condition becomes true during the task.

Reference →

End events

Bold circleHow the process (or a path) finishes.

None

The path simply ends.

Reference →

Message

The process ends by sending a message.

Reference →

Error

The process ends with an error (caught by parent sub-process).

Reference →

Terminate

Immediately kills all remaining tokens in the process.

Reference →

Signal

The process ends by broadcasting a signal.

Reference →

Escalation

The process ends by raising an escalation to the parent.

Reference →

Interrupting vs non-interrupting

Boundary events and event sub-process start events can be either interrupting or non-interrupting:

Interrupting (solid border)

Cancels the activity it is attached to. The normal flow stops, and the exception path takes over. Example: an error boundary event on a sub-process.

Non-interrupting (dashed border)

Triggers a parallel path without stopping the activity. Both the normal flow and the event path run concurrently. Example: a timer that sends reminders every 24 hours.

Which events do I actually need?

BPMN defines many event types, but most processes only use a few:

-80% of processes: none start, none end, timer intermediate (for waits)
-Cross-organization processes: add message start/intermediate/end events
-Executable processes: add error events for exception handling, timer boundary events for timeouts
-Complex enterprise models: signals, escalation, compensation, cancel

Start with the basics and add event types only when the process requires them.

Related guides

Keep learning

Frequently asked questions

How many event types are there in BPMN?

BPMN 2.0 defines 13 event types (none, message, timer, error, escalation, cancel, compensation, conditional, link, signal, terminate, multiple, parallel multiple). Combined with three positions (start, intermediate, end) and throw/catch, this creates over 50 possible event variants.

What is the difference between a message event and a signal event?

A message is point-to-point — sent to a specific recipient. A signal is a broadcast — every process listening for that signal receives it. Think email (message) vs announcement over the intercom (signal).

What is a boundary event?

A boundary event is attached to the border of a task or sub-process. It triggers when something happens while that activity is running — for example, a timer boundary event fires if the task takes too long.