The StatusDashboard PagerDuty integration allows incident events to be created and resolved automatically in your StatusDashboard environment whenever incidents are created and resolved in your PagerDuty environment - this includes automatically updating any relevant status dashboards, and broadcasting notifications to subscribers.
At this time, the PagerDuty integration is uni-directional: incidents created/updated in a PagerDuty environment will update StatusDashboard, but incidents created/updated in the StatusDashboard environment will not update PagerDuty.
The PagerDuty integration settings can be accessed in the StatusDashboard administration portal by navigating to: Integrations > PagerDuty.
How it works
The integration works by configuring your PagerDuty account to send webhooks to a custom StatusDashboard endpoint whenever an incident is created or resolved. The PagerDuty webhooks contain important information about the event like a PagerDuty event ID, a PagerDuty service, and basic information about the incident event. StatusDashboard uses this information to manage a corollary event in your StatusDashboard account, and to notify your customers when changes happen (if configured to do so).
PagerDuty Configuration
In order to configure your PagerDuty account to send webhooks to StatusDashboard, login to PagerDuty and browse to Integrations > Generic Webhooks (v3). From here, click on the Add Webhook button and input the following values:
Setting | Value |
Webhook URL |
This is the StatusDashboard Webhook Url where PagerDuty will send webhooks about incident events. You can obtain this Url by logging into the StatusDashboard administration portal and navigating to Integrations > PagerDuty > Webhook Endpoint. Note: If the StatusDashboard webhook endpoint is regenerated, it will need to be updated here. |
Scope Type |
Set this value to:
|
Events |
Select the following event types:
|
Note: Once you click the Add Webhook button to create the integration, you will be shown the PagerDuty webhook secret. This is the only time you will have access to this secret to save this value for use in completing the StatusDashboard configuration in the next section.
StatusDashboard Configuration
In order to configure your StatusDashboard account to receive webhooks sent from PagerDuty, login to the StatusDashboard administration portal and navigate to Integrations > PagerDuty. The StatusDashboard configuration options are shown below:
Integration Settings
Setting | Value |
PagerDuty Webhook Secret | Enter the webhook secret value that was provided by PagerDuty when creating the webhook integration in your PagerDuty account. All webhooks sent by PagerDuty are signed using this unique secret which allows StatusDashboard to validate the webhooks as coming from your PagerDuty account before accepting them. |
Webhook Endpoint |
This is the unique webhook endpoint that is attached to your StatusDashboard account to which PagerDuty will send all webhooks. Note: If the webhook endpoint is regenerated, it will need to be updated in the PagerDuty integration. |
Custom Description (optional) |
By default, the title sent by PagerDuty in the webhook payload will be used for the event description. You can override this setting by defining a custom description here that will set the description for all incident events created by PagerDuty. Note: The custom description can be further overridden on a per-service basis by editing the service settings in StatusDashboard. |
Notifications (optional) |
Notifications can be sent to subscribers whenever incident events are created or resolved by PagerDuty by enabling them here. Note: Only enabled notification methods will be shown here. If a notification method is not shown, it must be configured and enabled first. |
Service Settings
In order for StatusDashboard to map PagerDuty services to StatusDashboard services when incident events are created, a mapping must exist between the two organizations. This mapping is accomplished by adding the PagerDuty service id as an attribute of the StatusDashboard service.
Locate the PagerDuty service ID by logging into your PagerDuty account and navigating to Services > Service Directory. From here, click on any service and observe the 7 character service ID at the end of the Url string (for example: P6GGSES). This PagerDuty service ID should be added to the corresponding StatusDashboard service by navigating to Services > Edit > PagerDuty > Service ID in the StatusDashboard administration portal.
Note: The PagerDuty service configuration settings will only be visible in the StatusDashboard administration portal when the PagerDuty integration is enabled.
Important Considerations
- StatusDashboard currently only supports incident events sent from PagerDuty - all other event types are ignored.
- StatusDashboard currently only supports incident.triggered and incident.resolved event statuses sent from PagerDuty - all over event statuses are ignored.
- When a PagerDuty event is triggered and a webhook is sent to StatusDashboard, the PagerDuty event ID is set on the StatusDashboard event. This event ID is used when subsequent webhooks are received from PagerDuty to identify the event in StatusDashboard.
- Events created by PagerDuty can still be updated manually by StatusDashboard administrators.
- If StatusDashboard receives an incident.resolved event type in a PagerDuty webhook for an incident event that has already been resolved in StatusDashboard (for example, by an administrator), this webhook will be ignored.