Skip to main content

ServiceNow

CatalogDiscoveryScorecards

Overview

ServiceNow is a CMDB (configuration management database) to define, manage, automate and structure IT services. Integrate your ServiceNow instance with Cortex to import your services and teams. Use this integration to drive insights into values such as:

  • Service discovery
  • Ownership
  • Team membership

After the integration is configured, your teams and ownership information from ServiceNow will be visible in Cortex.

How to configure ServiceNow with Cortex

Prerequisites

Your ServiceNow user must have the sn_cmdb_user permission enabled.

Step 1: Configure the integration in Cortex

  1. In Cortex, navigate to the ServiceNow settings page:
    1. In Cortex, click your avatar in the lower left corner, then click Settings.
    2. Under "Integrations", click ServiceNow.
  2. Configure the ServiceNow integration form:
    • Instance name: Enter your instance identifier.
    • Username and Password: Enter your ServiceNow username and password.
  3. Click Save.

Stay on this page for the next steps.

Step 2: Configure table mappings

  1. On the ServiceNow integrations settings page, click Add table mapping on the right.
  2. Configure the "Add table mapping" form:
    • Choose a mapping type: Select whether your data will map to a Service, Team, Team members, Team & Team member relationships, Domain, or Domain relationships. Select a mapping type
    • Table name: Enter a descriptive name.
    • Table filter query: Optionally, enter a table filter query.
    • ID column name: Enter the column name that contains the ID of the record.
    • Name column name: Enter the column name that contains the name of the record.
    • Description column name: Enter the column name that contains the description of the record. Configure the table mappings form
    • Note: To import teams, you must configure table mappings for the team, its team members, and their relationships.
  3. Click Save table mapping.

How to connect Cortex entities to ServiceNow

To import entities from ServiceNow, follow the steps described below.

Import entities from ServiceNow

To import services, teams, or domains:

  1. In the main nav of Cortex, click Catalogs > All entities.
  2. On the right side of the Entities page, click Import entities.
  3. Select the entity type (Service, Team, or Domain).
  4. On the "Import entities" page, select ServiceNow.
  5. A list of discovered entities will appear. Click an entity to add it.
  6. When you are finished adding entities, click Add.

Note that the domain relationships cannot be manually imported; these are automatically imported via the automatic discovery setting described below.

Enable automated discovery of domains for ServiceNow

  1. In Cortex, go to the Entities settings page:
    1. Click your avatar in the lower left corner, then click Settings.
    2. Under "Workspace," click Entities.
  2. Click the "Domains" tab.
  3. Toggle the setting on to enable the automated import of any domains and domain relationships from ServiceNow.
    Toggle the setting on to automatically import ServiceNow domains and domain relationships
    • To sync newly-discovered domains, go to Catalogs > Domains, then click Sync domains in the upper left corner.

The automatic sync runs daily at 2 p.m. UTC.

Editing the entity descriptor

When the entity is connected to ServiceNow, the entity YAML will look like the following:

x-cortex-servicenow:
services:
- tableName: cortex-services
id: 1

Configuring ownership of your ServiceNow entities

To import teams, configure the table mappings to pull teams, team members, and their relationships from ServiceNow. After doing so, follow the steps to import them.

You can define the following block in your Cortex entity descriptor to add your ServiceNow group as an owner.
x-cortex-owners:
- type: group
name: My ServiceNow Team
provider: SERVICE_NOW
description: This is a description for this owner # optional

The value for name should be the name of the team as defined in ServiceNow (case-sensitive).

Scorecards and CQL

After pulling in teams from ServiceNow and assigning them as owners to existing entities, you can create Scorecard rules and write CQL queries based on entity ownership:

Entity owners

Check if an entity has an owner.

Definition: ownership != null

Entity has at least one team owner

Check if an entity has at least one team as an owner.

Definition: ownership.teams().length > 0

Entity has at least one owner

Check if an entity has at least one owner, whether specified directly or coming from a team.

Definition: ownership.allOwners().length > 0

Background sync

Cortex conducts a background sync of ServiceNow domains, domain relationships, and services every day at 2 p.m. UTC.

Still need help?

The following are all the ways to get assistance from our customer engineering team. Please use the option that is best for your users:

  • Email: help@cortex.io, or open a support ticket in the in app Resource Center
  • Chat: Available in the Resource Center
  • Slack: Users with a connected Slack channel will have a workflow added to their account. From here, you can either @CortexTechnicalSupport or add a :ticket: reaction to a question in Slack, and the team will respond directly.

Don’t have a Slack channel? Talk with your customer success manager.