• Products
  • Get started
  • Documentation
  • Resources

Integrate Opsgenie with ServiceNow

ServiceNow logo

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 Responders 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_roleimport_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.

ServiceNow Opsgenie configuration

9. Under the Opsgenie application menu, select Opsgenie Configuration.

10. Fill the "Opsgenie API Key" field with the API key copied earlier.

11. Leave the "Opsgenie API URL" field as-is, if not using Opsgenie Sandbox.

12. 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.

13. 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.

14. Save the configuration in ServiceNow.

15. Go back to Opsgenie ServiceNow integration page.

16. 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.

ServiceNow User roles

17. Populate the "ServiceNow User ID" and "ServiceNow Password" fields with the user ID and the password of the user created/updated at step 7.

18. Click Save Integration.

ServiceNow Configuration Properties
ServiceNow integration

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".*

Alert Opsgenie To ServiceNow

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.

ServiceNow other alerts
  • "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.

ServiceNow custom action add tags

Opsgenie Alert Alias field in ServiceNow not matching Original Alert Alias

In case when an Opsgenie alert creates a new incident in ServiceNow, the og_alert_alias field in incident should be same as the alert alias, if it is not then check the incident create webservice script & business rule scripts in Opsgenie App installed in customer's ServiceNow instance, most probably they have been modified and og_alert_alias field mapping tampered with.

One more possibility is that user has enabled "Run Business Rule" flag in "OpsGenie Web Svc Create" webservice of OpsGenie app installed in their instance due to which it might trigger other business rules which can transform og_alert_alias field to some wrong value.

By default "Run Business Rule" flag in "OpsGenie Web Svc Create" is disabled when the app is installed

ServiceNow web service transform maps

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.

ServiceNow Opsgenie configuration properties

4. 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".

ServiceNow Scripted REST API

5. 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.

ServiceNow sample script

6. 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.

ServiceNow custom action

7. This way, when the "sample" custom action is executed on an alert in Opsgenie, it is forwarded to the "sample" endpoint in ServiceNow.

ServiceNow custom action executed
ServiceNow custom endpoint
ServiceNow app log

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.

ServiceNow Configuration Properties

4. In the Opsgenie-ServiceNow integration page, UNCHECK "Restrict Access to Configuration" option, if it is checked.

5. 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.

6. The role of a user created in Opsgenie will be "User" regardless of his/her role in ServiceNow.

7. 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.

8. 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.

9. Updating group name or group description in ServiceNow will NOT update team name and team description in Opsgenie.

10. When a user is added to/removed from a group in ServiceNow, the user is added to/removed from the team in Opsgenie.

ServiceNow settings

 

Last modified on Jun 18, 2021
Cached at 8:26 AM on Aug 4, 2021 |

Additional Help

Ask the Community