Operations

On-call and escalation

On-call is off-hours work by definition, so its reminders and escalations are never held back by the quiet gates. The chain walks itself until someone owns the problem.

Rotations

Add shifts one by one or import a whole rotation from CSV or XLSX. People are matched by chat ID or display name; unmatched names become placeholder users so nothing silently disappears. The calendar shows the primary and secondary per day, and the same shifts export back to CSV.

  • Reminders go to the primary the day before at 18:00 UTC, on the day at 09:00 UTC, and one hour before the shift starts.
  • Each person can see their own past and upcoming shifts.
user,start_at,end_at,role,notes
@omar:example.com,2026-06-01T09:00:00,2026-06-01T17:00:00,primary,Mon shift
Lina K.,2026-06-02T09:00:00,2026-06-02T17:00:00,secondary,Backup

The escalation chain

WhatsApp reach is outbound through the WhatsApp Business Cloud API with a template message; credentials are stored encrypted and a test send verifies them.

Immediatelythe primary is messaged directly and the ticket is assigned to them
After 5 minutesthe backup is paged (oncall_t1_minutes)
After 15 minutesa post in the fallback room and a WhatsApp message (oncall_t2_minutes)
On replya direct-message reply from the on-call auto-acknowledges the ticket

Hand-off recap

Every day at 09:00 the current primary of each team receives a recap: open blockers, open support tickets with high and urgent first, and open escalations. A clean board sends nothing.

pulse.oncall_handoff_enabled

Coverage and the score

  • Coverage metrics over 7, 30 or 90 days per team, and a list of every team with an active shift right now.
  • On-call and support load handled feeds the Responsibility pillar, which is additive-only: with no load the pillar drops and its weight is redistributed.
  • A leave request that overlaps a person’s on-call shift with no backup routes to a human so cover can be arranged.
  • The weekly manager digest flags next week’s coverage gaps.

Communication policy

Concerns about a person escalate by tier according to how often they have recurred, their severity and the person’s role: observe (log only), nudge in the room, direct message, warning, then action to an admin. Flexible accounts and superadmins are never nagged for routine matters, and active messaging is deferred during quiet hours. Critical concerns go straight to admin action.

dm.quiet_hours_enabled
dm.quiet_hours_start_hour
dm.quiet_hours_end_hour