Something went wrong!
Hang in there while we get back on track
PagerDuty Integration
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
- 1 Go to PagerDuty Web App > Integrations > Developer Tools > API Access Keys
- 2 Click 'Create New API Key'
- 3 Enter a description and optionally select 'Read-only API Key'
- 4 Copy the key (shown only once)
- 5 Add to shell config: echo 'export PAGERDUTY_API_KEY="YOUR_KEY"' >> ~/.zshrc
- 6 Add your email: echo 'export PAGERDUTY_USER_EMAIL="your.email@example.com"' >> ~/.zshrc
- 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
Documentation
Have Feedback?
Help us improve this skill by sharing your ideas and suggestions.
Request Improvements