Timer Events are among the most powerful mechanisms in BPMN for automating delays, schedules, reminders, and timeout handling. However, many people use them to show duration of Tasks, “waiting up to X days”, or general business delays that simply don’t work the way BPMN defines Timers.
This article explains how BPMN Timer Events really work, using clear examples and pointing out common modeling mistakes. If you want to improve the quality of your BPMN diagrams and avoid typical errors, this guide will help you.
Before diving into each Event type, here is a summary of the Timer definitions available in BPMN.

A BPMN Timer expression is basically a simple numeric expression that describes when something should occur:
A Timer never describes how long an Activity lasts. It tells us when the Process starts or when the next step may continue.
A Timer Start Event automatically starts a new Process at a specific time or on a repeating schedule. No human interaction required.
There are two common types:

In the first example, the Process begins on a single scheduled date: June 1, 2025, when the company launches a new website.
This is a perfect use case for a date-based Timer Start Event - a one-time scheduled business event.

The second example shows a daily reporting Process starting automatically at 8:00 every day:
This is the correct usage of a repeating cyclic Timer Start Event.
Timer Intermediate Events appear in the middle of a Process, not at the start. They force the Process to wait before moving on.
There are two main patterns:

After replying to a customer, the Process must wait exactly 24 hours before sending a follow-up email.
This is correct because:
This is a classic duration-based Intermediate Timer Event.

A report is reviewed, but approval should only happen on the first day of the next month.
This is a correct use of a date-based Intermediate Timer Event.
Many BPMN models misuse Timers to show how long a Task takes or to indicate “up to” waiting periods. Let’s look at the examples and why they are wrong.
Example: Showing that “Prepare workstation” takes 2 days by placing a Timer Event afterward.
Why it’s incorrect:
Correct approach: If an Activity usually takes two days, this should be noted in the documentation.
Example: Putting a Timer after “Send proposal” with “up to 5 days”.
Why this is wrong:
Why this is dangerous: You risk ignoring early messages from the customer.
Correct approach: Use an Event-Based Gateway if you need to react sooner (explained later).
Now let’s look at correct modeling techniques for two very important scenarios.
Example: Approving a purchase request
When a new request comes in, it goes for review. If the review takes longer than two days, a Timer triggers and the request is automatically escalated to the department head. After the review is completed, a decision is made. If the request is approved, the procurement team is notified so they can proceed. If the request is rejected, a rejection message is sent to inform the requester.
A Timer Boundary Event is attached to an Activity. Its purpose: interrupt the Task if it takes too long.
Non-Interrupting Timer Boundary Event Example
Not every timeout should stop the Task. Sometimes the work must continue, but the business still wants visibility when something takes too long. This is where a Non-Interrupting Timer Boundary Event is used.
Example: Resolving a customer issue.
Imagine a Process for handling new customer issues. When an issue arrives, a support agent begins working on it right away in the Task “Resolve customer issue”. Normally, issues should be handled quickly. The company has a rule:
If resolving the issue takes more than 30 minutes, notify the manager - but do NOT interrupt the work.
To model this correctly:
This pattern allows the process to track deadlines and alert supervisors without stopping the ongoing work. It is ideal for reminders, SLA monitoring, and escalating visibility while allowing the original Task to proceed normally.
Example: Sending a quote to a customer
When the Process should stop and listen for multiple possible Events, one of which is time-based, you must use an Event-Based Gateway, not a Timer alone.
Correct patterns:
Why this requires an Event-Based Gateway?
A simple Timer Event alone would force the Process to always wait 5 days, even when the customer responds earlier.
The Event-Based Gateway solves this by listening for multiple possible events:
Whichever happens first triggers the next step.
BPMN Timer Events define when something should happen - specific dates, times, durations, or cycles - not how long tasks last.
Timer Start Events automatically begin a process on a schedule. Intermediate Timer Events add delays within a Process.
Avoid using Timers to show Task duration or “wait up to” periods since Timers always wait the full time.
Use Timer Boundary Events to set deadlines (interrupting or non-interrupting), and use an Event-Based Gateway with a Timer when the Process must react to whichever Event happens first.
Timers handle timing and deadlines - not Task length - and must be combined with the right elements to reflect real business behavior.