On-call

On-call & runbooks

PulseBoard's built-in on-call catalog: users, rotation schedules with configurable shift lengths, override windows, and multi-step escalation policies — no external PagerDuty account required.

Users

Define users with name, email, phone, and linked notification receiver IDs. Users can be members of multiple rotations.

Rotation schedules

Each schedule has one or more rotations. A rotation is an ordered list of users with a shift length (hours) and a start timestamp. Override windows let you swap a specific user for a defined time range (vacation, illness, hand-off).

Escalation policies

An escalation policy is a multi-step ladder. Each step targets a schedule, a backup schedule, or a specific receiver. Configure the delay before each step fires.

POST /api/oncall/policies
{
  "name": "payments-critical",
  "steps": [
    {"target": {"kind":"schedule","id":"payments-primary"}, "delayMin": 0},
    {"target": {"kind":"schedule","id":"payments-backup"}, "delayMin": 15},
    {"target": {"kind":"receiver","id":"slack-payments"},  "delayMin": 30}
  ]
}

Who-is-on API

GET /api/oncall/whoison/<scheduleId>
# → {"user":"alice@acme.com","since":"2026-06-22T08:00Z","until":"2026-06-23T08:00Z"}

Inline runbooks

Attach a Markdown step-by-step runbook to any alert rule. When the alert fires, the on-call engineer opens the runbook drawer, checks off steps, and acknowledges. PulseBoard records step completion, MTTR, and acknowledgement timestamps.