Tutorials / Glossary / Timer Event

Timer Event

An event triggered by a schedule — a fixed date, a delay, or a recurring cycle — rather than by another element completing.

Submit Request Wait 24h Send Reminder

A timer event (drawn with a clock icon inside its circle) fires based on time rather than an incoming message or a completed task. A timer start event begins a new process instance on a schedule; a timer intermediate catch event pauses a running instance for a duration, until a specific date, or on a recurring cycle.

Timer values are ISO 8601: a duration like `PT1H` (one hour), a date-time like `2026-08-01T09:00:00Z`, or a recurring cycle like `R/PT24H` (every 24 hours). A timer boundary event (see Boundary Event) uses the same duration/date/cycle options to model timeouts.

Example

Bpmn.createProcess("reminder-flow")
  .startEvent("start")
  .userTask("submit-request", { name: "Submit Request" })
  .intermediateCatchEvent("wait-24h", { timerDuration: "PT24H" })
  .serviceTask("send-reminder", { taskType: "send-reminder-email" })
  .endEvent("end")
  .withAutoLayout()
  .build();