The ServiceNow integration allows you to use Strike Graph's Bridge-style of integration to collect evidence directly from ServiceNow's REST API for your compliance needs. This integration uses OAuth authentication to securely connect to your ServiceNow instance and allows you to specify exactly which API endpoints to call and what data to collect.
With this integration, you can gather evidence from almost any part of ServiceNow, including:
User access lists and role assignments
Change and incident records
System configurations and properties
CMDB configuration items
Audit logs and activity history
And more!
Important note: Setting up the ServiceNow integration requires someone with administrator access to your ServiceNow instance to configure an OAuth Application Registry entry. This is a one-time setup step.
Setting Up the ServiceNow Integration
Prerequisites
An active ServiceNow instance with administrator access
Ability to create an OAuth Application Registry entry in ServiceNow
Appropriate permissions within Strike Graph to manage integrations
Step 1: Create an OAuth Application Registry entry in ServiceNow
Before connecting in Strike Graph, a ServiceNow administrator needs to register Strike Graph as an authorized OAuth application.
In your ServiceNow instance, navigate to System OAuth > Application Registry
Click New and select Create an OAuth API endpoint for external clients
Fill out the form with the following:
Name: A recognizable name, such as "Strike Graph"
Client ID: ServiceNow will generate this automatically — copy it for the next step
Client Secret: ServiceNow will generate this automatically — copy it for the next step
Redirect URL: Copy the callback URL from Strike Graph (see Step 2 below) and paste it here
Under OAuth Grants, confirm that both of the following grant types are enabled:
Authorization Code — required for the initial authentication flow
Refresh Token — required for Strike Graph to maintain the connection over time without requiring you to re-authenticate
Important: If the Refresh Token grant type is not enabled, the integration will appear to connect successfully but will stop collecting evidence after the initial access token expires. If you've already created the registry entry and are experiencing reconnection issues, edit the entry to verify both grant types are checked.
Save the entry
For more details on setting up inbound OAuth in ServiceNow, refer to ServiceNow's Inbound OAuth documentation.
Step 2: Connect your ServiceNow account in Strike Graph
Navigate to Integrations in the main Strike Graph menu
Find the ServiceNow integration card and click Add Integration
Copy the Callback URL shown in the form — you will need to paste this into the ServiceNow OAuth Application Registry entry (see Step 1 above)
Enter your ServiceNow Instance name. This is the subdomain of your ServiceNow URL — for example, if your instance URL is
mycompany.service-now.com, your instance name ismycompanyEnter the Client ID and Client Secret from your ServiceNow OAuth Application Registry entry
Click Save
You'll be redirected to ServiceNow to authorize the connection — sign in and approve the request
You'll be redirected back to Strike Graph with the integration now active
Once connected, your ServiceNow integration will appear in the integration list with an "Active" status.
Please note: Access tokens for this integration expire after 90 days. Strike Graph will attempt to refresh the token automatically, but if the refresh fails you can reconnect the integration at any time using the Reconnect button.
Collecting Evidence from ServiceNow
Step 1: Select an evidence object
Navigate to the evidence object where you want to add ServiceNow data
Click the Attach button to open the attachment options, or click Automated Collection if you'd like the evidence to be recollected automatically before it expires (recommended)
Select your ServiceNow integration from the list of available sources
Step 2: Configure your API request
The ServiceNow evidence collection form has three main components:
HTTP Method
Select the type of request you want to make:
GET — Retrieve data from an endpoint (most common)
POST — Send data to an endpoint and retrieve the response
API Route
Enter the ServiceNow API route you want to access. This should be the portion of the URL after your instance's base domain. For example, if the full endpoint URL is https://mycompany.service-now.com/api/now/table/sys_user, you would enter:
api/now/table/sys_user
Refer to the ServiceNow REST API documentation for the full list of available endpoints and their requirements.
Request Body (for POST requests only)
If you selected POST as your HTTP method, you'll see an additional field for the request body. This should be valid JSON formatted according to the requirements of the ServiceNow endpoint you're calling.
Step 3: Submit your request
Click Attach (or Save if configuring Automated Collection) to execute the API request
Strike Graph will process your request and collect the data
Once complete, the evidence will be attached to your evidence object as a JSON file
Common ServiceNow API Routes for Compliance Evidence
ServiceNow's Table API is the primary mechanism for querying data across the platform. Most endpoints follow the pattern api/now/table/{table_name}, with optional query parameters to filter or limit results. The list below covers endpoints that are frequently relevant for compliance programs — confirm specific requirements (query parameters, pagination, field selection) in the ServiceNow Table API documentation.
User Access and Identity
api/now/table/sys_user— List of all users in the instanceapi/now/table/sys_user_role— Role definitionsapi/now/table/sys_user_has_role— User-to-role assignmentsapi/now/table/sys_user_group— User groupsapi/now/table/sys_user_grmember— Group membership records
Change and Incident Management
api/now/table/change_request— Change requests (useful for change management evidence)api/now/table/change_task— Tasks associated with change requestsapi/now/table/incident— Incident recordsapi/now/table/problem— Problem records
Audit and Activity
api/now/table/sys_audit— Audit logs for record changes across the platformapi/now/table/sys_log— System logs
System Configuration
api/now/table/sys_properties— System properties and configuration settingsapi/now/table/sys_security_policy— Security policy definitionsapi/now/table/sys_policy— System policies
CMDB and Assets
api/now/table/cmdb_ci— Configuration items (all types)api/now/table/cmdb_ci_computer— Computer configuration itemsapi/now/table/cmdb_ci_server— Server records
Tip: Many ServiceNow Table API endpoints return large record sets by default. You can use query parameters like sysparm_limit, sysparm_query, and sysparm_fields to scope the results down to just the data you need. For example:
api/now/table/sys_user?sysparm_fields=user_name,email,active,last_login&sysparm_limit=1000
If you want the most recently updated records (rather than created), swap in
sys_updated_oninstead:sysparm_query=ORDERBYDESCsys_updated_onYou can stack query conditions using
^as an AND operator — for example, to get the 25 most recently created active users:sysparm_query=active=true^ORDERBYDESCsys_created_on&sysparm_limit=25For compliance purposes,
sys_updated_onis often more useful thansys_created_onsince it surfaces records that have changed recently, which is what auditors typically care about for things like access reviews or change requests
Troubleshooting
Authentication Issues
If you receive authentication errors when setting up or using the integration:
Click the Reconnect button next to your ServiceNow integration in the Integrations Manager
Verify that the Callback URL in your ServiceNow OAuth Application Registry matches exactly what is shown in Strike Graph
Confirm that the Client ID and Client Secret are copied correctly and have not been rotated since setup
Re-authorize the connection by following the OAuth prompts
Invalid API Route
If you receive an error about an invalid route:
Double-check that your API route does not include the base domain (
mycompany.service-now.com) — only the path after the domain should be enteredConfirm the endpoint exists in the ServiceNow REST API documentation
Ensure your ServiceNow user account has the necessary permissions to access the requested table or endpoint
Invalid JSON in Request Body
For POST requests, if you receive a JSON validation error:
Ensure all keys and string values are wrapped in double quotes
Validate your JSON using an online JSON validator before submitting
Check the ServiceNow API documentation for the required request body format for the endpoint
Missing or Incomplete Data
If the evidence collects successfully but the data is not what you expected:
Review whether you need to add query parameters (such as
sysparm_queryorsysparm_fields) to the API route to scope the resultsVerify that the ServiceNow user account associated with the integration has read access to the data you're requesting
Check whether pagination is limiting results (use
sysparm_limitandsysparm_offsetto retrieve additional records)
