PagerDuty Automation via Rube MCP
Automate PagerDuty incident management and operations through Composio's PagerDuty toolkit via Rube MCP.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active PagerDuty connection via
RUBE_MANAGE_CONNECTIONS with toolkit pagerduty
- Always call
RUBE_SEARCH_TOOLS first to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLS responds
- Call
RUBE_MANAGE_CONNECTIONS with toolkit pagerduty
- If connection is not ACTIVE, follow the returned auth link to complete PagerDuty authentication
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Manage Incidents
When to use: User wants to create, update, acknowledge, or resolve incidents
Tool sequence:
PAGERDUTY_FETCH_INCIDENT_LIST - List incidents with filters [Required]
PAGERDUTY_RETRIEVE_INCIDENT_BY_INCIDENT_ID - Get specific incident details [Optional]
PAGERDUTY_CREATE_INCIDENT_RECORD - Create a new incident [Optional]
PAGERDUTY_UPDATE_INCIDENT_BY_ID - Update incident status or assignment [Optional]
PAGERDUTY_POST_INCIDENT_NOTE_USING_ID - Add a note to an incident [Optional]
PAGERDUTY_SNOOZE_INCIDENT_BY_DURATION - Snooze an incident for a period [Optional]
Key parameters:
statuses[]: Filter by status ('triggered', 'acknowledged', 'resolved')
service_ids[]: Filter by service IDs
urgencies[]: Filter by urgency ('high', 'low')
title: Incident title (for creation)
service: Service object with id and type (for creation)
status: New status for update operations
Pitfalls:
- Incident creation requires a
service object with both id and type: 'service_reference'
- Status transitions follow: triggered -> acknowledged -> resolved
- Cannot transition from resolved back to triggered directly
PAGERDUTY_UPDATE_INCIDENT_BY_ID requires the incident ID as a path parameter
- Snooze duration is in seconds; the incident re-triggers after the snooze period
2. Inspect Incident Alerts and Analytics
When to use: User wants to review alerts within an incident or analyze incident metrics
Tool sequence:
PAGERDUTY_GET_ALERTS_BY_INCIDENT_ID - List alerts for an incident [Required]
PAGERDUTY_GET_INCIDENT_ALERT_DETAILS - Get details of a specific alert [Optional]
PAGERDUTY_FETCH_INCIDENT_ANALYTICS_BY_ID - Get incident analytics/metrics [Optional]
Key parameters:
incident_id: The incident ID
alert_id: Specific alert ID within the incident
statuses[]: Filter alerts by status
Pitfalls:
- An incident can have multiple alerts; each alert has its own status
- Alert IDs are scoped to the incident
- Analytics data includes response times, engagement metrics, and resolution times
3. Manage Services
When to use: User wants to create, update, or list services
Tool sequence:
PAGERDUTY_RETRIEVE_LIST_OF_SERVICES - List all services [Required]
PAGERDUTY_RETRIEVE_SERVICE_BY_ID - Get service details [Optional]
PAGERDUTY_CREATE_NEW_SERVICE - Create a new technical service [Optional]
PAGERDUTY_UPDATE_SERVICE_BY_ID - Update service configuration [Optional]
PAGERDUTY_CREATE_INTEGRATION_FOR_SERVICE - Add an integration to a service [Optional]
PAGERDUTY_CREATE_BUSINESS_SERVICE - Create a business service [Optional]
PAGERDUTY_UPDATE_BUSINESS_SERVICE_BY_ID - Update a business service [Optional]
Key parameters:
name: Service name
escalation_policy: Escalation policy object with id and type
alert_creation: Alert creation mode ('create_alerts_and_incidents' or 'create_incidents')
status: Service status ('active', 'warning', 'critical', 'maintenance', 'disabled')
Pitfalls:
- Creating a service requires an existing escalation policy
- Business services are different from technical services; they represent business-level groupings
- Service integrations define how alerts are created (email, API, events)
- Disabling a service stops all incident creation for that service
4. Manage Schedules and On-Call
When to use: User wants to view or manage on-call schedules and rotations
Tool sequence:
PAGERDUTY_GET_SCHEDULES - List all schedules [Required]
PAGERDUTY_RETRIEVE_SCHEDULE_BY_ID - Get specific schedule details [Optional]
PAGERDUTY_CREATE_NEW_SCHEDULE_LAYER - Create a new schedule [Optional]
PAGERDUTY_UPDATE_SCHEDULE_BY_ID - Update an existing schedule [Optional]
PAGERDUTY_RETRIEVE_ONCALL_LIST - View who is currently on-call [Optional]
PAGERDUTY_CREATE_SCHEDULE_OVERRIDES_CONFIGURATION - Create temporary overrides [Optional]
PAGERDUTY_DELETE_SCHEDULE_OVERRIDE_BY_ID - Remove an override [Optional]
PAGERDUTY_RETRIEVE_USERS_BY_SCHEDULE_ID - List users in a schedule [Optional]
PAGERDUTY_PREVIEW_SCHEDULE_OBJECT - Preview schedule changes before saving [Optional]
Key parameters:
schedule_id: Schedule identifier
time_zone: Schedule timezone (e.g., 'America/New_York')
schedule_layers: Array of rotation layer configurations
since/until: Date range for on-call queries (ISO 8601)
override: Override object with user, start, and end times
Pitfalls:
- Schedule layers define rotation order; multiple layers can overlap
- Overrides are temporary and take precedence over the normal schedule
since and until are required for on-call queries to scope the time range
- Time zones must be valid IANA timezone strings
- Preview before saving complex schedule changes to verify correctness
5. Manage Escalation Policies
When to use: User wants to create or modify escalation policies
Tool sequence:
PAGERDUTY_FETCH_ESCALATION_POLICES_LIST - List all escalation policies [Required]
PAGERDUTY_GET_ESCALATION_POLICY_BY_ID - Get policy details [Optional]
PAGERDUTY_CREATE_ESCALATION_POLICY - Create a new policy [Optional]
PAGERDUTY_UPDATE_ESCALATION_POLICY_BY_ID - Update an existing policy [Optional]
PAGERDUTY_AUDIT_ESCALATION_POLICY_RECORDS - View audit trail for a policy [Optional]
Key parameters:
name: Policy name
escalation_rules: Array of escalation rule objects
num_loops: Number of times to loop through rules before stopping (0 = no loop)
escalation_delay_in_minutes: Delay between escalation levels
Pitfalls:
- Each escalation rule requires at least one target (user, schedule, or team)
escalation_delay_in_minutes defines how long before escalating to the next level
- Setting
num_loops to 0 means the policy runs once and stops
- Deleting a policy fails if services still reference it
6. Manage Teams
When to use: User wants to create or manage PagerDuty teams
Tool sequence:
PAGERDUTY_CREATE_NEW_TEAM_WITH_DETAILS - Create a new team [Required]
Key parameters:
name: Team name
description: Team description
Pitfalls:
- Team names must be unique within the account
- Teams are used to scope services, escalation policies, and schedules
Common Patterns
ID Resolution
Service name -> Service ID:
1. Call PAGERDUTY_RETRIEVE_LIST_OF_SERVICES
2. Find service by name in response
3. Extract id field
Schedule name -> Schedule ID:
1. Call PAGERDUTY_GET_SCHEDULES
2. Find schedule by name in response
3. Extract id field
Incident Lifecycle
1. Incident triggered (via API, integration, or manual creation)
2. On-call user notified per escalation policy
3. User acknowledges -> status: 'acknowledged'
4. User resolves -> status: 'resolved'
Pagination
- PagerDuty uses offset-based pagination
- Check response for
more boolean field
- Use
offset and limit parameters
- Continue until
more is false
Known Pitfalls
ID Formats:
- All PagerDuty IDs are alphanumeric strings (e.g., 'P1234AB')
- Service references require
type: 'service_reference'
- User references require
type: 'user_reference'
Status Transitions:
- Incidents: triggered -> acknowledged -> resolved (forward only)
- Services: active, warning, critical, maintenance, disabled
Rate Limits:
- PagerDuty API enforces rate limits per account
- Implement exponential backoff on 429 responses
- Bulk operations should be spaced out
Response Parsing:
- Response data may be nested under
data or data.data
- Parse defensively with fallback patterns
- Pagination uses
offset/limit/more pattern
Quick Reference
| Task |
Tool Slug |
Key Params |
| List incidents |
PAGERDUTY_FETCH_INCIDENT_LIST |
statuses[], service_ids[] |
| Get incident |
PAGERDUTY_RETRIEVE_INCIDENT_BY_INCIDENT_ID |
incident_id |
| Create incident |
PAGERDUTY_CREATE_INCIDENT_RECORD |
title, service |
| Update incident |
PAGERDUTY_UPDATE_INCIDENT_BY_ID |
incident_id, status |
| Add incident note |
PAGERDUTY_POST_INCIDENT_NOTE_USING_ID |
incident_id, content |
| Snooze incident |
PAGERDUTY_SNOOZE_INCIDENT_BY_DURATION |
incident_id, duration |
| Get incident alerts |
PAGERDUTY_GET_ALERTS_BY_INCIDENT_ID |
incident_id |
| Incident analytics |
PAGERDUTY_FETCH_INCIDENT_ANALYTICS_BY_ID |
incident_id |
| List services |
PAGERDUTY_RETRIEVE_LIST_OF_SERVICES |
(none) |
| Get service |
PAGERDUTY_RETRIEVE_SERVICE_BY_ID |
service_id |
| Create service |
PAGERDUTY_CREATE_NEW_SERVICE |
name, escalation_policy |
| Update service |
PAGERDUTY_UPDATE_SERVICE_BY_ID |
service_id |
| List schedules |
PAGERDUTY_GET_SCHEDULES |
(none) |
| Get schedule |
PAGERDUTY_RETRIEVE_SCHEDULE_BY_ID |
schedule_id |
| Get on-call |
PAGERDUTY_RETRIEVE_ONCALL_LIST |
since, until |
| Create schedule override |
PAGERDUTY_CREATE_SCHEDULE_OVERRIDES_CONFIGURATION |
schedule_id |
| List escalation policies |
PAGERDUTY_FETCH_ESCALATION_POLICES_LIST |
(none) |
| Create escalation policy |
PAGERDUTY_CREATE_ESCALATION_POLICY |
name, escalation_rules |
| Create team |
PAGERDUTY_CREATE_NEW_TEAM_WITH_DETAILS |
name, description |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Source: sickn33/agentic-awesome-skills → skills/pagerduty-automation/SKILL.md
Also appears in: sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills/skills/pagerduty-automation/SKILL.md, sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills-claude/skills/pagerduty-automation/SKILL.md
1---2name: pagerduty-automation3description: Automate PagerDuty tasks via Rube MCP (Composio): manage incidents, services, schedules, escalation policies, and on-call rotations. Always search tools first for current schemas.4---567# PagerDuty Automation via Rube MCP89Automate PagerDuty incident management and operations through Composio's PagerDuty toolkit via Rube MCP.1011## Prerequisites1213- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)14- Active PagerDuty connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `pagerduty`15- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas1617## Setup1819**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.2021221. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds232. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `pagerduty`243. If connection is not ACTIVE, follow the returned auth link to complete PagerDuty authentication254. Confirm connection status shows ACTIVE before running any workflows2627## Core Workflows2829### 1. Manage Incidents3031**When to use**: User wants to create, update, acknowledge, or resolve incidents3233**Tool sequence**:341. `PAGERDUTY_FETCH_INCIDENT_LIST` - List incidents with filters [Required]352. `PAGERDUTY_RETRIEVE_INCIDENT_BY_INCIDENT_ID` - Get specific incident details [Optional]363. `PAGERDUTY_CREATE_INCIDENT_RECORD` - Create a new incident [Optional]374. `PAGERDUTY_UPDATE_INCIDENT_BY_ID` - Update incident status or assignment [Optional]385. `PAGERDUTY_POST_INCIDENT_NOTE_USING_ID` - Add a note to an incident [Optional]396. `PAGERDUTY_SNOOZE_INCIDENT_BY_DURATION` - Snooze an incident for a period [Optional]4041**Key parameters**:42- `statuses[]`: Filter by status ('triggered', 'acknowledged', 'resolved')43- `service_ids[]`: Filter by service IDs44- `urgencies[]`: Filter by urgency ('high', 'low')45- `title`: Incident title (for creation)46- `service`: Service object with `id` and `type` (for creation)47- `status`: New status for update operations4849**Pitfalls**:50- Incident creation requires a `service` object with both `id` and `type: 'service_reference'`51- Status transitions follow: triggered -> acknowledged -> resolved52- Cannot transition from resolved back to triggered directly53- `PAGERDUTY_UPDATE_INCIDENT_BY_ID` requires the incident ID as a path parameter54- Snooze duration is in seconds; the incident re-triggers after the snooze period5556### 2. Inspect Incident Alerts and Analytics5758**When to use**: User wants to review alerts within an incident or analyze incident metrics5960**Tool sequence**:611. `PAGERDUTY_GET_ALERTS_BY_INCIDENT_ID` - List alerts for an incident [Required]622. `PAGERDUTY_GET_INCIDENT_ALERT_DETAILS` - Get details of a specific alert [Optional]633. `PAGERDUTY_FETCH_INCIDENT_ANALYTICS_BY_ID` - Get incident analytics/metrics [Optional]6465**Key parameters**:66- `incident_id`: The incident ID67- `alert_id`: Specific alert ID within the incident68- `statuses[]`: Filter alerts by status6970**Pitfalls**:71- An incident can have multiple alerts; each alert has its own status72- Alert IDs are scoped to the incident73- Analytics data includes response times, engagement metrics, and resolution times7475### 3. Manage Services7677**When to use**: User wants to create, update, or list services7879**Tool sequence**:801. `PAGERDUTY_RETRIEVE_LIST_OF_SERVICES` - List all services [Required]812. `PAGERDUTY_RETRIEVE_SERVICE_BY_ID` - Get service details [Optional]823. `PAGERDUTY_CREATE_NEW_SERVICE` - Create a new technical service [Optional]834. `PAGERDUTY_UPDATE_SERVICE_BY_ID` - Update service configuration [Optional]845. `PAGERDUTY_CREATE_INTEGRATION_FOR_SERVICE` - Add an integration to a service [Optional]856. `PAGERDUTY_CREATE_BUSINESS_SERVICE` - Create a business service [Optional]867. `PAGERDUTY_UPDATE_BUSINESS_SERVICE_BY_ID` - Update a business service [Optional]8788**Key parameters**:89- `name`: Service name90- `escalation_policy`: Escalation policy object with `id` and `type`91- `alert_creation`: Alert creation mode ('create_alerts_and_incidents' or 'create_incidents')92- `status`: Service status ('active', 'warning', 'critical', 'maintenance', 'disabled')9394**Pitfalls**:95- Creating a service requires an existing escalation policy96- Business services are different from technical services; they represent business-level groupings97- Service integrations define how alerts are created (email, API, events)98- Disabling a service stops all incident creation for that service99100### 4. Manage Schedules and On-Call101102**When to use**: User wants to view or manage on-call schedules and rotations103104**Tool sequence**:1051. `PAGERDUTY_GET_SCHEDULES` - List all schedules [Required]1062. `PAGERDUTY_RETRIEVE_SCHEDULE_BY_ID` - Get specific schedule details [Optional]1073. `PAGERDUTY_CREATE_NEW_SCHEDULE_LAYER` - Create a new schedule [Optional]1084. `PAGERDUTY_UPDATE_SCHEDULE_BY_ID` - Update an existing schedule [Optional]1095. `PAGERDUTY_RETRIEVE_ONCALL_LIST` - View who is currently on-call [Optional]1106. `PAGERDUTY_CREATE_SCHEDULE_OVERRIDES_CONFIGURATION` - Create temporary overrides [Optional]1117. `PAGERDUTY_DELETE_SCHEDULE_OVERRIDE_BY_ID` - Remove an override [Optional]1128. `PAGERDUTY_RETRIEVE_USERS_BY_SCHEDULE_ID` - List users in a schedule [Optional]1139. `PAGERDUTY_PREVIEW_SCHEDULE_OBJECT` - Preview schedule changes before saving [Optional]114115**Key parameters**:116- `schedule_id`: Schedule identifier117- `time_zone`: Schedule timezone (e.g., 'America/New_York')118- `schedule_layers`: Array of rotation layer configurations119- `since`/`until`: Date range for on-call queries (ISO 8601)120- `override`: Override object with user, start, and end times121122**Pitfalls**:123- Schedule layers define rotation order; multiple layers can overlap124- Overrides are temporary and take precedence over the normal schedule125- `since` and `until` are required for on-call queries to scope the time range126- Time zones must be valid IANA timezone strings127- Preview before saving complex schedule changes to verify correctness128129### 5. Manage Escalation Policies130131**When to use**: User wants to create or modify escalation policies132133**Tool sequence**:1341. `PAGERDUTY_FETCH_ESCALATION_POLICES_LIST` - List all escalation policies [Required]1352. `PAGERDUTY_GET_ESCALATION_POLICY_BY_ID` - Get policy details [Optional]1363. `PAGERDUTY_CREATE_ESCALATION_POLICY` - Create a new policy [Optional]1374. `PAGERDUTY_UPDATE_ESCALATION_POLICY_BY_ID` - Update an existing policy [Optional]1385. `PAGERDUTY_AUDIT_ESCALATION_POLICY_RECORDS` - View audit trail for a policy [Optional]139140**Key parameters**:141- `name`: Policy name142- `escalation_rules`: Array of escalation rule objects143- `num_loops`: Number of times to loop through rules before stopping (0 = no loop)144- `escalation_delay_in_minutes`: Delay between escalation levels145146**Pitfalls**:147- Each escalation rule requires at least one target (user, schedule, or team)148- `escalation_delay_in_minutes` defines how long before escalating to the next level149- Setting `num_loops` to 0 means the policy runs once and stops150- Deleting a policy fails if services still reference it151152### 6. Manage Teams153154**When to use**: User wants to create or manage PagerDuty teams155156**Tool sequence**:1571. `PAGERDUTY_CREATE_NEW_TEAM_WITH_DETAILS` - Create a new team [Required]158159**Key parameters**:160- `name`: Team name161- `description`: Team description162163**Pitfalls**:164- Team names must be unique within the account165- Teams are used to scope services, escalation policies, and schedules166167## Common Patterns168169### ID Resolution170171**Service name -> Service ID**:172```1731. Call PAGERDUTY_RETRIEVE_LIST_OF_SERVICES1742. Find service by name in response1753. Extract id field176```177178**Schedule name -> Schedule ID**:179```1801. Call PAGERDUTY_GET_SCHEDULES1812. Find schedule by name in response1823. Extract id field183```184185### Incident Lifecycle186187```1881. Incident triggered (via API, integration, or manual creation)1892. On-call user notified per escalation policy1903. User acknowledges -> status: 'acknowledged'1914. User resolves -> status: 'resolved'192```193194### Pagination195196- PagerDuty uses offset-based pagination197- Check response for `more` boolean field198- Use `offset` and `limit` parameters199- Continue until `more` is false200201## Known Pitfalls202203**ID Formats**:204- All PagerDuty IDs are alphanumeric strings (e.g., 'P1234AB')205- Service references require `type: 'service_reference'`206- User references require `type: 'user_reference'`207208**Status Transitions**:209- Incidents: triggered -> acknowledged -> resolved (forward only)210- Services: active, warning, critical, maintenance, disabled211212**Rate Limits**:213- PagerDuty API enforces rate limits per account214- Implement exponential backoff on 429 responses215- Bulk operations should be spaced out216217**Response Parsing**:218- Response data may be nested under `data` or `data.data`219- Parse defensively with fallback patterns220- Pagination uses `offset`/`limit`/`more` pattern221222## Quick Reference223224| Task | Tool Slug | Key Params |225|------|-----------|------------|226| List incidents | PAGERDUTY_FETCH_INCIDENT_LIST | statuses[], service_ids[] |227| Get incident | PAGERDUTY_RETRIEVE_INCIDENT_BY_INCIDENT_ID | incident_id |228| Create incident | PAGERDUTY_CREATE_INCIDENT_RECORD | title, service |229| Update incident | PAGERDUTY_UPDATE_INCIDENT_BY_ID | incident_id, status |230| Add incident note | PAGERDUTY_POST_INCIDENT_NOTE_USING_ID | incident_id, content |231| Snooze incident | PAGERDUTY_SNOOZE_INCIDENT_BY_DURATION | incident_id, duration |232| Get incident alerts | PAGERDUTY_GET_ALERTS_BY_INCIDENT_ID | incident_id |233| Incident analytics | PAGERDUTY_FETCH_INCIDENT_ANALYTICS_BY_ID | incident_id |234| List services | PAGERDUTY_RETRIEVE_LIST_OF_SERVICES | (none) |235| Get service | PAGERDUTY_RETRIEVE_SERVICE_BY_ID | service_id |236| Create service | PAGERDUTY_CREATE_NEW_SERVICE | name, escalation_policy |237| Update service | PAGERDUTY_UPDATE_SERVICE_BY_ID | service_id |238| List schedules | PAGERDUTY_GET_SCHEDULES | (none) |239| Get schedule | PAGERDUTY_RETRIEVE_SCHEDULE_BY_ID | schedule_id |240| Get on-call | PAGERDUTY_RETRIEVE_ONCALL_LIST | since, until |241| Create schedule override | PAGERDUTY_CREATE_SCHEDULE_OVERRIDES_CONFIGURATION | schedule_id |242| List escalation policies | PAGERDUTY_FETCH_ESCALATION_POLICES_LIST | (none) |243| Create escalation policy | PAGERDUTY_CREATE_ESCALATION_POLICY | name, escalation_rules |244| Create team | PAGERDUTY_CREATE_NEW_TEAM_WITH_DETAILS | name, description |245246## When to Use247This skill is applicable to execute the workflow or actions described in the overview.248249## Limitations250- Use this skill only when the task clearly matches the scope described above.251- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.252- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.253254---255256**Source:** [`sickn33/agentic-awesome-skills`](https://github.com/sickn33/agentic-awesome-skills) → `skills/pagerduty-automation/SKILL.md`257258**Also appears in:** `sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills/skills/pagerduty-automation/SKILL.md`, `sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills-claude/skills/pagerduty-automation/SKILL.md`