ServiceNow
ServiceNow Integration Guide
This guide details how to configure the bidirectional synchronization between CISO Assistant and ServiceNow. This integration allows you to:
Automatically create ServiceNow records (e.g. GRC Controls) from CISO Assistant.
Sync updates (Status, Priority, etc.) from CISO Assistant to ServiceNow.
Receive real-time updates from ServiceNow back into CISO Assistant via Webhooks.
For now, you are only able to sync CISO Assistant's applied controls to a ServiceNow table.
Prerequisites
Before starting, ensure you have:
ServiceNow Credentials: A service account with permissions to read/write to your target table (e.g.,
grc_control) and access the REST API.ServiceNow Admin Access: Required to create Outbound REST Messages and Business Rules for the inbound sync.
CISO Assistant Details:
Your Instance URL.
The Webhook Secret generated in your Integration Configuration panel.
Part 1: Outgoing Sync
First, configure CISO Assistant to connect to your ServiceNow instance.
Create Integration:
Go to Settings > Integrations.
Add a new ServiceNow integration.

Connection Details:
Instance URL: Enter your full instance URL (e.g.,
https://dev12345.service-now.com).Username/Password: Enter the credentials for the service account.
You can test the connection to your ServiceNow instance by pressing the Test Connection button

Discovery & Mapping:
Target Table: Select the ServiceNow table you want to sync with (e.g.,
Control [grc_control]).Field Mapping: Map CISO Assistant fields (Name, Description, Status) to the corresponding ServiceNow columns.
Value Mapping: For "Choice" fields like Status and Priority, map your local values (e.g.,
In Progress) to the specific ServiceNow logic (e.g.,2 - Work in Progress).
Save
Part 2: Incoming Sync
If you with to receive updates from ServiceNow, you first have to enable incoming sync in the ServiceNow integration settings panel.
Configure incoming sync in CISO Assistant
Generate a shared secret.
This secret is only shown once, make sure you Copy it before proceeding.

Configure ServiceNow
To receive updates from ServiceNow, you must configure a Business Rule that pushes data to CISO Assistant.
Create the Outbound REST Message
This defines where ServiceNow sends the data.
Log in to ServiceNow.
Navigate to System Web Services > Outbound > REST Message.

Click New.
Configure the message:
Name:
CISO_Assistant_SyncEndpoint: Paste your Webhook URL from Part 1.
Authentication:
No Authentication(we will use a header token).
Click Submit.
Crucial: Re-open the record and note the API Name field (e.g.,
x_12345_ciso_assistant_syncor justCISO_Assistant_Sync). You will need this for the script.
Configure the HTTP Method
In the REST Message record, scroll to the HTTP Methods list.
Create a New method (or edit the default one):
Name:
POST_EventHTTP Method:
POSTEndpoint: Paste your Webhook URL again.
Add Authentication Header:
Scroll to HTTP Request Headers.
Add a new row:
Name:
X-CISO-SecretValue: Paste your Webhook Secret from Part 1.
Add a second row:
Name:
Content-TypeValue:
application/json
Click Submit.

Create the Business Rule
This triggers the sync whenever a record changes.
Navigate to System Definition > Business Rules.

Click New.
Name:
Push to CISO Assistant.Table: Select the same table you chose in Part 1 (e.g.,
Control).Advanced: Check this box.
When to run:
When:
AfterInsert: Checked.
Update: Checked.
Filter Conditions: (Recommended) Add conditions to reduce noise, e.g.,
State changesORPriority changes.
Advanced (Script): Paste the following code.
Replace 'CISO_Assistant_Sync' in line 4 with the API Name you noted in Step 2.1.
Click Submit.

Usage
Once the integration is configured and enabled, CISO Assistant will start synchronizing applied controls with ServiceNow records.
For each applied control, a new record will be created in the configured ServiceNow table if you check 'Create remote object' in the applied control creation form.
The ServiceNow record will contain information from the applied control, such as its name, description, and status.
A link to the ServiceNow record will be displayed on the applied control page in CISO Assistant.
The synchronization is automatic. Any update on an applied control in CISO Assistant will be reflected in the corresponding ServiceNow record.
Attaching an applied control to a ServiceNow record
There are several ways to link an applied control to a ServiceNow record:
On applied control creation:
Open the
Integrationsdropdown menu located at the bottom of the formSelect the
ServiceNowintegration providerCheck the
Create remote objectcheckbox.This will create a ServiceNow record on the board specified in CISO Assistant's ServiceNow integration settings. This record will then be linked to the applied control.

On an existing applied control:
Go to an applied control's edit form
Open the
Integrationsdropdown menu located at the bottom of the formSelect the
ServiceNowintegration providerSelect the ServiceNow record you wish to link to your applied control.

Notes:
The default sync period on SaaS is at 60 seconds.
The API needs to be enabled and the instance reachable. If you're on SaaS plan, you can reach the support to do so.
For on-premises deployments, you might want to adapt
scheduler-intervalvalue on Huey
Verification & Troubleshooting
How to Verify
Create a new Control in CISO Assistant. Check ServiceNow to see if the record appears.
Update the State of that record in ServiceNow. Refresh CISO Assistant to see the status change.
Common Errors
Symptom
Cause
Solution
HTTP 401/403 in ServiceNow Logs
Secret Mismatch
Ensure the X-CISO-Secret header in ServiceNow matches the Webhook Secret in CISO Assistant exactly.
"RESTMessageV2 is not defined"
Scope Issue
Ensure the script uses the correct API Name for the REST Message (e.g., x_scope_ciso_sync).
CISO Assistant doesn't update
Missing Filter
Check the Business Rule filter conditions. Ensure the change you made (e.g., just changing a description) is covered by the filter.
Dropdowns empty in Setup
Permissions
Ensure the service account has read access to sys_db_object and sys_dictionary.
Last updated
Was this helpful?