PagerDuty Integration

Pro v1.0.0

Manage PagerDuty incidents, services, schedules, and on-call rotations directly from Claude Code

Requires Claude Code CLI

This skill integrates with PagerDuty through Claude Code. Install Claude Code and add this skill to use it.

Available Actions

List Incidents

Retrieve all incidents, optionally filtered by status (triggered, acknowledged, resolved)

Parameters

Name Type Required Description
status string Optional Comma-separated list of statuses to filter by

Returns

array List of incidents with ID, number, title, status, urgency, and service

Try saying...

  • "Show me all triggered incidents in PagerDuty"
  • "List all open PagerDuty incidents"
  • "What incidents are currently acknowledged?"

Get Incident Details

Retrieve detailed information about a specific incident

Parameters

Name Type Required Description
incident_id string Required The PagerDuty incident ID

Returns

object Complete incident details including timeline, assignments, and metadata

Try saying...

  • "Get details for PagerDuty incident ABC123"
  • "Show me the full details of incident PABC123"

Acknowledge Incident

Acknowledge an incident to indicate you are working on it

Parameters

Name Type Required Description
incident_id string Required The PagerDuty incident ID to acknowledge

Returns

object Updated incident object with acknowledged status

Try saying...

  • "Acknowledge PagerDuty incident ABC123"
  • "Mark incident PABC123 as acknowledged"
  • "Ack the incident PABC123"

Resolve Incident

Mark an incident as resolved

Parameters

Name Type Required Description
incident_id string Required The PagerDuty incident ID to resolve

Returns

object Updated incident object with resolved status

Try saying...

  • "Resolve PagerDuty incident ABC123"
  • "Mark incident PABC123 as resolved"
  • "Close incident PABC123"

List Services

Retrieve all PagerDuty services in your account

Returns

array List of services with ID, name, status, and escalation policy

Try saying...

  • "Show me all PagerDuty services"
  • "List all services in PagerDuty"
  • "What services do we have configured?"

List Schedules

Retrieve all on-call schedules

Returns

array List of schedules with ID, name, and time zone

Try saying...

  • "List all PagerDuty schedules"
  • "Show me the on-call schedules"
  • "What schedules exist in PagerDuty?"

Get On-Call Information

See who is currently on-call, optionally filtered by schedule

Parameters

Name Type Required Description
schedule_id string Optional Optional schedule ID to filter by

Returns

array List of on-call assignments with user, schedule, escalation policy, and time range

Try saying...

  • "Who is on-call right now in PagerDuty?"
  • "Show me the current on-call engineers"
  • "Who's on-call for schedule XYZ?"

List Users

Retrieve all users in your PagerDuty account

Returns

array List of users with ID, name, email, and role

Try saying...

  • "List all users in PagerDuty"
  • "Show me all PagerDuty team members"
  • "Who has access to PagerDuty?"

Trigger Incident

Create a new incident using the Events API v2

Parameters

Name Type Required Description
service_integration_key string Required The service integration key (routing key) from Events API v2
description string Required Description of the incident

Returns

object Event response with status and dedup_key

Try saying...

  • "Trigger a PagerDuty incident for service XYZ"
  • "Create a new incident: High CPU usage"
  • "Alert the on-call team about database issues"

Getting Started

API Key Easy Setup
  1. 1 Go to PagerDuty Web App > Integrations > Developer Tools > API Access Keys
  2. 2 Click 'Create New API Key'
  3. 3 Enter a description and optionally select 'Read-only API Key'
  4. 4 Copy the key (shown only once)
  5. 5 Add to shell config: echo 'export PAGERDUTY_API_KEY="YOUR_KEY"' >> ~/.zshrc
  6. 6 Add your email: echo 'export PAGERDUTY_USER_EMAIL="your.email@example.com"' >> ~/.zshrc
  7. 7 Restart terminal or run: source ~/.zshrc

Verify Setup

python scripts/client.py list-users

Success: Returns JSON list of users without errors

Security & Access

Access Scope

API keys grant access based on type: General Access keys have full account access (optionally read-only), User Token keys are limited to the user's permissions. The key can read and modify incidents, services, schedules, users, and all other PagerDuty resources within the granted scope.

  • General Access API keys grant full account access - treat them as highly sensitive credentials
  • Never commit API keys to version control
  • Consider using read-only keys when write access is not needed
  • User Token keys are safer for individual use as they inherit user permissions
  • The From header email must match a valid PagerDuty user for incident modifications
  • API keys do not expire automatically - rotate them regularly

Limitations

  • Incident updates (acknowledge, resolve) require PAGERDUTY_USER_EMAIL to be set
  • Events API (trigger incident) uses integration keys, not service IDs
  • Some endpoints may require additional permissions based on user role
  • Read-only API keys cannot modify data

Get This Skill

Requires Pro subscription ($9/month)

Quick Reference

Type
PYTHON_SDK
Auth
API Key
Setup
Easy Setup
Tools Required
Bash
Python Dependencies
pagerduty>=6.0.0

Have Feedback?

Help us improve this skill by sharing your ideas and suggestions.

Request Improvements