> ## Documentation Index
> Fetch the complete documentation index at: https://docs.germainux.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ServiceNow

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

Components
[`Engine`](https://docs.germainux.com/main/germain-ux-engine)

Availability
2020.2 or later

> **[Integration Overview](#integration-overview)**
>
> How the integration works

> **[Example ServiceNow API Request](#example-servicenow-api-request)**
>
> Sample incident creation call

> **[Automatically Create ServiceNow Incidents](#automatically-create-servicenow-incidents)**
>
> Configure HTTP Actions for tickets

> **[Recommended Practices](#recommended-practices)**
>
> Update and resolve existing incidents

## Overview

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:

```text theme={null}
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

![ServiceNow: 1 Step 1: Configure the Action](https://mintcdn.com/germain-ux/uY3MrHiwPZBkcqjb/images/main/servicenow/image-20220119-112345.png?fit=max\&auto=format\&n=uY3MrHiwPZBkcqjb\&q=85\&s=5d8b6d26c4792780d3fb7da5ad19f43b)

Enter:

| Field | Value |
| - | - |
| **Name** | `ServiceNow Incident Creation - CPU Alert` |
| **Execution Count** | `1` |

![ServiceNow: 1 Step 1: Configure the Action, image 2](https://mintcdn.com/germain-ux/uY3MrHiwPZBkcqjb/images/main/servicenow/image-20220119-112856.png?fit=max\&auto=format\&n=uY3MrHiwPZBkcqjb\&q=85\&s=234e62f2adc16ae5a44b52784eddb75b)

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 theme={null}
{
  "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"
}
```

![ServiceNow: 2 Step 2: Configure the HTTP Request](https://mintcdn.com/germain-ux/uY3MrHiwPZBkcqjb/images/main/servicenow/image-20220119-114714.png?fit=max\&auto=format\&n=uY3MrHiwPZBkcqjb\&q=85\&s=c9605b09660afcf0b21e7982dbddd90d)

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

## Recommended Practices

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

## Get Help

> **[Contact GermainUX Support](https://docs.germainux.com/main/support.md)**
>
> The Germain Team can help you set this up.

> **Can't find what you need?**
>
> Search all GermainUX docs with **Ctrl + K**, or use the feedback buttons at the bottom of this page to tell us what is missing.

The content of this document is proprietary to GERMAIN SOFTWARE.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.