LogoLogo
Login to CortexBook a DemoCortex Academycortex.io
  • Cortex Docs
  • Cortex Quick Start
  • Ingesting data into Cortex
    • Managing Entities
      • Adding entities
        • Add services
        • Add domains
        • Add teams
        • Add custom entity types
        • Defining dependencies
      • Entity details page
      • Defining ownership
      • Defining relationship types
      • Grouping entities
      • Adding external documentation
      • Adding Deploy data
      • Adding custom data
      • Viewing discovered entities
      • Archiving entities
      • Relationship graph
      • Using On-call Assistant for incidents
      • Managing Terraform infra in Cortex
    • Managing Catalogs
    • Integrations
      • Internally hosted integrations
      • ArgoCD
      • AWS
      • Azure DevOps
      • Azure Resources
      • BambooHR
      • Bitbucket
      • BugSnag
      • Buildkite
      • Checkmarx
      • CircleCI
      • ClickUp
      • Codecov
      • Coralogix
      • Custom webhook integrations
      • Datadog
      • Dynatrace
      • Entra ID (Azure AD)
      • FireHydrant
      • GitHub
      • GitLab
      • Google
      • Grafana
      • incident.io
      • Instana
      • Jenkins
      • Jira
      • Kubernetes
      • LaunchDarkly
      • Lightstep
      • Mend
      • Microsoft Teams
      • New Relic
      • Okta
      • Opsgenie
      • PagerDuty
      • Prometheus
      • Rollbar
      • Rootly
      • Sentry
      • ServiceNow
      • Slack
      • Snyk
      • SonarQube
      • Splunk Observability Cloud (SignalFx)
      • Splunk On-Call (VictorOps)
      • Sumo Logic
      • Veracode
      • Wiz
      • Workday
      • xMatters
  • Scorecards
    • Initiatives and Action items
      • Creating issues based on Initiatives
    • Scorecard rule exemptions
    • Scorecard rule filters
    • Scorecard examples
    • Scorecards as code
  • Reports
    • Executive report
    • All Scorecards report
    • Bird's eye report
    • Progress report
    • Report card
  • Eng Intelligence
    • Custom Metrics
    • Jira Metrics
    • Metrics Explorer (Beta)
  • Cortex Query Language (CQL)
    • Using CQL reports
    • Using JQ in Cortex
  • Workflows
    • Creating a Workflow
      • Workflows as code
    • Blocks
    • Running a Workflow
    • Registering a Scaffolder template
      • Scaffolder advanced usage
    • Using a Workflow to sync in ArgoCD
    • Kicking off a Jenkins pipeline in a Workflow
    • Calling internal service endpoints in a Workflow
  • Plugins
    • Creating a plugin
      • Creating a plugin proxy
    • Migrating Backstage plugins to Cortex
  • Engineering homepage
  • Workspace Settings
    • Using GitOps for Cortex
      • GitOps logs
    • Managing users
      • Roles and permissions
        • Custom roles
        • Team ownership entity editing
      • Configuring SSO
        • Microsoft Entra ID
        • Google
        • Other OIDC providers
        • Okta
          • Okta SCIM
      • Configuring identity mappings
      • Onboarding management
    • API keys, secrets, and tokens
      • Secrets
      • Personal tokens
    • Audit logs
    • Entity settings
      • Data verification
      • Auto archiving entities
    • IP allowlist
    • Notifications
      • Notification logs
    • Customizing your workspace
    • Using search in Cortex
  • Cortex API
    • REST API operations
      • API Keys
      • Audit Logs
      • Catalog Entities
      • Custom Data
        • Custom Data (Advanced)
      • Custom Events
      • Custom Metrics
      • Dependencies
      • Deploys
      • Discovery Audit
      • Docs
      • Eng Intel: User Labels
      • Entity Relationship Types (Beta)
      • Entity Relationships (Beta)
      • Entity Types
      • GitOps Logs
      • Groups
      • Initiatives
      • Integrations APIs
        • Azure Active Directory (Entra ID) API
        • Azure Resources API
        • AWS API
        • Azure DevOps API
        • CircleCI API
        • Coralogix API
        • Datadog API
        • GitHub API
        • GitLab API
        • incident.io API
        • LaunchDarkly API
        • New Relic API
        • PagerDuty API
        • Prometheus API
        • SonarQube API
      • IP Allowlist
      • Notification Logs
      • On call
      • Packages
      • Plugins
      • Queries
      • SCIM
      • Scorecards
      • Secrets
      • Team Hierarchies
      • Teams
      • Workflows
Powered by GitBook
On this page
  • Overview
  • How to configure ServiceNow with Cortex
  • Prerequisites
  • Step 1: Configure the integration in Cortex
  • Step 2: Configure table mappings
  • How to connect Cortex entities to ServiceNow
  • Import entities from ServiceNow
  • Enable automated discovery of domains for ServiceNow
  • Editing the entity descriptor
  • Configuring ownership of your ServiceNow entities
  • Scorecards and CQL
  • Background sync
  • Still need help?​

Was this helpful?

Export as PDF
  1. Ingesting data into Cortex
  2. Integrations

ServiceNow

Last updated 2 months ago

Was this helpful?

Overview

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 :

    1. In Cortex, click your avatar in the lower left corner, then click Settings.

    2. Under "Integrations", click ServiceNow.

  2. Click Add configuration.

  3. Configure the ServiceNow integration form:

    • Instance name: Enter your instance identifier.

    • Username and Password: Enter your ServiceNow username and password.

  4. 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:

    • 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.

    • 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

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. Click your avatar in the lower left corner, then click Settings.

    2. Under "Workspace," click Entities > Domains.

    • To force a sync of 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

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

All ownership details

A special built-in type that supports a null check or a count check, used to enforce ownership of entities.

Definition: ownership: Ownership | Null

Example

An initial level in a security Scorecard might include a rule to ensure an entity has at least one team as an owner:

ownership.teams().length > 0
All owner details

List of owners, including team members and individual users, for each entity

Definition: ownership.allOwners()

Example

The Scorecard might include a rule to ensure that entity owners all have an email set:

ownership.allOwners().all((member) => member.email != null)
Team details

List of teams for each entity

Definition: ownership.teams(): List<Team>

Example

The Scorecard might include a rule to ensure that an entity owners all have a description and are not archived:

ownership.teams().all(team => team.description != null and team.isArchived == false)

Background sync

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

The following options are available to get assistance from the Cortex Customer Engineering team:

  • 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.

Choose a mapping type: Select whether your data will map to a Service, Team, Team members, Team & Team member relationships, Domain, or Domain relationships.

Description column name: Enter the column name that contains the description of the record.

See the documentation for instructions on , , and .

In Cortex, go to the :

Toggle the setting on to enable the automated import of any domains and domain relationships from ServiceNow.

To import teams, to pull teams, team members, and their relationships from ServiceNow. After doing so, .

Still need help?

Email: , or open a support ticket in the in app Resource Center

ServiceNow
ServiceNow settings page
Entities > Domains settings page
​
help@cortex.io
configure the table mappings
follow the steps to import them
importing domains
importing teams
importing services