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

# ServiceNow

We have a ServiceNow integration to keep your incidents in sync with incident.io.

For teams running their operations in ServiceNow, we know how important it is to preserve the structured record-keeping you rely on. This integration closes the loop between fast-moving incident response in Slack or Microsoft Teams and the structured processes in ServiceNow, so you get the best of both worlds without duplicate effort.

This document will explain how to connect ServiceNow to [incident.io](http://incident.io/).

## Connecting ServiceNow

incident.io connects to ServiceNow using an **OAuth app** and **Web Service user account**. Sync is bi-directional: updates made in ServiceNow flow back to incident.io, not just the other way. Installing our ServiceNow app makes that back-sync real-time, so we recommend it. If you'd rather not, grant the service account the `admin` role instead.

<Warning>
  You will need a ServiceNow Admin to complete these steps.
</Warning>

## 1. Install the ServiceNow app

Install the **incident.io** [app from the ServiceNow Store](https://store.servicenow.com/store/app/2ee3e7b697a9cbd8fe857a121153af21).

To skip the ServiceNow app installation, grant the `admin` role in [step 3](#3-create-a-web-service-account) instead.

## 2. Create an OAuth App

Log in to ServiceNow and search for "**OAuth**" in the filter navigation:

<img src="https://mintcdn.com/incidentio-18bb4170/3405jn_jWz4xmTr-/images/help-centre/servicenow/screenshot-1.png?fit=max&auto=format&n=3405jn_jWz4xmTr-&q=85&s=bc411d93ecab86c19db1a71f1017102e" alt="" width="810" height="896" data-path="images/help-centre/servicenow/screenshot-1.png" />

Select **Application Registry**, and click **New**.

<img src="https://mintcdn.com/incidentio-18bb4170/H5xxW76jdeWwMFHI/images/help-centre/servicenow/screenshot-2.png?fit=max&auto=format&n=H5xxW76jdeWwMFHI&q=85&s=2b9192b6959a26d828c8dc382b80dcba" alt="" width="1230" height="720" data-path="images/help-centre/servicenow/screenshot-2.png" />

Select **New Inbound Integration Experience**.

<img src="https://mintcdn.com/incidentio-18bb4170/H5xxW76jdeWwMFHI/images/help-centre/servicenow/screenshot-3.png?fit=max&auto=format&n=H5xxW76jdeWwMFHI&q=85&s=e6d78e6f9282d22c0cfc6308199f0bd0" alt="" width="3000" height="664" data-path="images/help-centre/servicenow/screenshot-3.png" />

Click **New Integration.**

<img src="https://mintcdn.com/incidentio-18bb4170/H5xxW76jdeWwMFHI/images/help-centre/servicenow/screenshot-4.png?fit=max&auto=format&n=H5xxW76jdeWwMFHI&q=85&s=7196b244ce2877fe716d220d0e885004" alt="" width="1590" height="1366" data-path="images/help-centre/servicenow/screenshot-4.png" />

Click **OAuth - Resource owner password credential grant.**

Enter 'incident.io' for the name, and add 'useraccount' to the Auth Scopes section. Leave other options as the defaults:

<img src="https://mintcdn.com/incidentio-18bb4170/H5xxW76jdeWwMFHI/images/help-centre/servicenow/screenshot-5.png?fit=max&auto=format&n=H5xxW76jdeWwMFHI&q=85&s=0a31b39fc444cc5fc3c6b7a55adae76a" alt="" width="2550" height="1326" data-path="images/help-centre/servicenow/screenshot-5.png" />

Find the app you've just created in the list. Copy the **Client ID** and **Client Secret** values: we'll need them later!

## 3. Create a Web Service Account

<Info>
  Any ServiceNow user account can be used so long as it has the relevant roles assigned. However, any actions taken by incident.io in ServiceNow will appear as being taken by this user account, so we strongly recommend creating a user for this purpose only.
</Info>

In ServiceNow, search for '**User Administration**' in the filter navigation:

<img src="https://mintcdn.com/incidentio-18bb4170/H5xxW76jdeWwMFHI/images/help-centre/servicenow/screenshot-6.png?fit=max&auto=format&n=H5xxW76jdeWwMFHI&q=85&s=377c070ef1e049ca8d3ee75a87ab04e9" alt="" width="988" height="842" data-path="images/help-centre/servicenow/screenshot-6.png" />

Select **Users**, then click **New** in the top-right.

Select a **username** and **email**, for example 'incident.io' and '[incidentio-service@my-domain.com](mailto:incidentio-service@my-domain.com)':

<img src="https://mintcdn.com/incidentio-18bb4170/H5xxW76jdeWwMFHI/images/help-centre/servicenow/screenshot-7.png?fit=max&auto=format&n=H5xxW76jdeWwMFHI&q=85&s=18edbbd7cef69611596f3c8646843612" alt="" width="2978" height="1080" data-path="images/help-centre/servicenow/screenshot-7.png" />

Make sure **Password needs reset** and **Locked out** are not selected, and **Active** is selected.

Change the identity type to **Machine.**

Click **Submit**, then navigate to the newly-created user.

At the bottom, select the **Roles** tab, then **Edit...** Add the roles for the path you're following.

If you installed the app in step 1, add:

* `x_incident_io.api_user`: shipped by the app. Grants incident.io the API access it needs for sync configuration and incident writes.
* `cmdb_read`: allows us to read data from your Configuration Management Database.
* `sn_cmdb_user`: allows us to read information about users and groups in your ServiceNow account.
* `incident_manager`: allows us to sync incident data into ServiceNow incident records.

If you're not installing the app, add the `admin` role instead, which gives incident.io full access to your ServiceNow instance.

<img src="https://mintcdn.com/incidentio-18bb4170/r2eogXvh9a-sQ0MO/images/help-centre/servicenow/service-now-user-roles-form.png?fit=max&auto=format&n=r2eogXvh9a-sQ0MO&q=85&s=54b41197eb3091ec699e7dcc8ffdede4" alt="" width="1550" height="1110" data-path="images/help-centre/servicenow/service-now-user-roles-form.png" />

Click **Save** to apply these changes and return to the user page.

Click **Set Password**, then **Generate**, then **Save Password**.

<img src="https://mintcdn.com/incidentio-18bb4170/H5xxW76jdeWwMFHI/images/help-centre/servicenow/screenshot-9.png?fit=max&auto=format&n=H5xxW76jdeWwMFHI&q=85&s=e5f9ef3023db5f9e9718e0e6b8a8cac1" alt="" width="1280" height="494" data-path="images/help-centre/servicenow/screenshot-9.png" />

Copy the newly-generated password, we'll need it shortly! Make sure to update the record before going back to the [dashboard](https://app.incident.io/).

## 4. Create ACLs

<Info>
  If you granted the `admin` role in step 3, you can skip this step, as admin already covers it.
</Info>

incident.io creates, reads, and updates follow-ups on the `task` table, so the service account needs **create**, **read**, and **write** access (the app doesn't grant access to `task` itself).

To add ACLs, you first need to elevate your user to Security Admin. Click your profile icon and select '**Elevate role**'.

<img src="https://mintcdn.com/incidentio-18bb4170/UJ55xaxcPk42h3TF/images/help-centre/servicenow/screenshot-14.png?fit=max&auto=format&n=UJ55xaxcPk42h3TF&q=85&s=9ff067e9591bb2127cb9b709a0589b61" alt="" width="570" height="898" data-path="images/help-centre/servicenow/screenshot-14.png" />

Click '**security\_admin**' and then '**Update**'.

<img src="https://mintcdn.com/incidentio-18bb4170/UJ55xaxcPk42h3TF/images/help-centre/servicenow/screenshot-15.png?fit=max&auto=format&n=UJ55xaxcPk42h3TF&q=85&s=6efa62ef05cacbc1f1acfe3600533ea4" alt="" width="1200" height="646" data-path="images/help-centre/servicenow/screenshot-15.png" />

Search for '**Access Control**' and select '**Access Control (ACL)**' under 'System Security'.

<img src="https://mintcdn.com/incidentio-18bb4170/UJ55xaxcPk42h3TF/images/help-centre/servicenow/screenshot-16.png?fit=max&auto=format&n=UJ55xaxcPk42h3TF&q=85&s=542975fa9f5a5bd72ac7604d013ac12d" alt="" width="760" height="734" data-path="images/help-centre/servicenow/screenshot-16.png" />

Select '**New**'.

<img src="https://mintcdn.com/incidentio-18bb4170/UJ55xaxcPk42h3TF/images/help-centre/servicenow/screenshot-17.png?fit=max&auto=format&n=UJ55xaxcPk42h3TF&q=85&s=dcfe30b18c7c1ba876a6892cb0aa6281" alt="" width="3008" height="250" data-path="images/help-centre/servicenow/screenshot-17.png" />

Create an Access Control record with the following properties:

* **Type**: `record`
* **Operation**: `read`
* **Application**: `Global`
* **Active**: checked
* **Decision Type**: `Allow If`
* **Admin overrides**: checked
* **Name**: select `task` in the first dropdown, and leave the second as `-- None --`.

<img src="https://mintcdn.com/incidentio-18bb4170/r2eogXvh9a-sQ0MO/images/help-centre/servicenow/servicenow-acl-new-record-form.png?fit=max&auto=format&n=r2eogXvh9a-sQ0MO&q=85&s=e23e121ab34e8ca2c0b4a7d854770ef9" alt="" width="2948" height="968" data-path="images/help-centre/servicenow/servicenow-acl-new-record-form.png" />

Click '**Submit**'. When prompted to select a role, choose `x_incident_io.api_user`.

<img src="https://mintcdn.com/incidentio-18bb4170/r2eogXvh9a-sQ0MO/images/help-centre/servicenow/servicenow-acl-new-record-role-form.png?fit=max&auto=format&n=r2eogXvh9a-sQ0MO&q=85&s=f674a2b084fa6921922df551c181fa5d" alt="" width="1234" height="760" data-path="images/help-centre/servicenow/servicenow-acl-new-record-role-form.png" />

Click '**OK**' and then '**Update**' to save the ACL.

Repeat for the **create** and **write** operations, so that you have three `task` ACLs assigned to `x_incident_io.api_user`.

## 5. Installing the integration

We're now ready to install the ServiceNow integration in incident.io.

Go to [Settings → Integrations](https://app.incident.io/~/settings/integrations/servicenow), and click on **ServiceNow**, then **Connect**.

<img src="https://mintcdn.com/incidentio-18bb4170/r2eogXvh9a-sQ0MO/images/help-centre/servicenow/service-now-connect-form.png?fit=max&auto=format&n=r2eogXvh9a-sQ0MO&q=85&s=f499697db5e58ab96484639beb0b768b" alt="" width="818" height="1306" data-path="images/help-centre/servicenow/service-now-connect-form.png" />

Use the following details:

* Your **subdomain** is the part of the URL where you log in to ServiceNow. For example, if your ServiceNow instance is accessed at `hyper-payments.service-now.com`, your subdomain is `hyper-payments`.
* Your **OAuth Client ID** and **OAuth Client Secret** are the credentials you created in [step 2](#2-create-an-oauth-app).
* Your **Username** and **Password** are the credentials for the service account you created in [step 3](#3-create-a-web-service-account).
* Click **Connect** to verify your credentials and complete the connection

Next, you'll want to set-up your incident ticket to sync incidents to ServiceNow, which you can view steps to complete [here](/integrations/servicenow-sync).
