1. Knowledge Base
  2. Implementation/Admin Learning Path

How do I configure a ServiceNow Integration for Ticketing?

Overview

  1. You need a Username and Password to use.
    1. This can be your username and password or a service account created specifically for this integration.
    2. Permissions required
      1. read and write to the tables you would like to issue tickets in
      2. Roles:
        1. rest_api_explorer
        2. snc_platform_rest_api_access
  2. Your organization's ServiceNow admin will need to create an OAuth Application 
    1. Note: This can be the same OAuth application created for CMDB integration.
    2. They require some information from you; see below.
    3. They will provide you with a Client Secret and Client ID
  3. You configure the Integration within the NopSec Integrations page.

ServiceNow Configuration

In order to complete the ServiceNow integration a ServiceNow admin is required to create an Oauth Application. You can provide the following steps to your Admin.

  1. Search for OAuth or look for the category of System OAuth in the navigation window
  2. Click on Application Registry
  3. Click ‘New’ to create a new Application 
  4. Select ‘Create an OAuth API endpoint for external clients’
  5. Make sure the following fields are filled out: 
    • Name: A unique name. 
    • Client ID: Client ID is automatically generated by ServiceNow OAuth server.
    • Client Secret: Client secret for the OAuth application. Leave it empty for auto-generation.
    • Refresh Token Lifespan: Time in seconds the Refresh Token will be valid.
    • Access Token Lifespan: Time in seconds the Access Token will be valid.
    • Redirect URL: https://us2.nopsec.com/integrations
  6. Click ‘Submit’ 

Ask your Admin to provide you with the following:

  • Client ID
  • Client Secret

ServiceNow Roles

The default configuration requires the following roles:

  1. rest_api_explorer
  2. snc_platform_rest_api_access

These roles are not restricted to specific tables and will be allowed to query any table you have within your ServiceNow.

NopSec only queries the tables that have Enabled Destinations. This means that through Destinations:
  • you can configure which team can see a specific table.
  • only the tables you configure via destinations are visible to NopSec.

However, you can further restrict access to ServiceNow tables by having your administrator create custom roles and configuring them to have access to specific Tables. 

  • The custom role must allow the user to Read and Write all tickets in the table. (this is what the rest_api_explorer role provides).
  • Create Attachments for a ticket in the table. (this is what the snc_platform_rest_api_access role provides).

Connect NopSec with ServiceNow 

  1. Login to NopSec 
    1. Your user needs to have the following permissions:
      1. integrations.read
      2. integrations.write 
  2. Click on Integrations
  3. Click on the Orchestration Tab
  4. Find the ServiceNow Ticketing card and click on Add Integration
  5. Configure the following in the Credentials Tab
    • Connection Name : Provide a unique name for this connection. You will use this in the future when creating Destinations and it will be visible to users.
    • URL: This is your ServiceNow URL (e.g. https://instancename-servicenow.com
    • Client ID: Use the Client ID that was generated by ServiceNow for the specific application.
    • Client Secret: Use the Client Secret that was generated by ServiceNow for the specific application.
    • Username: Provide the username used for the account in ServiceNow.
    • Password: Provide the password used for the account in ServiceNow.
  6. Click ‘Save and Connect’

If the integration is successful, a success message will appear in the bottom right corner of the window, and you are ready to begin configuring your Destinations. 

Create Destinations

Destinations are the configurations for each ITSM project or table where you would like to allow your users to create tickets in. 

For example, ServiceNow has default tables such as Incident or you may create custom tables to use to track tickets which you can give custom names. Within the Integrations Settings tab, you can create a Destination for each table you'd like to create tickets in.

Each Destination is configured for:

  • A specific list of users or teams who can create tickets in this destination. This allows you to restrict who can create tickets based on team or users.
  • A specific set of Group By settings, which allows you to restrict the types of tickets that will be created in your destination. For more information on Group By's read this.

Steps

  1. Go to Integrations
  2. Find the ServiceNow Integration in your My Integrations tab
  3. Open the Integration card by clicking on the "arrow" button at the far right of the ServiceNow card
  4. Click on "Go to Details"
  5. Click on the "Settings" tab
  6. Click on "Add Destinations"
  7. Type in the name of the ServiceNow table name. ex. Incident or "CustomName"
  8. Place your user as one of the Recipients.
    1. You will not receive an email, this is needed to save the form.
  9. Click on Settings tab
  10. Select the Teams you would like to be able to create tickets for this destinations in the Teams dropdown.
  11. Select one or more Group By options
  12. Enable Destination
  13. Click Save
  14. Contact your Customer Support team to help configure all Destination custom ticket formatting.  You will not be able to create any tickets until this step is completed. 
    1. This is needed to ensure all SNOW ticket fields are properly filled in, this is especially true if you are using a custom table.