Skip to main content

ServiceNow: Set up the integration

Connect 50skills to ServiceNow so your journeys can create and deactivate user accounts, add people to the right groups, open IT tickets, and order catalog items — all as automatic journey steps.

H
Written by Hanna Margrét Pétursdóttir

ServiceNow takes a few more steps than most integrations, because ServiceNow controls API access table by table — so we have to tell it which data 50skills is allowed to read and write. Do the steps below in order and the connector's actions will work as point-and-click steps with ready-made dropdowns.

This is a one-time setup — you'll usually do it together with your ServiceNow admin.


Before you start

You'll need:

  • Admin access to your ServiceNow instance (to create the credentials and access policies).


Step 1 – Create the integration user & API key in ServiceNow

Create a dedicated user for 50skills (User Administration → Users → New), e.g. "50skills Integration"

On the new user, leave Active ticked, set Identity type to Machine, and tick Internal Integration User so it can't be used for interactive login. Then Submit.

Then open the new user you just made and give it the roles

Give it the roles it needs — itil, rest_api_explorer, user_admin. Then Save.

In ServiceNow, create a REST API Key for 50skills (System Web Services → API Access Policies → REST API Key).

Create an Inbound Authentication Profile and attach the API key to it. Name it something recognisable, e.g. 50skills API Key. Then in the User field, click the lookup icon (🔍), search for the user you created in the earlier step, and click Submit.

Copy the API key value — you'll paste it into 50skills in Step 3.


Step 2 – Allow the tables the integration uses

This is the step people get stuck on most. Think of ServiceNow as keeping each type of data behind its own locked door. By default the 50skills key can't open any of them — you have to grant access to the "table" and the Attachment. That's all this step does.

Go to System Web Services → API Access Policies → REST API Access Policies.

In the API Access Policies click New to add Access Policy for 50skills.

REST API is set to Table API.

Apply to all methods, Apply to all resources, Apply to all versions and Apply to all tables are all ticked. Set the name

For the Inbound authentication profile, click the lookup icon (🔍) and pick the 50skills API Key you created in Step 1.

Click Submit to save.

Then do the same for the Attachment API:


Step 3 – Add the credentials in 50skills

  1. In 50skills, open the ServiceNow integration → Authentication.

  2. Enter your ServiceNow instance URL, then paste the API key from Step 1 and save.


Step 4 – Test the connection

  1. Open the ServiceNow integration → Endpoints.

  2. Expand any endpoint and click Test.

  3. A green 200 means you're connected. 🎉

If you get a 401, jump to Troubleshooting below — it's almost always a missing table in Step 2.


Troubleshooting

What you see

Why

Fix

401 "User is not authenticated" on a table

The Table API policy is missing, inactive, or the key isn't attached

Redo Step 2 — tick "Apply to all tables" and attach the key

401 on a table that is listed

Policy is pinned to one API version

Tick "Apply to all versions" on the policy

Empty failure / 500 when ordering a "catalog" item

It's actually a record producer, not a catalog item

Use the Retire a change template action (record producers submit differently than catalog items)

"Mandatory Variables are required"

A required field is empty, or a dropdown value doesn't match ServiceNow

Fill all required fields; pick from the provided dropdowns

"Duplicate values found in array data" on a list

A synced list's value isn't unique

Contact 50skills — the list needs a unique value field

Did this answer your question?