ServiceNow

⚙️ ServiceNow Integration

GermainUX alerts can automatically create incidents in ServiceNow, helping teams route detected issues into their existing incident-management workflows.

🔗 Integration Overview

GermainUX integrates with ServiceNow through HTTP Actions and the ServiceNow Table API. The API supports creating, reading, updating, and deleting records in ServiceNow tables.

For example, when a GermainUX SLA is breached, an HTTP Action can send a POST request that creates a ServiceNow incident containing details about the affected KPI, system, and threshold.

📃 Example ServiceNow API Request

The following request creates an incident through the ServiceNow Table API:

curl "https://<SERVICENOW_INSTANCE>.servicenow.com/api/now/table/incident" \
  --request POST \
  --header "Accept: application/json" \
  --header "Content-Type: application/json" \
  --data '{
    "short_description": "GermainUX detected CPU utilization of 91%, which exceeds the expected threshold.",
    "description": "CPU utilization is higher than the configured threshold.",
    "assignment_group": "<ASSIGNMENT_GROUP_SYS_ID>",
    "urgency": "2",
    "impact": "2"
  }' \
  --user "<SERVICENOW_USERNAME>:<SERVICENOW_PASSWORD>"

Do not include production credentials directly in scripts or configuration content. Store them in an approved credential configuration and reference them from the action.

🤖 Automatically Create ServiceNow Incidents

Go to GermainUX Workspace > Automation > HTTP.

This screen displays the available HTTP Actions and identifies those associated with SLAs. Select an existing action to edit it, or click + to open the HTTP Action wizard.

1️⃣ Step 1: Configure the Action

image-20220119-112345.png

Enter:

Field

Value

Name

ServiceNow Incident Creation - CPU Alert

Execution Count

1

image-20220119-112856.png

Click Next.

2️⃣ Step 2: Configure the HTTP Request

Field

Value

Path

https://<SERVICENOW_INSTANCE>.servicenow.com/api/now/table/incident

Request Method

POST

Content Type

application/json

Expected Response

201

Authorization

Basic <BASE64_ENCODED_USERNAME_AND_PASSWORD>

Use the following request body:

JSON
{
  "short_description": "GermainUX detected CPU utilization of ${context.fact.value}%, which exceeds the expected threshold.",
  "description": "CPU utilization is higher than the configured threshold.",
  "assignment_group": "<ASSIGNMENT_GROUP_SYS_ID>",
  "urgency": "2",
  "impact": "2"
}
image-20220119-114714.png

3️⃣ Step 3: Select the Trigger

Select the CPU Usage SLA that should trigger the HTTP Action.

When the SLA is breached, GermainUX will submit the request and create a ServiceNow incident.

Click Finish to save the configuration.

Practice

Use a dedicated ServiceNow integration account with the minimum required permissions.

Store authentication details in GermainUX credential references.

Apply an execution limit or quiet period to prevent duplicate incidents.

Include the affected system, KPI, SLA, current value, and Analysis Dashboard link in the incident.

Test the integration against a non-production ServiceNow instance before enabling it in production.

Verify that ServiceNow returns HTTP status 201 after successfully creating an incident.

The same approach can be extended to update, resolve, or enrich existing ServiceNow incidents.


Component: Engine

Feature Availability: 8.6.0 or later