PagerDuty Component
PagerDuty is a platform for managing on-call operations. This component supports PagerDuty REST API V2.
Component key: pagerduty · · Changelog ↓Description
PagerDuty is an industry leading incident management tool.
Use the component to create and manage Incidents, events, and more.
API Documentation:
The component was built using the PagerDuty REST API
Connections
Api Key
key: pagerduty-api-keySteps to generate and use an API Key for PagerDuty:
- Log in to PagerDuty and navigate to Integrations | API Access Keys.
- Click the "Create New API Key" button.
- Enter a description for the API key. Check "Read-only API Key" if read-only behavior is desired.
- Click Create Key.
- Copy the provided API Key into the connection's configuration.
| Input | Notes | Example |
|---|---|---|
| Token |
OAuth 2.0
key: pagerduty-oauthSteps to generate app credentials for OAuth 2.0 for PagerDuty:
- Log in to PagerDuty and navigate to Integrations | App Registration.
- From the top menu, select Integrations.
- Select App Registration from the menu to navigate to the My Apps page.
- On the My Apps page, select New App. Enter a name for your app and a brief description.
- Check the box next to OAuth2.0 and/or Events Integration.
- For Authorization select one of the following:
- Scoped OAuth - New OAuth client that allows granular read or write access to PagerDuty resources like incidents, services, users, with other benefits.
- Use the table below to select Read or Write access to each Resource your integration will need access to.
- Classic User OAuth - Existing OAuth client that allows apps to act on behalf of users, with read or write to all PagerDuty resources.
- Assign a permission scope of Read or Read and Write
- Scoped OAuth - New OAuth client that allows granular read or write access to PagerDuty resources like incidents, services, users, with other benefits.
- In the Redirect URL field enter
https://oauth2.prismatic.io/callback - Select Register App
- Copy and save the Client ID and Client Secret into your integration.
| Input | Notes | Example |
|---|---|---|
| Authorize URL | The OAuth 2.0 Authorization URL for PagerDuty Code Grant | https://identity.pagerduty.com/oauth/authorize |
| Client ID | Client ID of your PagerDuty app | |
| Client Secret | Client Secret of your PagerDuty app | |
| Scopes | Classic User OAuth scope allowing read or read/write access to all resources. | write |
| Token URL | The OAuth 2.0 Token URL for PagerDuty Code Grant | https://identity.pagerduty.com/oauth/token |
Triggers
Incidents Trigger
Handle Incident webhook notifications from PagerDuty. | key: incidentsTrigger
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Incident Events | The events that trigger the webhook. | |
| Filter ID | The ID of the object being used as the filter. | sampleFilterId |
| Filter Type | The type of object being used as the filter. | |
| Webhook Description | The description of the webhook. | This Is An Example Description |
The Incidents Trigger receives webhook notifications from PagerDuty when incident events occur. This trigger automatically manages webhook subscriptions — the entire lifecycle is handled without manual configuration in the PagerDuty dashboard.
How It Works
When this trigger is used in a flow:
- On Instance Deploy: The trigger automatically creates a V3 webhook subscription in PagerDuty pointing to the instance's unique webhook URL. The subscription is configured with the selected incident events, a filter (by account, service, or team), and a description.
- On Instance Deletion: The trigger automatically removes all webhook subscriptions associated with the instance's webhook URLs from PagerDuty.
Configuration
Configure the following inputs:
- Incident Events: Select which incident events the webhook subscription should monitor. Multiple events can be selected.
- Webhook Description: A description for the webhook subscription created in PagerDuty.
- Filter ID: The ID of the PagerDuty object (account, service, or team) used to scope the webhook subscription.
- Filter Type: The type of object used as the filter — Account, Service, or Team.
Event Types
Available Incident Events (17)
| Event | Description |
|---|---|
incident.acknowledged | An incident is acknowledged |
incident.annotated | A note is added to an incident |
incident.conference_bridge.updated | An incident's conference bridge is updated |
incident.delegated | An incident is delegated |
incident.escalated | An incident is escalated |
incident.priority_updated | An incident's priority is updated |
incident.reassigned | An incident is reassigned |
incident.reopened | An incident is reopened |
incident.resolved | An incident is resolved |
incident.responder.added | A responder is added to an incident |
incident.responder.replied | A responder replies to an incident |
incident.service_updated | An incident's service is updated |
incident.status_update_published | A status update is published for an incident |
incident.triggered | An incident is triggered |
incident.unacknowledged | An incident is unacknowledged |
incident.workflow.started | An incident workflow is started |
incident.workflow.completed | An incident workflow is completed |
Refer to the PagerDuty webhooks documentation for the complete and up-to-date list of event types.
Returned Data
Example Payload
{
"event": {
"id": "01DEN0M0L0OCDNR0CDEVP4SRGH",
"event_type": "incident.triggered",
"resource_type": "incident",
"occurred_at": "2024-01-15T10:30:00.000Z",
"data": {
"id": "Q1P5SQEISWZ3K4",
"type": "incident",
"title": "Server is on fire",
"status": "triggered",
"urgency": "high",
"service": {
"id": "PF9KMXH",
"type": "service_reference",
"summary": "Production API"
}
}
}
}
Service Trigger
Handle Service webhook notifications from PagerDuty. | key: serviceTrigger
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Service Events. | The events that trigger the webhook. | |
| Filter ID | The ID of the object being used as the filter. | sampleFilterId |
| Filter Type | The type of object being used as the filter. | |
| Webhook Description | The description of the webhook. | This Is An Example Description |
The Service Trigger receives webhook notifications from PagerDuty when service events occur. This trigger works identically to the Incidents Trigger, automatically managing webhook subscriptions throughout the instance lifecycle.
See Incidents Trigger for complete documentation on how lifecycle management, configuration, and webhook subscriptions work.
Configuration
Configure the following inputs:
- Service Events: Select which service events the webhook subscription should monitor.
- Webhook Description: A description for the webhook subscription created in PagerDuty.
- Filter ID: The ID of the PagerDuty object (account, service, or team) used to scope the webhook subscription.
- Filter Type: The type of object used as the filter — Account, Service, or Team.
Event Types
Available Service Events (3)
| Event | Description |
|---|---|
service.created | A service is created |
service.deleted | A service is deleted |
service.updated | A service is updated |
Refer to the PagerDuty webhooks documentation for the complete and up-to-date list of event types.
Data Sources
Select Incident
Retrieve and select an incident. | key: selectIncident | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection |
Select Service
Retrieve and select a service. | key: selectService | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection |
Select Template
Retrieve and select a template. | key: selectTemplate | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection |
Select User
Retrieve and select a user. | key: selectUser | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection |
Actions
Create Incident
Create an Incident | key: createIncident
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Incident | JSON object body of the incident to be created |
Example Payload for Create Incident⤓
Create Incident Note
Create a note on an incident | key: createIncidentNote
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Incident ID | The ID of the Incident | PT4KHLK |
| Note | Note to create. |
Example Payload for Create Incident Note⤓
Create Service
Create a service | key: createService
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Service | JSON object body of the Service to create |
Example Payload for Create Service⤓
Create Template
Create a template in PagerDuty's API | key: createTemplate
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Template Object | JSON object body of the new Template to be created |
Example Payload for Create Template⤓
Create User
Create a user | key: createUser
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| User | JSON object body of the User to create. |
Example Payload for Create User⤓
Create Webhook Subscription
Create a webhook subscription | key: createWebhookSubscription
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Webhook Subscription |
Example Payload for Create Webhook Subscription⤓
Delete All Instance Webhooks
Delete all webhooks associated with this instance | key: deleteAllInstanceWebhooks
| Input | Notes | Example |
|---|---|---|
| Connection |
Delete Service
Delete a service | key: deleteService
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Service ID | The ID of the Service. |
Example Payload for Delete Service⤓
Delete Template
Delete a template | key: deleteTemplate
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Id | The ID of the Template. | PBZUP2B |
Example Payload for Delete Template⤓
Delete User
Delete a user | key: deleteUser
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Id | The ID of the User to update. |
Example Payload for Delete User⤓
Delete Webhook Subscription
Delete a webhook subscription | key: deleteWebhookSubscription
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Webhook ID. | The ID of the webhook. | sampleWebhookId |
Example Payload for Delete Webhook Subscription⤓
Enable Webhook Subscription
Enable a webhook subscription | key: enableWebhookSubscription
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Webhook ID. | The ID of the webhook. | sampleWebhookId |
Example Payload for Enable Webhook Subscription⤓
Get Change Event
Get a Change Event | key: getChangeEvent
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Event Id | The ID of the Change Event. | 12 |
Example Payload for Get Change Event⤓
Get Incident
Get an incident | key: getIncident
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Incident ID | The ID of the Incident | PT4KHLK |
| Include | Array of additional details to include |
Example Payload for Get Incident⤓
Get Incident Alert
Get an alert | key: getIncidentAlert
| Input | Notes | Example |
|---|---|---|
| Incident Alert ID | The ID of the Incident Alert | PT4KHLK |
| Connection | ||
| Incident ID | The ID of the Incident | PT4KHLK |
Example Payload for Get Incident Alert⤓
Get Service
Get a service | key: getService
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Service ID | The ID of the Service. | |
| Include | Array of additional details to include. |
Example Payload for Get Service⤓
Get Template
Get a template | key: getTemplate
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Id | The ID of the Template. | PBZUP2B |
Example Payload for Get Template⤓
Get User
Get a user | key: getUser
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Id | The ID of the User to update. | |
| Include | Array of additional Models to include in response. |
Example Payload for Get User⤓
Get Webhook Subscription
Get a webhook subscription | key: getWebhookSubscription
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Webhook ID. | The ID of the webhook. | sampleWebhookId |
Example Payload for Get Webhook Subscription⤓
List Change Events
List Change Events | key: listChangeEvents
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Fetch All | Performs pagination on this endpoint. | true |
| Integration Ids | An array of integration IDs. | PEYSGVF |
| Limit | The number of results per page. | 10 |
| Offset | Offset to start pagination search results. | 18 |
| Since | The start of the date range over which you want to search, as a UTC ISO 8601 datetime string. | 2020-07-17T07:42:58Z |
| Team Ids | An array of team IDs. | PEYSGVF |
| Total | By default the total field in pagination responses is set to null to provide the fastest possible response times. Set total to true for the response to be populated. | false |
| Until | The end of the date range over which you want to search, as a UTC ISO 8601 datetime string. | 2020-07-17T07:42:58Z |
Example Payload for List Change Events⤓
List Incident Alerts
List alerts for an incident | key: listIncidentAlerts
| Input | Notes | Example |
|---|---|---|
| Alert Key | Alert de-duplication key | baf7cf21b1da41b4b0221008339ff357 |
| Connection | ||
| Fetch All | Performs pagination on this endpoint. | true |
| Incident ID | The ID of the Incident | PT4KHLK |
| Include | Array of additional details to include | |
| Limit | The number of results per page. | 10 |
| Offset | Offset to start pagination search results. | 18 |
| Sort By | Used to specify both the field you wish to sort the results on (created_at/resolved_at), as well as the direction (asc/desc) of the results | |
| Statuses | Return only incidents with the given statuses | |
| Total | By default the total field in pagination responses is set to null to provide the fastest possible response times. Set total to true for the response to be populated. | false |
Example Payload for List Incident Alerts⤓
List Incident Notes
List notes for an incident | key: listIncidentNotes
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Incident ID | The ID of the Incident | PT4KHLK |
Example Payload for List Incident Notes⤓
List Incidents
List incidents | key: listIncidents
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Date Range | When set to all, the since and until parameters and defaults are ignored | |
| Fetch All | Performs pagination on this endpoint. | true |
| Incident Key | Incident de-duplication key | baf7cf21b1da41b4b0221008339ff357 |
| Include | Array of additional details to include | |
| Limit | The number of results per page. | 10 |
| Offset | Offset to start pagination search results. | 18 |
| Service Ids | Returns only the incidents associated with the passed service(s) | PIJ90N7 |
| Since | The start of the date range over which you want to search, as a UTC ISO 8601 datetime string. | 2020-07-17T07:42:58Z |
| Sort By | Used to specify both the field you wish to sort the results on (incident_number/created_at/resolved_at/urgency), as well as the direction (asc/desc) of the results | |
| Statuses | Return only incidents with the given statuses | |
| Team Ids | An array of team IDs. | PEYSGVF |
| Time Zone | TZInfo-formatted time zone in which results will be rendered | |
| Total | By default the total field in pagination responses is set to null to provide the fastest possible response times. Set total to true for the response to be populated. | false |
| Until | The end of the date range over which you want to search, as a UTC ISO 8601 datetime string. | 2020-07-17T07:42:58Z |
| Urgencies | Return only incidents with this urgency | |
| User Ids | Returns only the incidents currently assigned to the passed user(s) | PXPGF42 |
Example Payload for List Incidents⤓
List Notifications
List notifications | key: listNotifications
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Fetch All | Performs pagination on this endpoint. | true |
| Filter | Return notification of this type only | |
| Include | Array of additional details to include | |
| Limit | The number of results per page. | 10 |
| Offset | Offset to start pagination search results. | 18 |
| Since | The start of the date range over which you want to search, as a UTC ISO 8601 datetime string. | 2020-07-17T07:42:58Z |
| Time Zone | TZInfo-formatted time zone in which results will be rendered | |
| Total | By default the total field in pagination responses is set to null to provide the fastest possible response times. Set total to true for the response to be populated. | false |
| Until | The end of the date range over which you want to search, as a UTC ISO 8601 datetime string. | 2020-07-17T07:42:58Z |
Example Payload for List Notifications⤓
List Priorities
List priorities | key: listPriorities
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Fetch All | Performs pagination on this endpoint. | true |
| Limit | The number of results per page. | 10 |
| Offset | Offset to start pagination search results. | 18 |
| Total | By default the total field in pagination responses is set to null to provide the fastest possible response times. Set total to true for the response to be populated. | false |
Example Payload for List Priorities⤓
List Services
List services | key: listServices
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Fetch All | Performs pagination on this endpoint. | true |
| Include | Array of additional details to include. | |
| Limit | The number of results per page. | 10 |
| Name | Filters the results, showing only services with the specified name | My Service |
| Offset | Offset to start pagination search results. | 18 |
| Query | Filters the result, showing only the records whose name matches the query. | sampleName |
| Sort By | Used to specify the field you wish to sort the results on. | |
| Team Ids | An array of team IDs. | PEYSGVF |
| Time Zone | TZInfo-formatted time zone in which results will be rendered | |
| Total | By default the total field in pagination responses is set to null to provide the fastest possible response times. Set total to true for the response to be populated. | false |
Example Payload for List Services⤓
List Templates
List all templates | key: getTemplates
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Fetch All | Performs pagination on this endpoint. | true |
| Limit | The number of results per page. | 10 |
| Offset | Offset to start pagination search results. | 18 |
| Query | Template name or description to search | Template Name 1 |
| Sort By | Used to specify both the field you wish to sort the results on (name/created_at), as well as the direction (asc/desc) of the results | created_at:asc |
| Template Type | Filters templates by type. | status_update |
| Total | By default the total field in pagination responses is set to null to provide the fastest possible response times. Set total to true for the response to be populated. | false |
Example Payload for List Templates⤓
List Users
List all users | key: listUsers
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Fetch All | Performs pagination on this endpoint. | true |
| Include | Array of additional Models to include in response. | |
| Limit | The number of results per page. | 10 |
| Offset | Offset to start pagination search results. | 18 |
| Query | Filters the result, showing only the records whose name matches the query. | sampleName |
| Team Ids | An array of team IDs. | PEYSGVF |
| Total | By default the total field in pagination responses is set to null to provide the fastest possible response times. Set total to true for the response to be populated. | false |
Example Payload for List Users⤓
List Webhook Subscriptions
List webhook subscriptions | key: listWebhookSubscriptions
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Fetch All | Performs pagination on this endpoint. | true |
| Filter Id | The ID of the resource to filter upon. | 123 |
| Filter Type | The type of resource to filter upon. | |
| Limit | The number of results per page. | 10 |
| Offset | Offset to start pagination search results. | 18 |
| Total | By default the total field in pagination responses is set to null to provide the fastest possible response times. Set total to true for the response to be populated. | false |
Example Payload for List Webhook Subscriptions⤓
Manage Incident Alerts
Manage alerts | key: updateIncidentAlerts
| Input | Notes | Example |
|---|---|---|
| Alerts | An array of alert objects, including the parameters to update for each alert | |
| Connection | ||
| Incident ID | The ID of the Incident | PT4KHLK |
| Limit | The number of results per page. | 10 |
| Offset | Offset to start pagination search results. | 18 |
| Total | By default the total field in pagination responses is set to null to provide the fastest possible response times. Set total to true for the response to be populated. | false |
Example Payload for Manage Incident Alerts⤓
Manage Incidents
Manage Incidents | key: updateIncidents
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Incidents | An array of incidents, including the parameters to update. | |
| Limit | The number of results per page. | 10 |
| Offset | Offset to start pagination search results. | 18 |
| Total | By default the total field in pagination responses is set to null to provide the fastest possible response times. Set total to true for the response to be populated. | false |
Example Payload for Manage Incidents⤓
Raw Request
Issue a raw HTTP request | key: rawRequest
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| Debug Request | Enabling this flag will log out the current request. | false |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Query Parameter | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | false |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | This is the URL to call. | /sobjects/Account |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
Render Template
Render a template | key: renderTemplate
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Id | The ID of the Template. | PBZUP2B |
| Incident ID | The ID of the Incident | PT4KHLK |
| Update Message | An optional status update message that will be sent to the template. | Status update message |
Example Payload for Render Template⤓
Send Change Event
Send Change Event to Events API | key: sendChangeEvent
| Input | Notes | Example |
|---|---|---|
| Change Event To Send | The JSON object body of the event. |
Example Payload for Send Change Event⤓
Send Event
Sends PagerDuty a trigger event to report a new event | key: sendEvent
| Input | Notes | Example |
|---|---|---|
| Event to Send | The JSON object body of the event. |
Example Payload for Send Event⤓
Test Webhook Subscription
Test a webhook subscription | key: testWebhookSubscription
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Webhook ID. | The ID of the webhook. | sampleWebhookId |
Example Payload for Test Webhook Subscription⤓
Update Change Event
Update a Change Event | key: updateChangeEvent
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Change Event to Update | The JSON object body of the event. | |
| Event Id | The ID of the Change Event. | 12 |
Example Payload for Update Change Event⤓
Update Incident
Update an incident | key: updateIncident
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Incident ID | The ID of the Incident | PT4KHLK |
| Incident | The parameters of the incident to update |
Example Payload for Update Incident⤓
Update Incident Alert
Update an incident alert | key: updateIncidentAlert
| Input | Notes | Example |
|---|---|---|
| Alerts | An array of alert objects, including the parameters to update for each alert | |
| Incident Alert ID | The ID of the Incident Alert | PT4KHLK |
| Connection | ||
| Incident ID | The ID of the Incident | PT4KHLK |
Example Payload for Update Incident Alert⤓
Update Service
Update a service | key: updateService
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Service ID | The ID of the Service. | |
| Service | JSON object body of the Service to update |
Example Payload for Update Service⤓
Update Template
Update a template | key: updateTemplate
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Id | The ID of the Template. | PBZUP2B |
| Template | JSON object body of the Template to be updated |
Example Payload for Update Template⤓
Update User
Update a user | key: updateUser
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Id | The ID of the User to update. | |
| User | JSON object body of the User to create. |
Example Payload for Update User⤓
Update Webhook Subscription
Update a webhook subscription | key: updateWebhookSubscription
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Webhook ID. | The ID of the webhook. | sampleWebhookId |
| Update Webhook Payload | The updated webhook subscription object. |
Example Payload for Update Webhook Subscription⤓
Changelog
2026-04-30
Updated spectral version
2026-04-07
Various modernizations and documentation updates