ServiceNow v6 Integration Guide | PagerDuty

❗️

Version No Longer Supported

ServiceNow version six is not supported on the latest ServiceNow versions. PagerDuty does not perform new development on this version of the feature, and handles bug fixes on a case-by-case basis.

ServiceNow and PagerDuty Integration Benefits

ServiceNow offers advanced automation and process workflow for the enterprise environment. This integration allows you to leverage ServiceNow’s workflow and ticketing capabilities with PagerDuty’s robust on-call scheduling, notifications, and escalations.

How It Works

Communication between ServiceNow and PagerDuty is bi-directional, allowing incidents to be acknowledged, delegated (reassigned to another group), and resolved in either system. The integration supports the following workflows:

  • Third-party monitoring tool integrations detect an issue and trigger an incident in PagerDuty. You receive notifications from PagerDuty and can acknowledge or resolve the incident via PagerDuty. A ServiceNow ticket opens when a PagerDuty incident triggers and stays in sync for the lifecycle of the incident.
  • A ticket is filed in ServiceNow, which automatically triggers an incident in PagerDuty and notifies you. You take ownership via PagerDuty, and information from PagerDuty stays in sync with ServiceNow.

Requirements

ServiceNow Requirements

You require a ServiceNow Administrator role to configure the integration. This article details installing version six of the ServiceNow integration, which is certified for ServiceNow Kingston, London, Madrid, New York, and Orlando.

PagerDuty Requirements

  • The ServiceNow integration is available only to accounts on the Business, Digital Operations (legacy), and Enterprise for Incident Management pricing plans. Contact the PagerDuty Sales Team to upgrade to a plan featuring the ServiceNow integration.
  • You require an Admin, Global Admin, or Account Owner base role for configuration. If you are not sure what role you have, or if you need your permissions adjusted, view Check Your User Role or Edit User Roles.
📘

Looking for Another Version?

V5 and V7 of the ServiceNow integration are also available.

Quick Links

ServiceNow Requirements Prior to Installation

Application Access Controls

To ensure the PagerDuty integration functions correctly, a ServiceNow administrator must make the following changes:

  1. In the left-hand application navigator, navigate to System Definition Tables. Search for and open the record for the User (sys_user) table.
  2. Select the Application Access tab, select the Allow configuration checkbox to allow provisioning PagerDuty users from a user form, and click Update.
  3. In the left-hand application navigator, navigate to System Definition Tables and open the record for the Group (sys_user_group) table.
  4. Select the Application Access tab and complete the following fields to map PagerDuty users to ServiceNow user records:
FieldValue
Can updateCheck this checkbox to store a PagerDuty user ID on the ServiceNow record when user provisioning completes.
Allow configurationCheck this checkbox to provision groups into PagerDuty from the list view.

Click Update.

Application Access settings

Application Access settings

  1. In the left-hand application navigator, navigate to System Definition Tables, open the record for the Group Member (sys_user_grmember) table, select the Allow configuration checkbox to allow PagerDuty to add an item into the bulk action menu when managing group members, and click Update.

Installation From the ServiceNow Store

  1. Navigate to the ServiceNow Store to find the application.
  2. Select the option to purchase the application. Select the version of the app that matches your version of ServiceNow.
  3. Log in to your ServiceNow instance as an administrator.
  4. Depending on your ServiceNow version, navigate to one of the following paths:
    • For Kingston and London: Navigate to System Applications Applications and click the Downloads tab to view the PagerDuty Incident Resolution Platform application.
    • For Madrid and New York: Navigate to System Applications All Available Applications All.
  5. Click Install on the PagerDuty application.

Add PagerDuty Fields to Views

To view PagerDuty ID fields within ServiceNow, manually add them to the Group, User, and Incident views. This action displays which ServiceNow objects map to PagerDuty. For detailed instructions, view the ServiceNow documentation on how to show or hide fields on a form.

You can add PagerDuty fields to the User and Group list views by clicking the gear icon in the upper-left corner of the grid to customize column display. This action makes them visible in list views only.

Add PagerDuty fields to views

Add PagerDuty fields to views

The following PagerDuty fields are available to add to list views or forms in ServiceNow:

  • User list view and user form
    • PagerDuty ID
  • Group list view and individual group form
    • PagerDuty service
    • PagerDuty escalation
    • PagerDuty webhook
    • PagerDuty team
    • PagerDuty schedule
  • CMDB CI Application list view and individual CI form
    • PagerDuty service
    • PagerDuty webhook
  • Incident list view and incident form
    • PagerDuty incident

Configuration in the PagerDuty Web App

Create an API Key

  1. Log in to your PagerDuty account, click the Apps & Add-Ons menu in the upper right, and select API Access.
  2. Click Create New API Key.
  3. Complete the following fields in the configuration dialog:
FieldValue
DescriptionEnter a description for your key.
Read-onlyLeave this checkbox unchecked.

Click Create key.

  1. Copy the displayed API key and save it in a secure place. You cannot access the key after this step. If you lose the key, remove it and create a new one. Click Close.

Create a Default PagerDuty User Account for ServiceNow

The integration requires ServiceNow to access your PagerDuty account with both an API token and a PagerDuty user account. The PagerDuty user account ensures that non-PagerDuty users can take action in ServiceNow and have those actions reflect in PagerDuty.

  1. Navigate to People Users and click Add Users.
  2. Complete the following fields on the user creation screen:
FieldValue
NameServiceNow User
EmailEnter a valid email address (copy and save this email for later configuration steps).
Base RoleSelect Manager.

Click Add and click Send Invitations.

  1. In your PagerDuty users list, click the name of the new user and copy the seven-character user ID from the URL (formatted as PXXXXX). Keep this user ID and email address in a safe place.

Configuration in Your ServiceNow Instance

Create an Integration User Account for Webhook Authentication

The PagerDuty integration operates under a dedicated ServiceNow user account to sync actions back to ServiceNow via webhooks. This design provides a security feature and allows you to control the integration’s permissions and roles within ServiceNow.

  1. Log in to your ServiceNow instance. In the left-hand application navigator, navigate to Organization Users and click New.
Create an integration user account

Create an integration user account

  1. Complete the following fields on the user form:
FieldValue
User IDEnter your preferred username (copy and save it for later steps).
First nameEnter a first name.
Last nameEnter a last name.
PasswordEnter a password (copy and save it for later steps).
Web service access onlySelect this checkbox if available (optional).
Internal Integration UserSelect this checkbox if available (optional).
User configuration

User configuration

  1. In the Email field, enter the email address of the PagerDuty default user created in the previous section. This action ensures requests format with a PagerDuty-From header.
  2. Select the Roles tab, click Edit, and assign the following three roles to the user: itil, rest_service, and x_pd_integration.admin. Click Save.
User roles

User roles

The user account requires permissions to make API requests, which allows PagerDuty to create incidents in ServiceNow and update existing incidents (such as changing assignment). If your ServiceNow instance allows all users to perform REST API calls, the itil and x_pd_integration.admin roles are sufficient. If a role restricts REST API access, provide the required role to the user account (for example, snc_platform_rest_api_access or rest_service).

  1. In the PagerDuty ID field, enter the seven-character user ID of the default PagerDuty user account created in the previous section and click Save.

Configure the PagerDuty Settings Page in ServiceNow

In the left-hand application navigator, navigate to PagerDuty Configuration PagerDuty Settings. If prompted with a warning at the top of the page, switch to the PagerDuty application scope.

Configure the PagerDuty settings page in ServiceNow

Configure the PagerDuty settings page in ServiceNow

  1. Complete the following fields on the settings screen:
FieldValue
ServiceNow user for authenticationEnter the user ID of the ServiceNow integration user created in the previous section.
ServiceNow user password for authenticationEnter the password of the ServiceNow integration user created in the previous section.
Default PagerDuty User ID to useEnter the seven-character alphanumeric ID starting with P from the default PagerDuty user account. The base role for this user must be Manager or higher.
REST API endpoint URLLeave as the default value (https://api.pagerduty.com).
PagerDuty API access keyEnter the PagerDuty API access key generated in the previous section.
  1. Click Save.
  2. To validate the integration connection, click Configuration Test REST API Connection. A successful connection returns a 200 response.
  3. To validate the ServiceNow user account configuration, click Configuration Test ServiceNow User Authentication. A successful authentication returns a 200 response.
  4. To validate the default user configuration, click Test Default User Settings and confirm the success messages.

Add the ServiceNow Extension to an Existing PagerDuty Service

To add the ServiceNow extension to an existing PagerDuty service instead of creating a new one, choose one of the following options. To create a new service, skip this section and navigate to the Additional Properties to Review section.

Option 1: Manually Configure the Extension in PagerDuty

  1. In the PagerDuty web app, navigate to Services Service Directory, click the name of your service, select the Integrations tab, and click Add or manage extensions New Extension.
  2. Complete the following fields on the configuration screen:
FieldValue
Extension TypeSearch for and select ServiceNow (v6.0).
NameEnter a name in the format servicenow-service-name (for example, servicenow-shopping-cart).
ServiceNow URLEnter the URL in the format https://[INSTANCE-NAME].service-now.com/api/x_pd_integration/pagerduty2sn.
ServiceNow User IDEnter the User ID created for webhook authentication.
ServiceNow PasswordEnter the password created for webhook authentication.
Sync OptionsSelect Sync All Incidents to sync all new incidents, or Manually Sync Incidents to choose individual incidents from the incident details page.
Incident TypeSelect Incident to create standard incidents, or Security Incident to generate security incidents.
  1. Click Save.

Option 2: Use the ServiceNow Integration to Provision the PagerDuty Extension

  1. Identify how ServiceNow maps to PagerDuty based on your configuration on the PagerDuty Settings page:
    • If you map only Assignment Groups, navigate to the Assignment Group you want to map.
    • If you map Configuration Items, navigate to the Configuration Item you want to map.
  2. Open the record in ServiceNow and locate the blank PagerDuty Service field. If the field is already populated, the object is already mapped.
  3. In the PagerDuty web app, navigate to Services Service Directory and click the service name. Copy the seven-character Service ID starting with P from the URL bar.
  4. In ServiceNow, paste the Service ID into the PagerDuty Service field.
  5. Click Save. If you redirect back to the list view, open the record again.
  6. In the Related Links section, click Provision Webhook to create the extension in PagerDuty and complete the mapping.

Additional Properties to Review

Once you install and configure the integration, view the Advanced Configuration article for more information on configuring Priority Sync, Inbound Field Rules, and other optional configurations.

Other global settings are available on the PagerDuty Configuration PagerDuty Settings page:

Integration Behavior

  • Choose ServiceNow to PagerDuty mapping: Select whether Assignment Groups map to PagerDuty, or if Configuration Items and Assignment Groups map to PagerDuty. More details are available in the following section.
  • Incident state value to use when PagerDuty resolves an incident: Select the integer value associated with the "Resolved" state in your ServiceNow instance.
  • Resolve PagerDuty incident if ServiceNow incident is assigned to a Group that doesn’t exist in PagerDuty: Choose whether to resolve an incident in PagerDuty if it is assigned to a group that is not mapped to PagerDuty.
  • Create a new PagerDuty user if one is not found with the ServiceNow user’s email: Optionally auto-provision users into PagerDuty when they are assigned or manage an incident in ServiceNow. This action can impact billing.
  • Do not assign the ServiceNow incident until a PagerDuty user has acknowledged the incident.
  • Provision current Assignment Group members into PagerDuty when provisioning Assignment Groups: Optionally auto-provision all users who are part of an Assignment Group when the group provisions into PagerDuty.
  • Create PagerDuty Schedule when provisioning Assignment Groups: Automatically create a new schedule for Assignment Groups provisioned into PagerDuty.
  • Use PagerDuty teams: Use PagerDuty teams functionality with Assignment Groups in ServiceNow.
  • Create PagerDuty Team when provisioning Assignment Groups: Automatically create a PagerDuty team when you provision an Assignment Group.
  • Enable Response Mobilizer: Allows you to add responders to an existing incident from the ServiceNow interface.
  • Enable Conference Bridges: Allows you to add conference bridge information to an incident from the ServiceNow interface.

PagerDuty Settings

  • PagerDuty instance URL: The URL to your PagerDuty instance.
  • PagerDuty API access key: The API key used to authenticate with the PagerDuty REST API.
  • Default User ID: The PagerDuty account used to make API requests if the user performing the action in ServiceNow does not exist in PagerDuty.
  • REST API Endpoint: The endpoint field (default value is https://api.pagerduty.com).

ServiceNow Settings

  • ServiceNow user for authentication: The username PagerDuty uses to authenticate with ServiceNow for webhook delivery.
  • ServiceNow user password for authentication: The password for the authentication user.
  • ServiceNow REST endpoint for webhook callback: The path PagerDuty uses to send webhooks to.

Legacy Settings

  • Logging verbosity level: Modifies the amount of information in the logs. Default is info; change to debug to troubleshoot.

Choose How ServiceNow Objects Map to PagerDuty Objects

The Choose ServiceNow to PagerDuty mapping option on the PagerDuty Configuration PagerDuty Settings page provides two options:

  • ServiceNow Configuration Items and Assignment Groups map to PagerDuty:
    • Configuration Items map to PagerDuty services.
    • Assignment Groups map to PagerDuty escalation policies.
  • ServiceNow Assignment Groups map to PagerDuty:
    • Assignment Groups map to both a PagerDuty service and a PagerDuty escalation policy.

The following diagram represents the mapping between objects in both systems when Configuration Items and Assignment Groups map to PagerDuty:

Diagram representing the mapping between objects in ServiceNow and PagerDuty

Object mapping diagram

Provision Configuration Items to PagerDuty

📘

Note

If you select Assignment Groups map to PagerDuty on the PagerDuty Configuration PagerDuty Settings page, skip this step. You do not need to provision Configuration Items into PagerDuty.

Before provisioning Configuration Items into PagerDuty, set the corresponding Assignment Group for each Configuration Item. When you provision a single Configuration Item, the integration verifies that the Assignment Group exists in PagerDuty as an escalation policy. If it does not exist, the integration also provisions the corresponding Assignment Group as a PagerDuty escalation policy.

Each ServiceNow Configuration Item can have a corresponding PagerDuty service. This integration generates a new PagerDuty service and webhook to send information back to ServiceNow and populates the associated fields within ServiceNow.

Any Configuration Item that extends the base cmdb_ci table can map to PagerDuty because it inherits the field containing the PagerDuty service ID. This allows you to map any type of Configuration Item to services in PagerDuty. For each Configuration Item type, modify the form view to show the PagerDuty object ID.

  1. In the list of Applications within your ServiceNow instance, the PagerDuty service and PagerDuty webhook fields are empty unless the Configuration Item (CI) maps to PagerDuty.
PagerDuty service and webhook fields

PagerDuty service and webhook fields

  1. Select an application or CI that you want to provision to PagerDuty. In the Related Links section, click Provision CI Into PagerDuty.
Provision CI into PagerDuty

Provision CI into PagerDuty

  1. A notification indicates that the Configuration Item is being created. When complete, the integration populates the PagerDuty service and PagerDuty webhook fields with the PagerDuty IDs.
  2. The corresponding service and escalation policy are created in PagerDuty. The service automatically includes a webhook to power the bi-directional sync between PagerDuty and ServiceNow.

Provision Assignment Groups to PagerDuty

In ServiceNow, each Assignment Group corresponds to a PagerDuty escalation policy. You can optionally enable settings to automatically create a PagerDuty schedule and team when you provision a group from ServiceNow.

Depending on the mapping selected on the PagerDuty Configuration PagerDuty Settings page, certain PagerDuty attributes are not set on Assignment Groups:

  • If you select Assignment Groups map to PagerDuty, each Assignment Group receives a corresponding PagerDuty escalation policy, service, and webhook ID (and optionally, a PagerDuty schedule and team ID).
  • If you select Configuration Items and Assignment Groups map to PagerDuty, each Assignment Group receives only a PagerDuty escalation policy ID (and optionally, a PagerDuty schedule and team ID). The PagerDuty service and webhook ID map to your Configuration Items in ServiceNow instead.
📘

Note

The user who provisions Assignment Groups from ServiceNow to PagerDuty must have a PagerDuty user ID attached to their account in ServiceNow.

  1. Select the Assignment Group you want to provision to PagerDuty, and click Provision Group into PagerDuty.
Provision group into PagerDuty

Provision group into PagerDuty

  1. A notification indicates that the Assignment Group is being created. When complete, the integration populates the PagerDuty service, PagerDuty escalation, and PagerDuty webhook fields. The Assignment Group also receives a corresponding schedule ID and team ID if you enable those settings in the PagerDuty Settings UI.
  2. The corresponding service and escalation policy are created in PagerDuty. The service automatically includes a webhook containing a shared secret in its URL to power secure, bi-directional sync.
  3. To provision multiple groups simultaneously, select them and choose Provision Group into PagerDuty from the bulk actions dropdown menu on the Groups list view.
Select Provision Group into PagerDuty

Select Provision Group into PagerDuty

Provision Users to PagerDuty

  1. In the ServiceNow users list, the PagerDuty ID field is populated for users who already exist in PagerDuty.
  2. Select a user who is not provisioned to PagerDuty and click Provision PagerDuty User.
Provision PagerDuty user

Provision PagerDuty user

  1. A notification indicates that the user is being provisioned. Upon completion, the integration automatically populates the PagerDuty ID field and creates the user in PagerDuty with the matching name and email address.
  2. If the user has a Business phone or Mobile phone populated in ServiceNow, the integration automatically provisions them as contact methods and notification rules in PagerDuty.
  3. To provision multiple users simultaneously, select them and choose Provision PagerDuty User from the bulk actions dropdown menu on the Users list view.
Select Provision PagerDuty User

Select Provision PagerDuty User

Verify ServiceNow and PagerDuty Communication

To verify that PagerDuty and ServiceNow are communicating, create a new incident in ServiceNow and set the Assignment Group field to a group mapped to PagerDuty. The following example shows an incident assigned to the Database group and subsequently reassigned to the CAB Approval group, as documented in the Activity log.

Example incident

Example incident

When you resolve the incident in PagerDuty, it resolves in ServiceNow, and vice versa. ServiceNow maintains a log of activities that occur within PagerDuty.

📘

Note

After you successfully install and configure the PagerDuty application in your ServiceNow instance, index the following columns in ServiceNow based on your chosen mapping type.

For Assignment Group only mapping:

  • sys_user_group.x_pd_integration_pagerduty_escalation
  • sys_user_group.x_pd_integration_pagerduty_service
  • sys_user_group.x_pd_integration_pagerduty_webhook

For Assignment Group and Configuration Item mapping:

  • sys_user_group.x_pd_integration_pagerduty_escalation
  • cmdb_ci.x_pd_integration_pagerduty_service
  • cmdb_ci.x_pd_integration_pagerduty_webhook

Regardless of mapping, index these four columns:

  • sys_user.x_pd_integration_pagerduty_id
  • sys_user.email
  • incident.x_pd_integration_incident
  • task.x_pd_integration_incident_id

Indexing helps decrease response times when the PagerDuty application queries the incidents, group, user, and CMDB tables. PagerDuty initiates webhook retry logic if response times exceed a specific threshold. If thresholds are exceeded repeatedly, the webhook extension disables temporarily.

Use PagerDuty Add Responders and Conference Bridge Features in ServiceNow

The ServiceNow integration allows you to use PagerDuty’s Add Responders and Conference Bridge features from the ServiceNow interface. To use these features within ServiceNow, you must add the x_pd_integration.incident_response role to your ServiceNow user record.

Upgrade Your PagerDuty Integration

Before starting the upgrade process for your PagerDuty integration, complete the following items detailed in the PagerDuty Community Post:

  • Revert customizations prior to upgrading from the store, as the upgrade path does not patch modified files.
  • Prior to running the MIGRATE WEBHOOKS TO v6.0 script, update the PagerDuty Settings page, and run both the Test REST API Connection and Test ServiceNow User Authentication scripts to ensure a successful 200 status code.
  • After you successfully upgrade, determine which customizations you must reapply. Capture these in an update set and store a copy for future reference.

Connect Multiple PagerDuty Services to a Single Assignment Group

To connect multiple PagerDuty services to one specific Assignment Group in ServiceNow, perform the following actions:

  1. For each PagerDuty service, add a ServiceNow v6 extension and enter your ServiceNow instance details.
  2. Append a parameter to the ServiceNow URL to target the specific Assignment Group. For example, if your Assignment Group name is IT HelpDesk and your standard URL is https://dev70781.service-now.com/api/x_pd_integration/pagerduty2sn, append ?group=IT%20HelpDesk to the end of the URL. Ensure that you use %20 to encode spaces.

The Assignment Group must be provisioned to a PagerDuty service for this functionality to work.

Connect Multiple PagerDuty Services to Configuration Items

You can map multiple PagerDuty services to a single Configuration Item in ServiceNow. For each PagerDuty service, add a ServiceNow v6 extension and enter your ServiceNow instance details. Append a parameter to the ServiceNow URL to target the specific Configuration Item:

  1. Right-click the Configuration Item in ServiceNow and copy the sys_id.
  2. Append ?ci=insert_long_sys_id_here to the ServiceNow destination URL (for example, https://dev70781.service-now.com/api/x_pd_integration/pagerduty2sn?ci=insert_long_sys_id_here).
  3. Save the extension configuration with the username, password, and required flags.
  4. Optional: You can combine the Assignment Group and Configuration Item parameters (for example, pagerduty2sn?group=IT%20HelpDesk&ci=insert_long_sys_id_here).

Note: This configuration applies to PagerDuty app version 6.2.05 from the ServiceNow Store.