Skip to main content
ServiceNow Integration

Serving you now with this Integration guide 💅🏼

Adam Faludi avatar
Written by Adam Faludi
Updated over a month ago

ServiceNow Integration

Do you want to automate the creation of tickets in ServiceNow by pushing data from Enboarder? You can do that using our Webhook module. ✨

Note: We have mostly based our Integration around the creation of Incident and Service Request tickets in ServiceNow using ServiceNow’s RestAPI.

Before you begin: Like anything worth doing, integrations take time. Please allow up to 4 weeks for this integration to be completed, this includes time for scoping, development and testing. You’ll also need to have a system expert and/or system administrator to assist in the completion of this integration.

Configuration using Standard Authentication

These are the steps to configure a Webhook in Enboarder using the Webhook module:

Step 1: Click the '+' button and scroll down then click 'Webhook'

Step 2: Name the Webhook module!

Step 3: Enter URL: fill in your ServiceNow rest API URL

replace instance in the above example with your ServiceNow URL. E.g. dev53506 or whatever your instance name is.

Note: If the ServiceNow instance is behind a firewall our public IP has to be allowlisted first.

Contact Customer Support for the public IP Address.

Step 4: Select Method as Post (data to URL).


Step 5: Add two Headers with the respective key as

Header Key

Header Value

Content-Type

application/json

Authorization

Authorization header with a string “Basic” appended with base64 encoded

username: password. I.e.

if ServiceNow user name is SN_USER and ServiceNow password is SN_PASSWD then base64 encode the string SN_USER:SN_PASSWD and then in Header value enter it with “Basic” prepended to it.


Example:

Notes:

  • When Basic Authentication is needed, the target system api requires data in the Authorization header with the string “Basic” appended with base64 encoding.

  • As an example, when sending username:password with base 64 encoding, if the target system username is SN_USER and the password is SN_PASSWD then you will need to first base64 encode the string SN_USER:SN_PASSWD and then in header value enter it with “Basic” prepended to it.

To encode it please use the below commands

  • In a Linux based system, please use the below command from the command line:


******************** Base 64 encode *************************

$ echo "SN_USER:SN_PASSWD" | base64

// output will be

$ U05fVVNFUjpTTl9QQVNTV0QK

***********************Ends**********************************

// to decode it use below command

******************** Base 64 decode *************************

$ echo "U05fVVNFUjpTTl9QQVNTV0QK" | base64 --decode

// output will be

$ SN_USER:SN_PASSWD

***********************Ends**********************************

  • In a Windows based system, please use the below command from the command line:

******************** Base 64 encode *************************

First save the text in 'file'.

To encode a file, type the following command and replace "path\to\file" with the actual path to your file:

c:/> certutil -encode "path\to\file" encodedfile.txt

Press Enter to execute the command. The encoded file will be saved as "encodedfile.txt" in the same directory as the original file

Note- the value is in the second line of the file.

c:/> type encodedfile.txt

-----BEGIN CERTIFICATE-----

U05fVVNFUjpTTl9QQVNTV0QK

-----END CERTIFICATE-----

***********************Ends**********************************

// to decode it use the below command

******************** Base 64 decode *************************

To decode a file, type the following command and replace "path\to\file" with the actual path to your file:

certutil -decode "path\to\file" decodedfile.txt

Press Enter to execute the command. The decoded file will be saved as decodedfile in the same directory as the original file

***********************Ends**********************************

Configuration using OAuth

  1. Make sure the OAuth plugin is active and the OAuth activation property is set to true.

  2. Create an OAuth application registry using one of the following methods:

    • Create an endpoint for external clients that want to access your instance. This creates an OAuth client application record and generates a client ID and client secret that the client needs to access the restricted resources on the instance.
      Navigate to System OAuth > Application Registry and then click New.

  • On the interceptor page, click Create an OAuth API endpoint for external clients and then fill in the form. The redirect URL will be https://auth.enboarder.com/oauth

Setting up Service Now Tile in Enboarder App

  • Login as an admin user and go to Settings → Apps & Integrations → App center

  • Click on the the ServiceNow tile

  • Click on Add Integration

  • On thenext screen, enter your instance name (Example- dev53116.service-now.com), any additional scopes if required, your client id and secret key which you generated while registering the application in ServiceNow.

  • Click on Add Integration

The system will redirect you to ServiceNow. Enter your Service Now credentials. Once logged in, a request for information access will be asked. Once this is allowed, your instance will be set up, and the integration is completed.

Sending data from Enboarder to ServiceNow

In the Body, use JSON structure as per the issue type in ServiceNow. Choose either Standard Authentication or ServiceNow (if you have set up the ServiceNow tile in the above steps) as the Authentication type. As mentioned earlier, you will use the ServiceNow rest API URL e.g.https://instance.servicenow.com/api/now/v1/table/incident.
 or https://{instance}.service-now.com/api/now/table/sc_request or https://{instance}.service-now.com/api/now/table/sc-task

You can use Dynamic tokens to fill in a dynamic value. E.g. for creating a sample incident or request, theJSON will look like:

{
“Enboarder_key”: ”{{externalid}}”,
“Hire_Name” : “{{new_hire}}”,
"short_description":"Laptop provisioning for {{new_hire}}”, “assignment_group":"287ebd7da9fe198100f92cc8d1d2154e", “urgency":"2",
"impact":"2",
“comments":"It has to be a mac pro”
}

ServiceNow Rest API detailed Instructions can be found at:

Got questions? 🧐 Start a chat with the team in the top right of any Enboarder page! ✔

Did this answer your question?