1. Home
  2. Tutorials and How Tos
  3. How to Add a ServiceNow Webhook Action to an Action Group

How to Add a ServiceNow Webhook Action to an Action Group

Integrating the ServiceNow alerting service into your OmniCenter monitoring workflow is fairly straightforward. Simply follow the steps below to create a new action group that will alert your ServiceNow account with a custom message of your choice that can then be assigned to the alarm configuration of any OmniCenter check. Netreo recommends that you create a user in your ServiceNow account specifically for OmniCenter use.

First, you’ll have to complete some steps in ServiceNow.

  1. Log into your account at the ServiceNow website.
  2. Make sure “Incoming WebHook API Events” is enabled for your account.

Now you can configure OmniCenter. Navigate to the Actions Administration page (Administration → Alerts → Actions).

Create a new action group.
Click the Add A Group button at the top of the page. Or, if there is an existing group to which you would like to add a new action, click the add action button in that group’s header and skip to the next section.

  1. In the Add Group dialog:
    1. In the “GROUP NAME” field, enter a name for this action group (for example, “ServiceNowAlert”).
      • No spaces are allowed in action group names.
    2. In the “MANUAL ALERT ACCESS LEVEL” field, select a user access level for this group.
      • This setting allows users of the selected access level and higher to manually run this action group from within an incident.
    3. Click Add Group to add this action group to OmniCenter.

Create a new action to add to your action group.
If you just created a new action group, the wizard will automatically direct you to the Add Action dialog. Otherwise, click the “add action” button in an existing action group’s header to open the Add Action dialog.

  1. In the Add Action dialog:
    1. In the “ACTION NAME” field, enter a name for this action (for example, “ServiceNow Action”).
      • Spaces are allowed in action names.
    2. Click Add Action to add this action to your action group.

Create a new method to add to your action.
If you just created a new action, the wizard will automatically direct you to the Add Method dialog. Otherwise, click the “add method” button in an existing action’s header to open the Add Method dialog.

  1. In the Add Method dialog:
    1. In the “ACTION METHOD TYPE” field, select “Webhook” from the drop-down.
    2. In the “URL” field, enter: <YOUR CUSTOMER NAME>.service-now.com/api/now/table/incident
    3. In the “PAYLOAD” field, enter something similar to the code found at the bottom of this page. You can customize the payload to provide values for ServiceNow using any desired OmniCenter incident macros.
    4. Click Add Method to add this method to your action.
The Add Method dialog showing the appropriate details for creating a ServiceNow webhook alert.

Recommended general settings are to set “priority” to 3 and “severity” to 2, but this will vary based on your specific response policies and implementation. If you want different alerts to go out with different priority/severity levels, you can create separate action groups in OmniCenter to easily accomplish this.

Note

ServiceNow implementations can be very complex, and Netreo recommends consulting with your ServiceNow support representative to insure good integration with your specific environment.

Select this action group in the alarm configuration of an OmniCenter check. When that check opens an incident, ServiceNow will be alerted according to the OmniCenter incident state change rules.

Payload Code

[header]
{
"Content-Type"  : "application/json",
"Authorization" : "Basic <YOUR BASE64 ENCODED SERVICENOW USERNAME/PASSWORD>"
}
[header]
{
"category"  : "<YOUR CATEGORY>",
"company"  : "<YOUR COMPANY NAME> OmniCenter",
"number"  : "{INCIDENTID}",
"priority"  : "<YOUR PRIORITY>",
"severity"  : "<YOUR SEVERITY>",
"short_description" : "{SUBJ}",
"cmdb_ci"  : "{HOSTNAME}",
"u_alert_link"  : "{INCIDENT_URL}",
"description"  : "{SUBJ}\n\nHost Name: {HOSTNAME}\nHost Address: {HOSTADDRESS}\nHost State: {HOSTSTATE}\nAlert: {ALERTDESC}\nThreshold Level: {THRESHOLD}\n\nIncidentID:{INCIDENTID}\nIncident State: {APPLICATIONSTATE}{SERVICESTATE}\n\n{OUTPUT}\n\nHost Note:{HOSTNOTE}\n"
}
  • Text contained in angle brackets < > should be replaced with your appropriate values.
    • For the “Authorization” value, you must provide a Base64-encoded value of the username and password for your ServiceNow account. This value can be created by entering your username and password in the format username:password into https://www.base64encode.org/ to retrieve an encoded blob value (use default settings).
  • Text contained in curly braces { } represents an OmniCenter incident macro, and will be translated into readable text before the payload is sent. Replace the example macros above with the macros you would like to use. Multiple macros may be included in the same field by separating them with a blank space.
  • Do not include any angle brackets < > in your payload, but do include curly braces { }.
  • When constructing the output for the “description” value you may include the newline character ( \n ) to place the items that follow it on a new line. This can help make the final output much easier to read.
Caution

The characters used in a JSON object must be the acceptable versions of those characters, with no formatting. Please ensure your JSON array is valid by testing it at https://jsonlint.com/.

Updated on January 23, 2020

Was this article helpful?

Need Support?
Can’t find the answer you’re looking for? Don’t worry we’re here to help!
Contact Support

Leave a Reply