ServiceNow Integration

ServiceNow is a platform-as-a-service (PaaS) provider of enterprise Service Management (SM) software.

288

​What does Opsgenie offer ServiceNow users?

Opsgenie has an application in the ServiceNow Store which allows bi-directional functionality between Opsgenie and ServiceNow. Use the integration to send ServiceNow incident events to Opsgenie with detailed information and to forward Opsgenie alerts as incidents to ServiceNow.

Opsgenie determines the right people to notify based on on-call schedules– notifies via email, text messages (SMS), phone calls, and iOS & Android push notifications, and escalates alerts until the alert is acknowledged or closed.

Functionality of the Integration

  • When an incident is created in ServiceNow, an alert is created in Opsgenie.
  • When an incident is resolved/closed in ServiceNow, the alert is closed in Opsgenie.
  • When the incident is assigned to a group in ServiceNow, the corresponding team is added to the alert if the name of the group in ServiceNow and the name of the team in Opsgenie match.
  • When the incident is assigned to a user in ServiceNow, the alert in Opsgenie is assigned to the corresponding user.
  • User & Group synchronization (Optional).

Action Mapping

  • If Send Alert Updates Back to ServiceNow selection is enabled, actions are executed in ServiceNow when the chosen action is executed in Opsgenie for alerts which are created by the ServiceNow integration.
  • If Create ServiceNow Incidents for Opsgenie Alerts selection is enabled, actions are executed in ServiceNow when the chosen action is executed in Opsgenie for alerts which have a source other than the ServiceNow integration.

This action mapping feature is explained in detail in the Action Mapping Feature section below.

Configuration of Opsgenie ServiceNow Integration

🚧

Adding multiple ServiceNow integrations for different Opsgenie teams is not supported without code modification in Opsgenie ServiceNow application and configuration modification in Opsgenie.

  1. Please create an Opsgenie account if you haven't done so already.
  2. Go to Opsgenie's ServiceNow Integration page.
  3. Specify who is notified of ServiceNow alerts using the Teams field. Specify user(s), group(s), escalations policies, and on-call schedules as the alert recipients. Auto-complete suggestions are provided as you type.
  4. Copy the integration API Key to use in the Opsgenie ServiceNow application configuration.
  5. Go to the ServiceNow Store, and get the Opsgenie application from there.
  6. After downloading the Opsgenie application from the Store, then go to System Applications>Applications>Downloads to finish the installation of the app.
  7. Create/Update a user with roles x_86994_opsgenie.opsgenie_app_role, import_transformer, and import_set_loader in the instance. Assign a password to the user. This password can be permanent or temporary.
  8. After adding the Opsgenie application to the instance, the Opsgenie application is available for you in the navigator.
572
  1. Under the Opsgenie application menu, select Opsgenie Configuration.
  2. Fill the "Opsgenie API Key" field with the API key copied earlier.
  3. Leave the "Opsgenie API URL" field as-is, if not using Opsgenie Sandbox.
  4. Check Use Synchronization option to value, if synchronizing users & groups in ServiceNow with Opsgenie is desired. For more information please check out the "User & Group Synchronization (Optional)" section below.
  5. Check Use Acknowledge Action in Opsgenie Instead of Assigning the Alert When the Incident is Assigned to Somebody in ServiceNow option if it is preferred to acknowledge the alert instead of assigning it to a user in Opsgenie when an incident is assigned to someone in ServiceNow. For more information, please check out the "Acknowledging the Alert in Opsgenie When the Incident is Assigned in ServiceNow (Optional)" section below.
  6. Save the configuration in ServiceNow.
  7. Go back to Opsgenie ServiceNow integration page.
  8. Populate the "ServiceNow Instance Subdomain" field with the subdomain of the ServiceNow instance.

📘

Fill the ServiceNow Instance Subdomain field with only the subdomain of the URL of the ServiceNow Instance. For example, fill the field with "sample" for https://sample.service-now.com

❗️

User Roles

If you are not seeing the executed actions translate back into ServiceNow and there are no errors in the ServiceNow or Opsgenie logs, we will need to add in an additional two roles for the User. The SOAP and REST roles should also be added to give the User the appropriate access to make these changes.

621
  1. Populate the "ServiceNow User ID" and "ServiceNow Password" fields with the user ID and the password of the user created/updated at step 7.
  2. Click Save Integration.
737 851

Action Mapping Feature

  • Opsgenie allows customers to define action mappings between Opsgenie actions and ServiceNow actions.

For alerts created by ServiceNow

  • Use this section to map Opsgenie actions to ServiceNow actions when the source of the alert is ServiceNow (i.e When the alert is created by ServiceNow integration.)
  • Map different Opsgenie actions to different ServiceNow actions. For example, add a note to a ServiceNow incident when the alert is acknowledged in Opsgenie. In order to do this, define "If alert is acknowledged in Opsgenie, add it as a work note to the incident in ServiceNow." mapping in "Send Alert Updates Back to ServiceNow section".*
1000

For other Opsgenie alerts

  • Use this section to map Opsgenie actions to ServiceNow actions when the source of the alert is NOT ServiceNow (i.e When the alert is created by another integration.)
  • For this purpose, use Create ServiceNow Incidents for Opsgenie Alerts section. In order to use this functionality, map one Opsgenie action to "create an incident" ServiceNow action. The Opsgenie action doesn't have to be "alert is created", it can be other actions as well.
800
  • "a tag is added to the alert" and a "custom action is executed on alert" actions differ from other actions. When one of these actions is selected, an extra field is available to enter for which tags or for which custom action this mapping works.
  • Enter multiple tags by separating the tags with a comma. If multiple tags are entered, the mapping works if the alert has one or more of the specified tags. Leave the tags field empty for the mapping to work for any tag.
  • If an Opsgenie action is mapped to multiple ServiceNow actions, an error occurs except for the "a tag is added to the alert" and "a custom action is executed on alert" actions. Save multiple mappings for these actions, because they differ by the given tags and the given custom action names.
983

Acknowledging the Alert in Opsgenie When the Incident is Assigned in ServiceNow (Optional)

  1. Currently, when an incident is assigned to someone in ServiceNow, the alert is assigned to the same user in Opsgenie.
  2. Assigning an alert to a user in Opsgenie does not stop the notification flow.
  3. Instead, the notification flow is stopped when the incident is assigned to someone in ServiceNow. There is an option for this behavior in our latest Opsgenie application in ServiceNow.
730
  1. It is not enabled by default. Check the option to value in order to acknowledge the alert instead of assigning it to the user in Opsgenie.

Sending Payload to a Custom Scripted REST API Source Endpoint in ServiceNow (Optional)

  1. Our integration with ServiceNow supports sending a payload from an alert action to a custom endpoint in ServiceNow.
  2. Map any alert action to the "send to custom endpoint" ServiceNow action, and when those alert actions take place, a payload is sent to the endpoint specified.
  3. The payload we send for this "send to custom endpoint" ServiceNow action is similar to the payload of our Webhook integration except it does not include the "integrationName" and "integrationId" fields. Check out this document to get more information about the payload.
  4. We've already created a Scripted REST API Resource for our latest Opsgenie application in ServiceNow called "sample".
3838
  1. We've developed a script to make an HTTP request to our Alert API and get the alert data from our Alert API and log it to the application logs as an example for this "sample" Scripted REST API Resource.
1712
  1. Map a custom Opsgenie action called "sample" to the "send to custom endpoint" ServiceNow action and enter "sample" as the custom endpoint to test the feature.
2772
  1. This way, when the "sample" custom action is executed on an alert in Opsgenie, it is forwarded to the "sample" endpoint in ServiceNow.
1766 1730 2506

User & Group Synchronization (Optional)

  1. Our integration with ServiceNow supports synchronizing users and groups in ServiceNow with Opsgenie.
  2. Note that the synchronization is performed for the users and groups added to ServiceNow after the synchronization feature is enabled. We create a user in Opsgenie for each such user in ServiceNow and we create a team in Opsgenie for each such group in ServiceNow.
  3. When a user is created, updated, or deleted, or a group is created or deleted in ServiceNow, the changes are applied to the Opsgenie account if the "Use Synchronization" option is checked in the "Opsgenie Configuration" form in ServiceNow.
1450
  1. In the Opsgenie-ServiceNow integration page, UNCHECK "Restrict Access to Configuration" option, if it is checked.
923
  1. We get email, full name, business phone, mobile phone, and timezone fields of a user from ServiceNow and use those fields in Opsgenie when creating a user.
  2. The role of a user created in Opsgenie will be "User" regardless of his/her role in ServiceNow.
  3. When one or more of the full name, business phone, mobile phone, and timezone fields of a user change in ServiceNow, those fields are changed in Opsgenie, too.
  4. Opsgenie does NOT allow special characters or spaces in team names, but ServiceNow does. So, we replace disallowed characters and spaces before creating a team in Opsgenie when a group is created in ServiceNow with those characters in the name.
  5. Updating group name or group description in ServiceNow will NOT update team name and team description in Opsgenie.
  6. When a user is added to/removed from a group in ServiceNow, the user is added to/removed from the team in Opsgenie.