Incident response

On-Call Management

Create duty schedules, assign rotations and overrides, connect on-call teams to services, and configure multi-level escalation policies.

On-Call & Duty Management

MonoDuty's on-call management lets you organize your team's duty schedules, define rotation patterns, and ensure the right person is always available to respond to incidents. When an alert fires, MonoDuty routes notifications to whoever is currently on-call.

How It Works Create duty schedules with rotations, assign team members, and connect schedules to services. When an incident triggers on a service, MonoDuty automatically notifies the current on-call person and follows the escalation policy if they don't respond.

Key Features

  • Flexible Rotations β€” Daily, weekly, or custom rotation schedules
  • Team Groups β€” Organize team members into groups for rotation
  • Override Schedules β€” Temporary on-call overrides for vacations or swaps
  • Escalation Policies β€” Multi-level escalation when on-call doesn't respond
  • Calendar View β€” Visual duty calendar showing who's on-call and when
  • Notification Preferences β€” Each team member can set their preferred contact method

Creating Duty Schedules

Via Dashboard

  1. Navigate to Dashboard β†’ Duty Management
  2. Click "Create Schedule"
  3. Set the rotation type (Daily, Weekly, Custom)
  4. Add team members to the rotation
  5. Set the start date and handoff time
  6. Link the schedule to one or more services

Rotation Types

TypeDescriptionBest For
DailyRotate on-call person every daySmall teams (2–4 people)
WeeklyRotate on-call person every weekMedium teams (4–8 people)
CustomDefine your own rotation intervalComplex schedules, shift-based teams

Escalation Policies

Escalation policies define what happens when the on-call person doesn't acknowledge an incident. You can configure multiple escalation levels with different notification channels and delays.

Example Escalation Policy

{
  "escalation_policy": {
    "name": "Production Escalation",
    "rules": [
      {
        "delay_minutes": 0,
        "targets": [{"type": "on_call", "channel": "EMAIL"}]
      },
      {
        "delay_minutes": 5,
        "targets": [{"type": "on_call", "channel": "SMS"}]
      },
      {
        "delay_minutes": 10,
        "targets": [{"type": "on_call", "channel": "CALL"}]
      },
      {
        "delay_minutes": 15,
        "targets": [{"type": "team_lead", "channel": "CALL"}]
      }
    ]
  }
}
Always Have a Fallback We recommend always configuring at least 3 escalation levels and including a team lead or manager as the final escalation target. This ensures no critical incident goes unnoticed.