ServiceNow integration: Overview

By Katelyn Husvar

Learn how to integration Kandji with your ServiceNow tenant

About

The Kandji integration with SerivceNow leverages a ServiceNow OAuth client that uses the “Resource Owner Password Credentials (ROPC)” Grant Type to request access and refresh tokens to interact with CMDB tables in the ServiceNow instance. This integration automatically pushes device inventory data from Kandji to ServiceNow in real-time using the ServiceNow Import Set API ensuring that your Apple device inventory in ServiceNow remains in sync with Kandji.

Setup overview

The following is a high-level overview of the integration setup process.

  1. Install the Kandji ServiceNow app in the ServiceNow integration hub.
  2. Configure an OAuth client app so that Kandji can interact with the ServiceNow import set API.
  3. Create a ServiceNow user account that can access the ServiceNow API.
  4. Setup the ServiceNow integration in Kandji.
  5. Done

Once the above is complete, Kandji will immediately begin to push device asset data to ServiceNow.

In order for the computer record in ServiceNow to be populated with the assigned user from Kandji, that user must already be registered in ServiceNow.

High-level data flow

When a device enrolls into Kandji or a device record is modified, the following steps highlight the actions taken to push the changes to ServiceNow:

  1. A change to Kandji device inventory is detected.
  2. Kandji pushes these changes to ServiceNow staging tables via the ServiceNow Import Set API.
  3. Once the import set flow is initiated, a transform map is used to match columns from the staging tables to columns in the target tables.
  4. ServiceNow then creates or updates device records in the ServiceNow computer table and Kandji MDM table accordingly.

Table Interactions

Kandji inserts device information into the ServiceNow tables below via the Import Set tables API.

TableDescription
cmdb_ci_computersBuilt-in ServiceNow table containing hardware information about devices. (Mac, iPhone, iPad, and tvOS).
x_kandj_kandji_mdmCustom table built by Kandji to store additional MDM related data about device assets.
x_kandj_kandji_kandji_import_set_computerImport set staging table used to stage device asset information before it is pushed to the cmdb_ci_computers table.
x_kandj_kandji_kandji_import_set_mdmImport set staging table used to stage MDM related device asset information be it is pushed to the x_kandj_kandji_mdm table.

Kandji device attributes

Kandji sends the following device asset data to ServiceNow. Kandji will continue to add attributes to this list over time.

Table: cmdb_ci_computers

KandjiServiceNowDescription
assigned_user
assigned_to
User assigned to the device asset
device_capacitydisk_space
Total storage capacity
device_namenameName of the device
Discovery source
discovery_sourceConstant value set to "Kandji"
model_namemodelDevice model name
os_typeosOperating system name macOS
os_versionos_versionOperating system version
serial_numberserial_numberDevice serial number, also coalesces (refers back) to the computer table record in ServiceNow
manufacturermanufacturerConstant value set to "Apple"

Table: x_kandj_kandji_mdm

KandjiServiceNowDescription
device_idnameKandji device ID
blueprint_idnameKandji blueprint ID, also coalesces (refers back) to the Kandji MDM table record in ServiceNow.
serial_numberserial_numberDevice serial number, also coalesces (refers back) to the computer table record in ServiceNow.

Up next

ServiceNow Configuration for the Kandji ServiceNow integration.