From pagerduty
Manages PagerDuty on-call: views current on-call users, lists/manages schedules and rotations, configures escalation policies, creates overrides, handles teams.
How this skill is triggered — by the user, by Claude, or both
Slash command
/pagerduty:oncallThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
PagerDuty's on-call system manages who receives pages for each service. Schedules define rotation layers (who is on-call when), and escalation policies define what happens if a page isn't acknowledged (Tier 1 → Tier 2 → Tier 3). For MSPs, PagerDuty on-call management typically covers internal SRE/IT rotations and can be configured per-customer if using multi-account setups.
PagerDuty's on-call system manages who receives pages for each service. Schedules define rotation layers (who is on-call when), and escalation policies define what happens if a page isn't acknowledged (Tier 1 → Tier 2 → Tier 3). For MSPs, PagerDuty on-call management typically covers internal SRE/IT rotations and can be configured per-customer if using multi-account setups.
| Tool | Description | Key Parameters |
|---|---|---|
list_oncalls | Who is currently on-call for each schedule | schedule_ids[], user_ids[], escalation_policy_ids[], since, until |
list_schedules | List all on-call schedules | query (name search), team_ids[] |
get_schedule | Get schedule with rotation layers and current on-call | id, since, until |
create_schedule | Create a new on-call schedule | name, time_zone, schedule_layers[] |
update_schedule | Update schedule details or layers | id |
delete_schedule | Delete a schedule | id |
list_schedule_overrides | List temporary overrides | id, since, until |
| Tool | Description | Key Parameters |
|---|---|---|
list_escalation_policies | List all escalation policies | query, team_ids[] |
get_escalation_policy | Get policy details and rules | id |
| Tool | Description |
|---|---|
list_teams | List all teams |
list_team_members | List members of a team |
add_team_member | Add a user to a team |
A PagerDuty schedule is composed of:
Tier 1: Primary on-call responder (5 min to ack)
↓ (if not acknowledged)
Tier 2: Secondary responder or team lead (10 min to ack)
↓ (if not acknowledged)
Tier 3: Engineering manager
↓ (if not acknowledged)
Tier 4: Repeat (or broadcast to whole team)
Each tier targets either a schedule (on-call rotation) or specific users. The escalation timeout is configurable per tier.
| Field | Description |
|---|---|
start | When this layer starts |
rotation_type | daily / weekly / custom |
rotation_turn_length_seconds | How long each person is on-call |
users[] | Ordered list of responders in rotation |
restrictions[] | Active time windows for this layer |
list_oncalls with no filters to see all current on-call entriesschedule_ids[] or escalation_policy_ids[] to narrow to a specific service teamuser (who is on-call), schedule, and escalation_policy for each entrystart and end timestamps show when their shift endsget_schedule with id and since (now) / until (next 2 weeks)final_schedule.rendered_schedule_entries — the computed on-call assignmentsWhen someone is unavailable during their shift:
list_schedulesupdate_schedule or use the PagerDuty API directly:
user: the covering responderstart / end: the override periodlist_schedule_overrides on the schedule IDBefore handing off to the incoming on-call:
list_oncalls to confirm the current and incoming responderslist_incidents with statuses[]=triggered&statuses[]=acknowledged to find open incidentslist_incident_notes to capture the current investigation statelist_escalation_policies to find the policy for the affected serviceget_escalation_policy with the IDWhen a rotation has a coverage gap (no one assigned):
list_schedule_overrides to see existing overrides during the gapget_schedule for the gap period| Field | Description |
|---|---|
escalation_policy.id | The escalation policy this on-call is part of |
schedule.id | The schedule driving this on-call entry |
user.id / user.name | The on-call responder |
start | When this person's on-call period started |
end | When their on-call period ends |
escalation_level | Which tier (1 = primary, 2 = secondary) |
| Error | Cause | Resolution |
|---|---|---|
| Schedule not found | Invalid schedule ID | List schedules with list_schedules to find valid IDs |
| User not in account | Invalid user ID for override | List users with list_users |
| Override conflict | Overlapping override exists | Check with list_schedule_overrides first |
| 401 Unauthorized | Wrong auth format | Use Token token=<key> not Bearer |
list_oncalls to confirm the right person is on-callsince/until on list_oncalls — To see future on-call assignments, not just currentnpx claudepluginhub wyre-technology/msp-claude-plugins --plugin pagerdutyManages Better Stack on-call schedules, rotations, calendars, escalation/notification policies, and queries current on-call responders for incident response.
Automates PagerDuty incident management, alerts, and analytics via Composio's PagerDuty toolkit through Rube MCP. Useful for creating, updating, snoozing, and resolving incidents.
Automates PagerDuty incident management, services, schedules, escalation policies, and on-call rotations via Rube MCP (Composio) toolkit.