ServiceNow Integration

Serving you now with this Integration guide 💅🏼

Adam Faludi avatar
Written by Adam Faludi
Updated over a week 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 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.

Send data Webhook Configuration

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 e.g.https://instance.servicenow.com/api/now/v1/table/incident.


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 your Customer Success representative 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**********************************

In the Body, use JSON structure as per issue type. You can use Dynamic tokens to fill in a dynamic value. E.g. for creating sample incident JSON 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?