# ServiceNow CMDB

> The configuration item behind a shape, its relationships and its open work, beside the stratum that explains it.

Link a ServiceNow configuration item (CI) to the stratum for the component it
records. The saved tab shows what the CMDB believes about that component: its
class, lifecycle, environment, the groups that own and support it, when
Discovery last saw it, how it relates to other CIs and, if you choose, the open
incidents and changes recorded against it. Changing the record stays in
ServiceNow.

Any record in `cmdb_ci` or a class that extends it can be linked: servers,
network gear, application services, business applications. IP-address and
network-adapter records are found too, but rank below the device with the same
name.

## Connect

1. You need an Enterprise licence, edit access to the blueprint, and
   `continuum_integrations.manage` on the connection's organisation or team.
2. In ServiceNow, create a dedicated integration user. Give it the `cmdb_read`
   role, which reads every CMDB table. If the instance enables the REST API
   ACL, add `snc_platform_rest_api_access` as well. Tick **Web service access
   only** on the user, and keep it out of any policy that demands interactive
   multi-factor authentication: the connection signs in with the password on
   every call and cannot answer a prompt.
3. In Blueprintr, open **Settings → Continuum** on the organisation or team, go
   to **Operational integrations**, choose **New integration**, and select
   ServiceNow CMDB as the **Type**.
4. Enter the **Instance URL** (`https://acme.service-now.com`, reachable from
   the public internet), the **Username**, and the password, set the options
   below, and choose **Connect & verify**.

### Connection options

Each dropdown opens on **Use default**, which stores the first option.

| Field | Options | Effect |
| --- | --- | --- |
| **Snapshot audience** | Blueprint editors (recommended), All Blueprint readers | Who can read the saved tab. Readers includes anonymous readers, embeds and exports on a public blueprint |
| **Saved detail** | Detailed (default), Summary | Summary withholds the IP address, FQDN, MAC address, serial number, asset tag, location and description from the tab and from its saved data |
| **Open work** | Not imported (default), Open incidents and changes | Adds open incident and change counts for the CI, with the five newest task numbers and links to the filtered lists |

Verification reads one record from each table the connection will use:
`cmdb_ci`, `cmdb_rel_ci`, and with open work switched on, `incident` and
`change_request`. A table the user cannot read fails verification with its name
and the role that grants it, for example "The ServiceNow account cannot read
cmdb_rel_ci (HTTP 403 Forbidden). Grant cmdb_read, plus
snc_platform_rest_api_access when the REST API ACL is enabled."

Open work needs `sn_incident_read` and `sn_change_read` from the ITSM Roles
plugin, or `itil`. Those roles may count as a fulfiller licence on your
instance; check with your account team before granting them.

On a domain-separated instance the user sees only its own domain, and so does
the tab.

## Link a configuration item

Open the stratum and choose **Continuum Link**, then search by any of these.

| What you type | What happens |
| --- | --- |
| A name, FQDN, serial number or asset tag | Substring match on those four columns, up to 20 results |
| An IP address | Exact match on the CI's IP address column, plus a name match |
| A MAC address, with colons or hyphens | Exact match on the MAC address column in either form |
| A 32-character sys_id | The record itself |

Each result shows its class, IP address, location and lifecycle, so two records
with the same name can be told apart, and its sys_id in the preview.

**Scan** and **Suggest** resolve hostnames, FQDNs, IP addresses, serial numbers
and MAC addresses from the diagram. Identifiers of one kind are folded into a
single query of up to 50, so a full site drawing costs a handful of reads.

## What the panel shows

| Section | Contents |
| --- | --- |
| Configuration item | Name, class, environment, classification, lifecycle stage, install status, operational status, model, manufacturer, and in Detailed mode the location, FQDN, IP address, MAC address, serial number, asset tag and description, then the record's last update in UTC |
| Ownership | Support group, managed-by group and change group. People are never imported |
| Discovery and attestation | When Discovery last and first saw the record and from which source, or "Never", and the attestation status and date |
| Open work | With open work switched on: open incident and change counts, then the five newest of each with priority, state and a link |
| Relationships | Up to 25 relationships as seen from this CI ("Depends on", "Used by", "Located in"), with the other CI's name and class, and the total when there are more |
| In ServiceNow | Links to the record's own form, the Dependency Views map and, with open work on, the filtered incident and change lists |

The headline reads the install status and operational status together, for
example "Installed · Operational". ServiceNow keeps the two fields
independently, so a record retired through install status is shown with a
warning even while its operational status still says Operational. On order, in
stock, in maintenance, repair, standby and ready states are shown as
informational. The CSDM lifecycle stage appears as its own row.

Environment is the record's own environment field. Older records that only set
the legacy "Used for" field show that value instead.

Dates come from the stored value and are labelled UTC. If an instance returns
only display values, the date is shown as ServiceNow formatted it, without a
zone label.

### Counting and its limits

Relationships stop at 25; the section title then reads "Relationships (25 of
61)". Open incidents and changes are read up to 25 each; the count states how
many were retrieved when the total is higher.

## What is never imported

Person fields (owned by, managed by, assigned to, attested by), comments, work
notes, incident and change descriptions, and any custom column. Only the named
columns are requested, and the saved data is projected from them, so a column
the instance returns anyway never reaches the blueprint.

## Audience

New connections save snapshots for blueprint editors only. Choose **All
Blueprint readers** only when the class, ownership, relationships and, in
Detailed mode, the addresses and serials are appropriate for everyone who can
read the blueprint. Changing the audience applies to later refreshes and does
not recall copies already shared, exported or answered by AI.

## Refreshing and recovery

Snapshots become due for refresh after one day, which is a reminder rather than
automatic polling. A failed CI read keeps the previous snapshot and adds a
warning. A relationship read or task read that fails marks the panel
incomplete and says which table could not be read; the rest of the panel still
saves. A rate limit answered by ServiceNow with `Retry-After` is reported with
the number of seconds and is never retried in a loop.
