ServiceNow CMDB Import for Icinga Director

24 September, 2026

Dirk Wening
Dirk Wening
Technical Writer

by | Sep 24, 2026

Last updated: September 24, 2026 · Reading time: 3–4 minutes

Manually transferring ServiceNow CMDB data into Icinga Director takes time and quickly results in outdated data. The Icinga Web 2 module ” icingaweb2-module-servicenow-import ” from NETWAYS fills this gap: It retrieves servers and network devices directly from ServiceNow via API and automatically creates them as hosts in Director.

Key Points

  • icingaweb2-module-servicenow-import is an Icinga Web 2 module that provides ServiceNow CMDB data via API as a new import source for Icinga Director.
  • Installation is performed as usual by cloning the Git repository into the module directory and activating it via the CLI or web interface.
  • Any valid ServiceNow Table API endpoint can be integrated; columns and records can optionally be filtered using “Columns” and “Query.”
  • There are three authentication methods to choose from: HTTP Basic Auth, API token, or OAuth2 client credentials.

Introduction to the Module

icingaweb2-module-servicenow-import is an Icinga Web 2 module from NETWAYS that provides a new import source for the Icinga Director. This allows CMDB objects—that is, servers and network devices—to be retrieved directly from a ServiceNow instance via its API and automatically created as hosts in Director.

Installation

Like a standard Icinga Web 2 module, it is cloned directly into the module directory:

cd /usr/share/icingaweb2/modules
git clone https://github.com/NETWAYS/icingaweb2-module-servicenow-import.git servicenowimport

Then enable it, either via the CLI:

 icingacli module enable servicenowimport

or via the web interface under Configuration → Modules.

Configuration and Example

In Icinga Director, create a new import source and select “ServiceNow Table API” as the type. The ServiceNow API URL is the base URL of your own instance, for example, https://instance0815.service-now.com. Under “ServiceNow CMDB Table Endpoint,” enter the full API path to the desired table, such as api/now/table/cmdb_ci_server. The ServiceNow API timeout controls how long the system waits for a response; the default is 20 seconds.

Optionally, you can limit the amount of data loaded: Using ServiceNow Columns, specify a comma-separated list of the desired columns, for example, name,ip_address. If you leave this field blank, all columns will be loaded. Using ServiceNow Query, you can also filter results using ServiceNow’s own filter syntax, such as nameSTARTSWITHlnux. If no specification is provided, the entire table will be imported.

The module deliberately does not restrict itself to a specific table; any valid ServiceNow Table API endpoint can be entered. The official ServiceNow documentation provides an overview of possible CMDB tables.

Not sure about the ServiceNow integration?
Our consultants provide support for the setup and operation of Icinga Director, including custom integrations.
Request a free quote now →

Authentication

There are three methods to choose from:

  • HTTP Basic Authentication: The username and password for an account with read access to the target table.
  • API token: A bearer token that is included in the ` x-sn-apikey ` header.
  • OAuth2 Client Credentials: Client ID, Client Secret, and scopes, which must be authorized for the endpoints being used. This requires the system property ` glide.oauth.inbound.client.credential.grant_type.enabled` on the ServiceNow side. According to the documentation, the access token is not currently cached; instead, it is requested anew with every query.

Conclusion on the ServiceNow CMDB Import

If you’re already using the notification integration described in the main article, this module lets you close the loop: CMDB data flows automatically from ServiceNow to Icinga Director, while notifications travel the other way back to ServiceNow. Both integrations can be used independently of one another, but for a complete picture, it’s worth taking a look at both.

How did you like our article?