Skip to main content

About ServiceNow

ServiceNow is an IT service management (ITSM) platform that manages tickets, incidents, change requests, and IT assets.

What the ServiceNow integration enables

CapabilityDescription
Ticket SyncNative bidirectional sync between Serval tickets and ServiceNow incidents
Knowledge BaseSync knowledge articles from ServiceNow directly into Serval for AI-powered assistance
Workflow AutomationBuild Serval workflows using the ServiceNow Table API, Catalog API, and Change Management API

ServiceNow Configuration

This integration requires a dedicated service account with specific, limited permissions. Do not use a personal account or admin account. Following the principle of least privilege ensures security and auditability.

Prerequisites

Before configuring the ServiceNow integration in Serval, ensure you have:
  • Access to your ServiceNow instance as an administrator
  • Permissions to create users, roles, and ACLs
  • Knowledge of your ServiceNow instance name

Step 1: Create a Dedicated Integration User

1

Navigate to User Administration

  1. Log in to your ServiceNow instance as an administrator
  2. In the application navigator search bar, type “Users” and select User Administration → Users
  3. Click New to create a new user
2

Configure User Details

Fill in the required user information:
FieldValue
User IDserval.integration
First nameServal
Last nameIntegration
Active✅ Checked
Web service access only✅ Checked (recommended for API-only accounts)
Internal Integration User✅ Checked (if available in your ServiceNow version)
Photo (Optional)Download the Serval logo then select it from your downloads
Setting “Web service access only” ensures this account cannot be used for interactive login, improving security.
Click Submit to create the user.
3

Set the User Password

  1. On the Users page, search for the user you just created and click on it
  2. Click Set Password
  3. Click Generate Password
  4. Important: Click the Copy button to copy the password and save it securely
Save this password immediately — you will not be able to view it again. You’ll need it when configuring Serval.
  1. Click Submit

Step 2: Create a Custom Role for Serval

Creating a custom role with granular permissions is the recommended approach for production environments. This follows the principle of least privilege and provides better security than using out-of-the-box roles like itil or admin.
1

Create the Custom Role

  1. In the navigator, search for “Roles” and select User Administration → Roles
  2. Click New
  3. Fill in the role details:
FieldValue
Namex_serval_integration
DescriptionCustom role for Serval integration with least-privilege API access
  1. Click Submit
2

Add Base Roles

Open the role you just created and scroll down to the Contains Roles related list. Add the following base roles:
RolePurpose
rest_api_explorerEnables REST API access
personalize_choicesAllows reading sys_choice values
personalize_dictionaryAllows reading sys_dictionary for field definitions
These base roles provide the foundational REST API capabilities. We will add granular table access via ACLs in the next step.

Step 3: Configure Table Access via ACLs

Serval requires specific read/write access to various ServiceNow tables. You’ll create Access Control List (ACL) rules to grant only the necessary permissions.
The following tables require access:

Incident Management Tables

TableReadCreateWriteFields
incidentAll standard incident fields
sys_journal_fieldComments and work notes

Service Catalog Tables

TableReadCreateWriteFields
sc_cat_itemCatalog item details
sc_requestService requests
sc_req_itemRequested items

Configuration Tables (Read-Only)

TableReadCreateWritePurpose
sys_userUser lookup for assignment
sys_user_groupAssignment group lookup
sys_choiceField dropdown values
sys_dictionaryField definitions
cmdb_ci_serviceBusiness services

Knowledge Base Tables (Read-Only)

TableReadCreateWritePurpose
kb_knowledge_baseKnowledge base metadata
kb_categoryKnowledge categories
kb_knowledgeKnowledge articles

User Criteria Tables (Read-Only)

These tables are used to determine which users have access to knowledge articles and catalog items.
TableReadCreateWritePurpose
user_criteriaUser criteria definitions (users, groups, companies, etc.)
kb_uc_can_read_mtomKnowledge article access - users who CAN read
kb_uc_cannot_read_mtomKnowledge article access - users who CANNOT read
sc_cat_item_user_criteria_mtomCatalog item access - users who CAN access
sc_cat_item_user_criteria_no_mtomCatalog item access - users who CANNOT access

Step 4: Assign the Custom Role to the Integration User

1

Open the User Record

  1. Navigate to User Administration → Users
  2. Find and open the serval.integration user
2

Add the Custom Role

  1. Scroll down to the Roles related list
  2. Click Edit
  3. Add the x_serval_integration role (or the OOB roles if you chose that approach)
  4. Click Save

Step 5 (Optional): Verify API Access

This step is optional but recommended to verify your configuration before connecting to Serval. If you encounter issues connecting, use these methods to troubleshoot.
1

Test with REST API Explorer

  1. In the navigator, search for “REST API Explorer”
  2. In the Namespace dropdown, select now
  3. In the API Name dropdown, select Table API
  4. Click Send to test a simple query
If you see a successful response with data, the API access is working correctly.
2

Test with cURL (Optional)

You can also test from the command line:
curl -X GET \
  'https://YOUR_INSTANCE.service-now.com/api/now/table/incident?sysparm_limit=1' \
  -H 'Accept: application/json' \
  -u 'serval.integration:YOUR_PASSWORD'
Replace YOUR_INSTANCE and YOUR_PASSWORD with your actual values.

Step 6: Identify Your ServiceNow Instance

Your ServiceNow instance name can be found in your ServiceNow URL:
  • If your ServiceNow URL is https://mycompany.service-now.com, then:
    • Instance Name: mycompany
The instance name is the subdomain portion of your ServiceNow URL.

Serval Configuration

Once you have created the integration user with appropriate permissions, follow these steps to configure the integration in Serval:
1

Navigate to ServiceNow App

  1. In Serval, go to Apps → Available → ServiceNow → Connect
  2. The ServiceNow configuration form will appear
2

Enter Configuration Details

Fill in the following fields with the information from your ServiceNow setup:
FieldDescriptionExample
Instance NameYour ServiceNow instance identifiermycompany
UsernameThe username of your integration userserval.integration
PasswordThe password for your integration useryour_secure_password
3

Test the Connection

  1. Navigate to the API Integration tab
  2. Click Run on the healthchecks to verify that Serval can successfully authenticate with your ServiceNow instance
Need additional help with your ServiceNow integration? Contact support@serval.com for technical assistance or advanced configuration questions.