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
In 50skills, open the ServiceNow integration → Authentication.
Enter your ServiceNow instance URL, then paste the API key from Step 1 and save.
Step 4 – Test the connection
Open the ServiceNow integration → Endpoints.
Expand any endpoint and click Test.
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 |















