ServiceNow Provisioning
Provision ServiceNow objects to PagerDuty
How ServiceNow Objects are Provisioned into PagerDuty
Required User Permissions
The ServiceNow
x_pd_integration.admin
role is required to provision services and users to PagerDuty.
For any ServiceNow User, Assignment Group, or Configuration Item (CI) to be recognized by the integration, it must be provisioned.
Objects can be provisioned by navigating to the Related Links section in the User, Assignment Group, or Configuration Item form and clicking Provision PagerDuty User, Provision Group into PagerDuty or Provision CI into PagerDuty. This process will make the necessary REST API calls in the PagerDutyProvisioning
script.
How ServiceNow Objects Map to PagerDuty Objects
The option Choose ServiceNow to PagerDuty mapping on the PagerDuty Settings page allows the following two options for the correspondence between systems:
- ServiceNow Configuration Items and Assignment Groups map to PagerDuty (Recommended):
- Configuration Items map to PagerDuty Services
- Assignment Groups map to PagerDuty Escalation Policies
- ServiceNow Assignment Groups map to PagerDuty:
- Assignment Groups will map to both a PagerDuty Service and PagerDuty Escalation Policy
The following diagram represents the mapping between objects in both systems when Configuration Items and Assignment Groups map to PagerDuty:
Provision Users to PagerDuty
- In your ServiceNow Users list, select a user who has not already been provisioned to PagerDuty.
- Click Provision PagerDuty User to add them to your PagerDuty account.
- You will then see a message that the user is being provisioned.
- Upon completion, the PagerDuty ID field is automatically populated. The user also shows up in PagerDuty, with the same name and email address.
- If the user has their Business phone or Mobile phone fields populated in ServiceNow, these settings will also be automatically provisioned as Contact Methods and Notification Rules in PagerDuty.
- You can also provision multiple users at once by selecting the checkboxes to the left of their names, clicking Actions on selected rows and selecting Provision PagerDuty User from the dropdown.
Example
Provision Assignment Groups and Configuration Items
New Assignment Groups and Configuration Items provisioned to PagerDuty will be connected via v3 webhooks. We strongly recommend that you migrate webhooks to v3 immediately after upgrading to ServiceNow v8, to prevent the application from having a mix of v2 and v3 webhooks.
Prerequisite: Set Default Incident Sync Option
Before provisioning Assignment Groups or Configuration Items to PagerDuty, you can set the default incident sync option in PagerDuty Settings. This setting only applies to how PagerDuty incidents creates ServiceNow incidents. Assignment Groups and Configuration Items that do not have an individual sync option configured will default to the sync option set on the PagerDuty Settings page.
- Navigate to PagerDuty Settings and scroll to the Webhooks Configuration section.
- You may select the incident sync option from the Sync option dropdown:
- Auto: When a PagerDuty incident triggers, it automatically creates a ServiceNow Incident.
- Manual: When a PagerDuty incident triggers, it will not automatically create a ServiceNow Incident. Instead, you will need to select More Sync with ServiceNow on the PagerDuty incident’s details page.
Provision Individual Configuration Items to PagerDuty
-
In ServiceNow, click into the Configuration Item that should be provisioned to PagerDuty.
-
Select the Webhook Configuration tab.
-
Select the preferred Sync Option and Task Type.
- If you do select a Sync Option for the CI: Incidents will sync according to your selection.
- If you do not select a Sync Option for the CI: Incidents will sync according to the default sync behavior configured on the PagerDuty Settings page.
-
Click Provision CI into PagerDuty.
Provision Bulk Configuration Items to PagerDuty
- In the Configuration Items table, select the checkboxes to the left of the Configuration Items that should be provisioned to PagerDuty.
- Click the Actions on selected rows dropdown menu on the right and select Provision CI Into PagerDuty.
- The Configuration Items will inherit the default sync behavior configured on the PagerDuty Settings page. However, you can change the sync option. For more information please see our Edit Webhooks Configuration section.
Provision Individual Assignment Groups to PagerDuty
- In ServiceNow, click into the Assignment Group that should be provisioned to PagerDuty.
- Click Provision Group into PagerDuty.
- In the PagerDuty Webhook tab, configure the preferred Sync Option and Task Type. Note: You may need to refresh the page to see these options.
- If you do select a Sync Option for the Assignment Group: Incidents will sync according to your selection.
- If you do not select a Sync Option for the Assignment Group: Incidents will sync according to the default sync behavior configured on the PagerDuty Settings page.
Provision Bulk Assignment Groups to PagerDuty
- In ServiceNow, select the checkboxes to the left of the Assignment Groups that should be provisioned to PagerDuty.
- Click the Actions on selected rows dropdown menu on the right and select Provision Groups Into PagerDuty.
- The Assignment Groups will inherit the default sync behavior configured on the PagerDuty Settings page. However, you can change the sync option. For more information please see our Edit Webhooks Configuration section.
Edit Webhooks Configuration
- Navigate to PagerDuty Webhooks.
- Select the checkboxes to the left of the records that should be modified.
- Click the menu next to the column that you would like to modify and select Update Selected.
- Select your preferred Sync option and Task type and then click Update.
Provision Configuration Items to PagerDuty with Services Provisioning
The Services Provisioning feature allows you to provision Configuration Items as Business Services and technical services in PagerDuty, along with their dependencies. You can quickly generate a new PagerDuty service and webhook connection for Configuration Items in ServiceNow. Any Configuration Item that extends the base cmdb_ci
table can be mapped to PagerDuty.
This feature is located in ServiceNow under PagerDuty Services Provisioning.
Tips
Before provisioning Configuration Items as services in PagerDuty, we recommend the following:
- Read our Full Service Ownership Guide for best practices in planning your PagerDuty technical and business service relationships.
- Given the dependency relationships between business and technical services, review how you would like to map Configuration Item relationships, noting the higher-level CMDB classes and lower-level CMDB classes.
- Set the corresponding Assignment Group for each of the Configuration Items you will be provisioning. This simplifies the provisioning process; when you provision a single Configuration Item, it will verify that the Assignment Group exists in PagerDuty (i.e., as an escalation policy). If not, it will also provision the corresponding Assignment Group as a PagerDuty escalation policy.
Provisioning Behavior
The parent CI(s) will be provisioned as a business service in PagerDuty. Child CIs (downstream dependencies) will be provisioned as supporting technical services in PagerDuty.
If the CI's Change Group already exists as a PagerDuty escalation policy, the integration will attach the existing escalation policy to the newly created PagerDuty technical service. Otherwise, the integration will create a PagerDuty escalation policy with the same name as the CI and attach it to the newly created PagerDuty technical service.
Step 1: Choose Provisioning Method
Best Practices
If you have a well-established CMDB, we recommend that you provision using the CMDB relationship table. A well-established CMDB has a defined relationship between parent CIs and their associated downstream dependencies. Downstream dependencies will be provisioned as technical services in PagerDuty.
If you do not have a dependency mapping between the parent CIs and their downstream dependencies (child CIs), you can provision business services and technical services in PagerDuty using custom relationships.
Option 1: Provision Services using a CMDB Relationship Table
- In ServiceNow, navigate to PagerDuty Services Provisioning.
- In the field Provision using CMDB relationship table, select Yes (default) from the dropdown.
- Choose CI classes to be provisioned. If the parent CI(s) have a business service classification (e.g., CI Class is Business Service), and the downstream CIs have a technical service classification (e.g., CI Class is Technical Service), select the checkbox Use service classification where applicable.
Tip
If a CI Class is both a business service and a technical service, then the CI will be provisioned as both a business and technical service, with the business service having a dependency on the technical service.
Other CI classes will need to manually classified as a business service or technical service, following the process below:
- Click Select CI Classes which will be provisioned as Business Service, select your desired CI Class from the list, and click to move the CI into the column Business Services.
- Click Select CI Classes which will be provisioned as Technical Service, select your desired CI Class from the list, and click to move the CI into the column Technical Services.
- Choose Table with CIs or a single CI to be provisioned along with dependencies.
- Option A: Choose Table with CIs. You can use this option if:
- You want to provision multiple parent CIs as a business service, and their downstream dependencies as technical services.
- There is a single CI table containing those parent CIs.
Select the CI table containing the parent CIs that you want to provision as PagerDuty business services. This will retrieve all of the CIs from the selected CI table, along with their dependencies. For example, selectingcmdb_ci_datacenter
will fetch all of the CIs in the data center table along with its dependencies. After the CIs have been fetched, you can create a filter to exclude the CIs that you do not want to provision as business services in PagerDuty. - For the field Select table containing services, click the search icon.
- A pop-up window will appear on your screen. In the pop-up window, search and select the table containing your parent CIs.
- Click Open selected table to set and save filter.
- Filter out the CIs that you do not want to provision as business services in PagerDuty. Save this filter for use in future steps.
- For the field Select filter, click the search icon.
- A pop-up window will appear. In the pop-up window, find and select the filter you created in step 4 above.
- Select Column for Service Name: select the table column which will define the service name in PagerDuty. The Name column is set by default, but you may change it to a different column if required.
- Click Save Configuration.
- Option B: Choose a Single CI. Alternatively, you can use this option if:
- There is only one parent CI that you want to provision as a business service in PagerDuty.
- The parent CI contains downstream dependencies that you want to provision as technical services in PagerDuty.
- Select your CI, click Save Configuration.
- Option A: Choose Table with CIs. You can use this option if:
Option 2: Provision Using Custom Relationships
- In ServiceNow, Navigate to PagerDuty Services Provisioning.
- In the field Provision using CMDB relationship table, select No (Custom Relationships) from the dropdown.
- For field Select CI Table containing services, click the search button.
- In the pop-up window that appears, find and select the table containing the parent CIs that you want to provision as a business service. This will retrieve all of the CIs from the selected CI table, along with their dependencies.
- Click Open selected table to set and save filter. In the pop-up window that appears, create a filter to exclude all of the other CIs that you do not want to provision as business services in PagerDuty. Save this filter for use in the next step.
- For the field Select filter, click the search icon. In the pop-up window that appears, find and select the filter you created in the previous step.
- Configure the following fields:
Field | Instructions |
---|---|
Select the type of service to be provisioned | Select Business Service. |
Select column for service name | Select the table column which will define the service's name in PagerDuty. The Name column is set by default, though you may change it to another column if required. |
Select relationship between services to be provisioned | Select consumes. |
Select CI table containing services | 8. Select the CI table containing the child CIs (downstream dependencies) that you want to provision as technical services in PagerDuty. |
- Create a filter and apply it to the Child CIs table.
- Click Open selected table to set and save filter.
- In the pop-up window that appears, create a filter to exclude the Child CIs that you do not want to provision as technical services in PagerDuty.
- Save the filter for use in the next step.
- Select the filter you created in the previous step.
- Below your filter in the field Select the type of service to be provisioned, select Technical Service.
- Click Save Configuration.
Step 2: View Services
Navigate to the PagerDuty Service Provisionings table (PagerDuty Services Provisioning Table) to review parent CI(s) and their downstream dependencies (x_pd_integration_pagerduty_service_provisioning_list.do
).
Carefully review the table information before provisioning services.
Review the information in the table:
- The Validation warnings column will show any errors that occurred.
- Update the parent type on any records that do not show the correct type for the parent CI.
- Change the child type on any records that do not show the correct type for the child CI.
- Delete any parent CIs and/or dependencies that you do not want to provision into PagerDuty.
- Delete any obsolete or invalid rows that are not provisioned (e.g., Relationship provisioned =
False
).
Step 3: Provision Services
After reviewing the Services Provisioning table, click Provision Services. If there are any errors while provisioning, they will be captured in the Provisioning errors column. Fix the errors and retry provisioning .
If there are any errors while provisioning, they will be captured in the Provisioning errors column of the Services Provisioning table (x_pd_integration_pagerduty_service_provisioning_list.do
). Fix any errors, then click Revalidate Services to confirm that the errors have been resolved. Then click Provision Services again.
Updated about 14 hours ago