Automate PagerDuty tasks via Rube MCP (Composio): manage incidents, services, schedules, escalation policies, and on-call rotations. Always search tools first for current schemas.
Add this skill
npx mdskills install sickn33/pagerduty-automationComprehensive PagerDuty automation with detailed workflows, pitfalls, and parameter guidance
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."4requires:5 mcp: [rube]6---78# PagerDuty Automation via Rube MCP910Automate PagerDuty incident management and operations through Composio's PagerDuty toolkit via Rube MCP.1112## Prerequisites1314- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)15- Active PagerDuty connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `pagerduty`16- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas1718## Setup1920**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.2122231. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds242. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `pagerduty`253. If connection is not ACTIVE, follow the returned auth link to complete PagerDuty authentication264. Confirm connection status shows ACTIVE before running any workflows2728## Core Workflows2930### 1. Manage Incidents3132**When to use**: User wants to create, update, acknowledge, or resolve incidents3334**Tool sequence**:351. `PAGERDUTY_FETCH_INCIDENT_LIST` - List incidents with filters [Required]362. `PAGERDUTY_RETRIEVE_INCIDENT_BY_INCIDENT_ID` - Get specific incident details [Optional]373. `PAGERDUTY_CREATE_INCIDENT_RECORD` - Create a new incident [Optional]384. `PAGERDUTY_UPDATE_INCIDENT_BY_ID` - Update incident status or assignment [Optional]395. `PAGERDUTY_POST_INCIDENT_NOTE_USING_ID` - Add a note to an incident [Optional]406. `PAGERDUTY_SNOOZE_INCIDENT_BY_DURATION` - Snooze an incident for a period [Optional]4142**Key parameters**:43- `statuses[]`: Filter by status ('triggered', 'acknowledged', 'resolved')44- `service_ids[]`: Filter by service IDs45- `urgencies[]`: Filter by urgency ('high', 'low')46- `title`: Incident title (for creation)47- `service`: Service object with `id` and `type` (for creation)48- `status`: New status for update operations4950**Pitfalls**:51- Incident creation requires a `service` object with both `id` and `type: 'service_reference'`52- Status transitions follow: triggered -> acknowledged -> resolved53- Cannot transition from resolved back to triggered directly54- `PAGERDUTY_UPDATE_INCIDENT_BY_ID` requires the incident ID as a path parameter55- Snooze duration is in seconds; the incident re-triggers after the snooze period5657### 2. Inspect Incident Alerts and Analytics5859**When to use**: User wants to review alerts within an incident or analyze incident metrics6061**Tool sequence**:621. `PAGERDUTY_GET_ALERTS_BY_INCIDENT_ID` - List alerts for an incident [Required]632. `PAGERDUTY_GET_INCIDENT_ALERT_DETAILS` - Get details of a specific alert [Optional]643. `PAGERDUTY_FETCH_INCIDENT_ANALYTICS_BY_ID` - Get incident analytics/metrics [Optional]6566**Key parameters**:67- `incident_id`: The incident ID68- `alert_id`: Specific alert ID within the incident69- `statuses[]`: Filter alerts by status7071**Pitfalls**:72- An incident can have multiple alerts; each alert has its own status73- Alert IDs are scoped to the incident74- Analytics data includes response times, engagement metrics, and resolution times7576### 3. Manage Services7778**When to use**: User wants to create, update, or list services7980**Tool sequence**:811. `PAGERDUTY_RETRIEVE_LIST_OF_SERVICES` - List all services [Required]822. `PAGERDUTY_RETRIEVE_SERVICE_BY_ID` - Get service details [Optional]833. `PAGERDUTY_CREATE_NEW_SERVICE` - Create a new technical service [Optional]844. `PAGERDUTY_UPDATE_SERVICE_BY_ID` - Update service configuration [Optional]855. `PAGERDUTY_CREATE_INTEGRATION_FOR_SERVICE` - Add an integration to a service [Optional]866. `PAGERDUTY_CREATE_BUSINESS_SERVICE` - Create a business service [Optional]877. `PAGERDUTY_UPDATE_BUSINESS_SERVICE_BY_ID` - Update a business service [Optional]8889**Key parameters**:90- `name`: Service name91- `escalation_policy`: Escalation policy object with `id` and `type`92- `alert_creation`: Alert creation mode ('create_alerts_and_incidents' or 'create_incidents')93- `status`: Service status ('active', 'warning', 'critical', 'maintenance', 'disabled')9495**Pitfalls**:96- Creating a service requires an existing escalation policy97- Business services are different from technical services; they represent business-level groupings98- Service integrations define how alerts are created (email, API, events)99- Disabling a service stops all incident creation for that service100101### 4. Manage Schedules and On-Call102103**When to use**: User wants to view or manage on-call schedules and rotations104105**Tool sequence**:1061. `PAGERDUTY_GET_SCHEDULES` - List all schedules [Required]1072. `PAGERDUTY_RETRIEVE_SCHEDULE_BY_ID` - Get specific schedule details [Optional]1083. `PAGERDUTY_CREATE_NEW_SCHEDULE_LAYER` - Create a new schedule [Optional]1094. `PAGERDUTY_UPDATE_SCHEDULE_BY_ID` - Update an existing schedule [Optional]1105. `PAGERDUTY_RETRIEVE_ONCALL_LIST` - View who is currently on-call [Optional]1116. `PAGERDUTY_CREATE_SCHEDULE_OVERRIDES_CONFIGURATION` - Create temporary overrides [Optional]1127. `PAGERDUTY_DELETE_SCHEDULE_OVERRIDE_BY_ID` - Remove an override [Optional]1138. `PAGERDUTY_RETRIEVE_USERS_BY_SCHEDULE_ID` - List users in a schedule [Optional]1149. `PAGERDUTY_PREVIEW_SCHEDULE_OBJECT` - Preview schedule changes before saving [Optional]115116**Key parameters**:117- `schedule_id`: Schedule identifier118- `time_zone`: Schedule timezone (e.g., 'America/New_York')119- `schedule_layers`: Array of rotation layer configurations120- `since`/`until`: Date range for on-call queries (ISO 8601)121- `override`: Override object with user, start, and end times122123**Pitfalls**:124- Schedule layers define rotation order; multiple layers can overlap125- Overrides are temporary and take precedence over the normal schedule126- `since` and `until` are required for on-call queries to scope the time range127- Time zones must be valid IANA timezone strings128- Preview before saving complex schedule changes to verify correctness129130### 5. Manage Escalation Policies131132**When to use**: User wants to create or modify escalation policies133134**Tool sequence**:1351. `PAGERDUTY_FETCH_ESCALATION_POLICES_LIST` - List all escalation policies [Required]1362. `PAGERDUTY_GET_ESCALATION_POLICY_BY_ID` - Get policy details [Optional]1373. `PAGERDUTY_CREATE_ESCALATION_POLICY` - Create a new policy [Optional]1384. `PAGERDUTY_UPDATE_ESCALATION_POLICY_BY_ID` - Update an existing policy [Optional]1395. `PAGERDUTY_AUDIT_ESCALATION_POLICY_RECORDS` - View audit trail for a policy [Optional]140141**Key parameters**:142- `name`: Policy name143- `escalation_rules`: Array of escalation rule objects144- `num_loops`: Number of times to loop through rules before stopping (0 = no loop)145- `escalation_delay_in_minutes`: Delay between escalation levels146147**Pitfalls**:148- Each escalation rule requires at least one target (user, schedule, or team)149- `escalation_delay_in_minutes` defines how long before escalating to the next level150- Setting `num_loops` to 0 means the policy runs once and stops151- Deleting a policy fails if services still reference it152153### 6. Manage Teams154155**When to use**: User wants to create or manage PagerDuty teams156157**Tool sequence**:1581. `PAGERDUTY_CREATE_NEW_TEAM_WITH_DETAILS` - Create a new team [Required]159160**Key parameters**:161- `name`: Team name162- `description`: Team description163164**Pitfalls**:165- Team names must be unique within the account166- Teams are used to scope services, escalation policies, and schedules167168## Common Patterns169170### ID Resolution171172**Service name -> Service ID**:173```1741. Call PAGERDUTY_RETRIEVE_LIST_OF_SERVICES1752. Find service by name in response1763. Extract id field177```178179**Schedule name -> Schedule ID**:180```1811. Call PAGERDUTY_GET_SCHEDULES1822. Find schedule by name in response1833. Extract id field184```185186### Incident Lifecycle187188```1891. Incident triggered (via API, integration, or manual creation)1902. On-call user notified per escalation policy1913. User acknowledges -> status: 'acknowledged'1924. User resolves -> status: 'resolved'193```194195### Pagination196197- PagerDuty uses offset-based pagination198- Check response for `more` boolean field199- Use `offset` and `limit` parameters200- Continue until `more` is false201202## Known Pitfalls203204**ID Formats**:205- All PagerDuty IDs are alphanumeric strings (e.g., 'P1234AB')206- Service references require `type: 'service_reference'`207- User references require `type: 'user_reference'`208209**Status Transitions**:210- Incidents: triggered -> acknowledged -> resolved (forward only)211- Services: active, warning, critical, maintenance, disabled212213**Rate Limits**:214- PagerDuty API enforces rate limits per account215- Implement exponential backoff on 429 responses216- Bulk operations should be spaced out217218**Response Parsing**:219- Response data may be nested under `data` or `data.data`220- Parse defensively with fallback patterns221- Pagination uses `offset`/`limit`/`more` pattern222223## Quick Reference224225| Task | Tool Slug | Key Params |226|------|-----------|------------|227| List incidents | PAGERDUTY_FETCH_INCIDENT_LIST | statuses[], service_ids[] |228| Get incident | PAGERDUTY_RETRIEVE_INCIDENT_BY_INCIDENT_ID | incident_id |229| Create incident | PAGERDUTY_CREATE_INCIDENT_RECORD | title, service |230| Update incident | PAGERDUTY_UPDATE_INCIDENT_BY_ID | incident_id, status |231| Add incident note | PAGERDUTY_POST_INCIDENT_NOTE_USING_ID | incident_id, content |232| Snooze incident | PAGERDUTY_SNOOZE_INCIDENT_BY_DURATION | incident_id, duration |233| Get incident alerts | PAGERDUTY_GET_ALERTS_BY_INCIDENT_ID | incident_id |234| Incident analytics | PAGERDUTY_FETCH_INCIDENT_ANALYTICS_BY_ID | incident_id |235| List services | PAGERDUTY_RETRIEVE_LIST_OF_SERVICES | (none) |236| Get service | PAGERDUTY_RETRIEVE_SERVICE_BY_ID | service_id |237| Create service | PAGERDUTY_CREATE_NEW_SERVICE | name, escalation_policy |238| Update service | PAGERDUTY_UPDATE_SERVICE_BY_ID | service_id |239| List schedules | PAGERDUTY_GET_SCHEDULES | (none) |240| Get schedule | PAGERDUTY_RETRIEVE_SCHEDULE_BY_ID | schedule_id |241| Get on-call | PAGERDUTY_RETRIEVE_ONCALL_LIST | since, until |242| Create schedule override | PAGERDUTY_CREATE_SCHEDULE_OVERRIDES_CONFIGURATION | schedule_id |243| List escalation policies | PAGERDUTY_FETCH_ESCALATION_POLICES_LIST | (none) |244| Create escalation policy | PAGERDUTY_CREATE_ESCALATION_POLICY | name, escalation_rules |245| Create team | PAGERDUTY_CREATE_NEW_TEAM_WITH_DETAILS | name, description |246
Full transparency — inspect the skill content before installing.