Search Knowledge Base by Keyword

ServiceNow

< Back

Overview

ServiceNow is a cloud platform that enterprises use to run IT service management and to hold their configuration management database (CMDB). It is where incidents, requests and changes are logged, where hardware and software assets are tracked through their lifecycle, and where the organizational reference data that surrounds those assets lives: people, groups, departments, cost centers, companies and locations. Most enterprises treat ServiceNow as the system of record for “what IT owns and who owns it.”

The ReadyWorks Service Now connector reads that record. It authenticates against the ServiceNow REST Table API on a customer instance and pulls whole tables into ReadyWorks staging tables, one job per source table. The twelve shipped inbound job templates cover devices (hardware assets, configuration items, models, model categories, depreciation), users (users, user groups), and the organizational reference data that gives those records meaning (locations, companies, departments, cost centers, phone territories).

NOTE: The connector description names Device, User and Service Request data. No service request template ships with the connector. Build a service request job by hand against /api/now/table/sc_request or /api/now/table/sc_req_item if you need it.

Once staged, that data joins the ReadyWorks data fabric, where it is normalized against every other connected source. In practice this is what lets ReadyWorks answer questions ServiceNow alone cannot: reconciling the CMDB against what discovery tools actually see on the network, attaching application context to an asset before a refresh wave, or resolving a device to a named owner in a department with a cost center attached.

The connector is bidirectional. Outbound job fields are enabled, so jobs can be built to write back to ServiceNow, for example to raise a request or update a configuration item as a wave progresses. No outbound job templates ship with the connector, so outbound jobs are built by hand.

NOTE: Every inbound job template ships with Enabled set to No. Activate the jobs you need after you create the connection.

Connector Properties

Property Value
Identifier SNOW
Name Service Now (SNOW)
Description Connector for pulling Device, User, and Service Request data from ServiceNow
Job Types Both Inbound and Outbound
Order 110
Enabled Yes
Locked Yes
Block Update No
Single Authentication No
Windows Only No
Connector Version 2025-11-18
Hooks None
Additional Job Fields None
Image Service Now (SNOW) connector logo

Authentication Methods

Two methods ship with this connector. Both are enabled and both are marked as default.

Method Identifier Base Method Script Order Enabled Config Fields
Username and Password SNOW_user JSON Rest API_user json_rest_api.php 10 Yes 5
Certificate-based authentication SNOW_140794063e SNOW_140794063e json_rest_api.php 20 Yes 7

Method 1: Username and Password (SNOW_user)

Connect to a Service Now connector with a username and password

Basic authentication. ReadyWorks sends the ServiceNow username and password as a Base64-encoded Authorization: Basic header on every call. There is no separate token exchange, so the credential is presented on each request.

Connection Configuration Fields (5)

Order Label Type Required Default Max Len Tooltip
10 API Domain text Yes 255 Enter API domain of the Connection
30 Server Temporary Working Path text Yes storage/etl5 255 Enter path where temporary files are stored during data processing (exclude starting and ending backslash)
40 Username text No 1024 Enter username of the Connection
50 Password password No 64000 Enter password of the Connection
250 Additional Job Fields fields_list No Enter list of additional fields to add to staging data for all jobs

Authentication Configuration

Headers sent on the authentication call:

Header Value Base64
Content-Type: application/json Off
Authorization: Basic %user_name%:%user_pass% On

cURL options, applied to both the authentication call and the data calls:

Option Value
USERAGENT Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0
SSL_VERIFYHOST false
SSL_VERIFYPEER false
RETURNTRANSFER true
FOLLOWLOCATION true
FAILONERROR true

Method 2: Certificate-Based Authentication (SNOW_140794063e)

Connect to a Service Now connector using a certificate based authentication

An alternative for instances that do not permit basic authentication. Instead of a username and password, the connection stores a Service Id, a Mac Id and a Mac Key, all masked. The single stored header is >JwtType: snow, which selects the ServiceNow JWT handling in the driver; the three stored values are consumed by that handler rather than sent directly. This method also takes an explicit target host and port rather than a single API domain.

Connection Configuration Fields (7)

Order Label Type Required Default Max Len Tooltip
10 Target Host text Yes 255 Enter API target host of the Connection
20 Target Port text Yes 443 5 Enter port number of the source server
30 Server Temporary Working Path text Yes storage/etl5 255 Enter path where temporary files are stored during data processing (exclude starting and ending backslash)
60 Service Id password No 64000 Enter Service Id of the Connection
70 Mac Id password No 64000 Enter the Mac Id of the Connection
80 Mac Key password No 64000 Enter the Mac Key of the Connection
250 Additional Job Fields fields_list No Enter list of additional fields to add to staging data for all jobs

NOTE: Target Port is validated against [0-9]{1,5}. The message shown on a bad value is “Ports must be a number below 65536.”

Authentication Configuration

Headers sent on the authentication call:

Header Value Base64
>JwtType snow Off

cURL options, applied to both the authentication call and the data calls:

Option Value
SSL_VERIFYHOST false
SSL_VERIFYPEER false
RETURNTRANSFER true
FOLLOWLOCATION true
FAILONERROR true

Inbound Job Fields Enabled (44)

These are the settings the job editor shows when you create or edit an inbound job on a Service Now connection.

Order Label Type Required Default Tooltip
10 Job Description text Yes Enter description of the Job
20 Job Schedule lookup Yes Daily Select frequency Job should run
30 Enabled radio Yes Yes Choose if Job is enabled
40 Use Unparsed Data radio No No Choose if you wish to parse the incoming data, or leave it in its raw format
50 Log Raw API Calls radio Yes No Choose if raw API calls are logged
70 Destination Table text Yes Enter name of the destination table
80 Data Identity text No Enter identity of the Job
120 Append New Data to Existing Tables radio No No Choose if new data will append to the existing destination table, or will create a new destination table
130 Fields to Index text No Enter fields to index
170 Method Type select Yes GET Select method type of the Job
190 API End Point text No Enter API end point of the Job
200 API Data Parameters fields_list No Enter API data parameters of the Job
210 Body Data Sending Method select Yes JSON Encoded Data Select method for sending the body data
220 Raw JSON Body Data textarea No Enter the raw JSON body to send. Do not use body selections in the API Parameters if this is used.
230 API Return Data Node text No Enter API return data node of the Job
250 Pagination Type select No None Select request paging type of the Job
270 API Pagination Node text No Enter API pagination node of the Job
280 Pagination Offset Start text No Enter request paging offset start of the Job
290 Pagination Limit text No Enter pagination limit of the Job
300 Pagination Termination Node text No Enter request paging termination node and value of the Job
310 Maximum API Calls text No Enter maximum number of API calls for the Job to make
320 Enumeration 1 Type select No None Enter enumeration level 1 type
330 Enumeration 1 ETL Job lookup No Select ETL job for the enumeration values
340 Enumeration 1 Data Type data_type No Select the data type and fields for enumeration 1 values
350 Enumeration 1 Keys End Point text No Enter enumeration 1 keys end point of the Job
360 Enumeration 1 Node text No Enter enumeration 1 node of the Job
370 Enumeration 1 Fields fields_list No Enter enumeration 1 fields of the Job
380 Enumeration 2 Type select No None Enter enumeration level 2 type
390 Enumeration 2 ETL Job lookup No Select ETL job for the enumeration 2 values
400 Enumeration 2 Data Type data_type No Select the data type and fields for enumeration 2 values
410 Enumeration 2 Keys End Point text No Enter enumeration 2 keys end point of the Job
420 Enumeration 2 Node text No Enter enumeration 2 node of the Job
430 Enumeration 2 Fields fields_list No Enter enumeration 2 fields of the Job
440 Enumeration 3 Type select No None Enter enumeration level 3 type
450 Enumeration 3 ETL Job lookup No Select ETL job for the enumeration 3 values
460 Enumeration 3 Data Type data_type No Select the data type and fields for enumeration 3 values
470 Enumeration 3 Keys End Point text No Enter enumeration 3 keys end point of the Job
480 Enumeration 3 Node text No Enter enumeration 3 node of the Job
490 Enumeration 3 Fields fields_list No Enter enumeration 3 fields of the Job
500 Pause Enumeration text No Enter values for pausing enumeration every X calls for Y seconds
510 Kill Enumeration on Error radio No No Choose to stop the enumeration loop on an error or continue processing the loop
520 Additional Fields fields_list No Enter list of additional fields to add to staging data
550 Retry Pause text No Enter values for retrying a failed API connection. Retry X times, waiting Y seconds between each try, with an API timeout of Z seconds.
560 Order text Yes Enter order of the Job

Inbound Job Templates (12)

Every template calls the ServiceNow REST Table API at /api/now/table/<table> with a GET, reads the response from the result node, and writes to a ReadyWorks staging table named after the source table. All twelve ship disabled, on the Daily schedule, with pagination and enumeration off.

# Job Description ServiceNow Table Destination Table Indexed Fields What It Pulls
1 Location cmn_location snow_cmn_location sys_id Sites, buildings, floors and other physical locations used to place people and assets.
2 Company core_company snow_core_company sys_id Companies known to the instance: the customer’s own legal entities, vendors, manufacturers and partners.
3 Phone Territory sys_phone_territory snow_sys_phone_territory sys_id Telephone territory and dialing-plan reference data used to normalize contact numbers.
4 User sys_user snow_sys_user sys_id, active, sys_class_name, email The people record: names, email, employee number, manager, department, location and active status. The backbone of device-to-owner resolution.
5 User Group sys_user_group snow_sys_user_group sys_id Groups used for assignment, approval and notification, with their managers and parent groups.
6 Device alm_hardware snow_alm_hardware sys_id, asset_tag, serial_number The hardware asset register: asset tag, serial number, model, cost, assigned user, location and lifecycle state.
7 CMDB Configuration cmdb_ci snow_cmdb_ci sys_id, asset_tag, fqdn, install_status, sys_class_name The base configuration item table, covering every CI class in the CMDB. Carries FQDN, install status and the CI class name that identifies what each record actually is.
8 Depreciation cmdb_depreciation snow_cmdb_depreciation sys_id Depreciation schedules and methods applied to assets, used for cost and lifecycle reporting.
9 Device Model cmdb_model snow_cmdb_model sys_id The product model catalog: manufacturer, model number, display name and specifications.
10 Device Model Category cmdb_model_category snow_cmdb_model_category sys_id Categories that group models, for example laptop, desktop, monitor or server.
11 Cost Center cmn_cost_center snow_cmn_cost_center sys_id Cost centers with their codes, managers and account numbers, used to attribute asset and program cost.
12 Department cmn_department snow_cmn_department sys_id The department hierarchy, with department heads and their parent companies.

Job Template Configuration

The twelve templates differ only in job description, destination table, data identity, API end point and indexed fields. Every other setting is identical.

Settings Common to All Twelve Templates

Setting Value
Job Schedule Daily (15 1 * * *)
Enabled No
Order 10
Allow Empty Table Yes
Append Files to Same Destination Table No
Append New Data to Existing Tables No
Use Unparsed Data No
Convert UUID-Keyed Objects to Rows No
Ignore XML Attributes No
Log Raw API Calls No
Method Type GET
Body Data Sending Method JSON Encoded Data
API Return Data Node result
Pagination Type None
Enumeration 1/2/3 Type None

Settings That Vary by Template

Template ID Destination Table Data Identity API End Point Fields to Index
Location 171 snow_cmn_location snow_cmn_location /api/now/table/cmn_location sys_id
Company 172 snow_core_company snow_core_company /api/now/table/core_company sys_id
Phone Territory 173 snow_sys_phone_territory snow_sys_phone_territory /api/now/table/sys_phone_territory sys_id
User 174 snow_sys_user snow_sys_user /api/now/table/sys_user sys_id, active, sys_class_name, email
User Group 175 snow_sys_user_group snow_sys_user_group /api/now/table/sys_user_group sys_id
Device 176 snow_alm_hardware snow_alm_hardware /api/now/table/alm_hardware sys_id, asset_tag, serial_number
CMDB Configuration 177 snow_cmdb_ci snow_cmdb_ci /api/now/table/cmdb_ci sys_id, asset_tag, fqdn, install_status, sys_class_name
Depreciation 178 snow_cmdb_depreciation snow_cmdb_depreciation /api/now/table/cmdb_depreciation sys_id
Device Model 179 snow_cmdb_model snow_cmdb_model /api/now/table/cmdb_model sys_id
Device Model Category 180 snow_cmdb_model_category snow_cmdb_model_category /api/now/table/cmdb_model_category sys_id
Cost Center 181 snow_cmn_cost_center snow_cmn_cost_center /api/now/table/cmn_cost_center sys_id
Department 182 snow_cmn_department snow_cmn_department /api/now/table/cmn_department sys_id

NOTE: Pagination ships off on all twelve templates. The ServiceNow Table API caps a single response, so on a large instance set Pagination Type to Records and populate Pagination Offset Start and Pagination Limit on the User, Device and CMDB Configuration jobs to retrieve the full table.

Outbound Job Fields Enabled (13)

Service Now is a bidirectional connector, so the outbound job editor is available on any Service Now connection.

Order Label Type Required Default Tooltip
10 Job Description text Yes Enter description of the Job
30 Enabled radio Yes Yes Choose if Job is enabled
50 Log Raw API Calls radio Yes No Choose if raw API calls are logged
170 Method Type select Yes GET Select method type of the Job
180 Data Sending Method select Yes JSON Encoded Data Select method for sending the outbound data
190 API End Point text No Enter API end point of the Job
200 API Data Parameters fields_list No Enter API data parameters of the Job
210 Body Data Sending Method select Yes JSON Encoded Data Select method for sending the body data
260 Return Data Fields List fields_list Yes Enter return data fields of the Job
530 Outbound Fields List fields_list Yes Enter outbound fields of the Job
540 Ignore Empty Outbound Fields radio No Yes Ignore, and do not include, any outbound fields that are empty and have no data
550 Raw JSON Outbound Template textarea No Enter the raw JSON outbound template to send. This will replace any automated structures defined in the outbound fields.
560 Order text Yes Enter order of the Job

Outbound Job Templates (0)

No outbound job templates ship with this connector. Build outbound jobs by hand on the Outbound Jobs tab of an active connection, using the fields above. A typical outbound job posts to /api/now/table/<table> with Method Type set to POST to create a record, or to PATCH against /api/now/table/<table>/<sys_id> to update one.