Integrations

ServiceNow Integration

Versus keeps the CMDB honest against the live estate, drives the full ITSM lifecycle from automation, syncs both ways, and lets a ServiceNow incident kick off proactive troubleshooting — all governed and fail-closed.

Overview

Versus runs the live network estate — F5, Palo Alto, NetScaler, routers and switches, cloud WAF — while ServiceNow is the system of record. The integration connects the two so the CMDB reflects what is actually deployed and every change is governed in ServiceNow. It spans nine capabilities, each covered below:

  • Connect & prove — a health check that surfaces live CMDB and ITSM counts.
  • Deep CMDB discovery — every CI class (including your custom classes) plus relationships.
  • CI Discovery: import / merge / enrich — bring CIs into Versus and write live truth back to the CMDB.
  • CMDB drift — reconcile the record against reality, with governed remediation and undo.
  • Full ITSM nodes — Incident / Request / Change / Problem, driven from workflows.
  • Two-way sync — Versus Desk ⇄ ServiceNow, loop-safe.
  • Triggers & Event Management — an inbound webhook starts a workflow; outbound events feed ITOM.
  • MCP-first routing — prefer a ServiceNow MCP tool when available, Table API otherwise.
  • Proactive troubleshooting — a ServiceNow incident triggers AutoPilot.

One unified client talks to ServiceNow over the Table API (/api/now/table/<table>), the Aggregate API (for counts), the Identification & Reconciliation Engine (for governed write-back), the Import Set and Attachment APIs, and — where available — a ServiceNow MCP server.

1Connect an instance and prove it

Under Integrations → Service Now, add an instance with its URL and credentials (Basic auth or OAuth 2.0 password grant), and mark one as the default. Click the ↻ Testcontrol and the result persists on the card with a concrete, tangible summary of what the credential can actually see:

Connected to https://dev12345.service-now.com · 2,795 CIs across 40 classes, 72 incidents, 105 changes, 1 request, 24 problems visible

Failures persist too, surfacing ServiceNow's real error detail (a 401 reason, redirect or proxy hints) so you can tell a wrong password from a dropped Authorization header.

The Service Now instance card after a successful test — a persistent green result line reporting the CI count across classes plus incident, change, request and problem counts
Integrations → Service Now. The health test persists on the card and reports live CMDB and ITSM counts — proof the credential can actually see the data.
2Deep CMDB discovery

Inventory → CI Discovery crawls the CMDB across every common class — servers, routers, switches, load balancers, firewalls, applications, databases and services — not just pool members. The Start Import panel discovers the instance's classes live, including your customu_cmdb_ci_* classes (badged custom), and a checkbox picker lets you choose exactly what to import. cmdb_rel_ci relationships come in too, so the documented topology can overlay the discovered one on the Network Map.

The CI Discovery Start Import panel with the live class picker — common CMDB classes plus discovered custom classes badged custom, each selectable
CI Discovery discovers the instance's classes live — common CMDB classes plus your custom u_cmdb_ci_* classes badged custom — and imports exactly what you pick, subclasses and relationships included.

Import, merge — and enrich the CMDB from reality

Review each CI and choose Import (create a new Managed Device), Merge(into an existing one), or Skip — with bulk Import all matched / Skip all unmatched / Skip all actions.

Choosing Merge then Next opens the Enrich step. For each merged CI, Versus pulls the CI's ServiceNow fields and pre-populates them from the matched Versus device:

  • A field empty in the CMDB is filled from Versus and badged "from Versus" (e.g. FQDN, OS version, serial number).
  • A field where the CMDB differs from the live device is highlighted "differs", showing CMDB: … · Device: … with a one-click use device — for example a serial number stale in ServiceNow versus the appliance.
  • A "On Merge, these Versus device fields are updated" panel previews exactly what the merge writes back onto the Versus device.

Fill anything still missing and Save to ServiceNow writes it back to the CI.

The Enrich step for a merged CI — form fields pre-populated from the Versus device, a differs highlight on a stale serial number, and the merge-impact panel
The Enrich step — every ServiceNow field pre-populated from the matched Versus device, a differs highlight where the CMDB serial is stale (LEGACY-SN-0001 vs the appliance's real serial), and a preview of what the merge updates on the Versus device. One click saves the corrected fields back to ServiceNow.
3CMDB drift — keep the record honest

Inventory → CMDB Drift reconciles the documented CMDB against the live Versus estate and records three kinds of finding:

  • Undocumented — a device in Versus with no CI.
  • Attribute mismatch — a CI whose values differ from the live device.
  • Missing in Versus — a CI in the site's address space Versus does not manage.

Each finding offers a governed remediation — Document (write the device to the CMDB via IRE), Correct (push the live value back), Adopt (make the CI a Managed Device), or Ignore — every action recorded in a Recent-actions log and reversible with Undo. CMDB writes are fail-closed: nothing reaches ServiceNow unless write-back is explicitly enabled.

CI Discovery populates; Drift keeps it in sync — the standing watch that detects and fixes where the record and reality diverge.

The CMDB Drift dashboard — summary tiles for undocumented / mismatch / missing findings, a mismatch row showing CMDB vs device values, and governed remediation buttons
CMDB Drift — undocumented / mismatch / missing tiles, a mismatch row showing the CMDB value against the live one (here a stale IP), and one-click governed remediation. Every action is logged and reversible with Undo.
4The full ITSM lifecycle from workflows

The workflow editor's ServiceNow palette carries 30 nodes covering the whole ITSM surface: create/update/resolve/close Incident, order Requestitems, create/approve/close Change, open Problem, plus work notes, attachments, approval-wait, affected-CI links, generic table read/write, and Event Management.

The workflow editor with the palette filtered to servicenow — a dedicated ServiceNow node category — beside a ServiceNow incident-triage workflow: create incident, add work note, resolve
The palette filtered to servicenow reveals a dedicated ServiceNow node category; on the canvas, a governed incident-triage flow — create incident → work note → resolve.

Every node's ServiceNow Instance field defaults to your configured instance. The Create Change node builds a change three ways: fill the full Desk field set (short description, category, risk, impact, priority, implementation / backout / test plans, risk & impact analysis, planned window, CAB, affected CIs), apply a ServiceNow change template picked live from the instance, or let Auto-fill from workflow steps populate it from the workflow.

The Create Change node configuration — a Populate fields from selector (fields or template), a live change-template dropdown, and the full set of change fields
The Create Change node — a Populate fields from selector (Desk fields or a ServiceNow change template), a live template dropdown pulled from the instance, Auto-fill from workflow steps, and the full change field set — with the instance defaulted for you.

Two-way sync

For any ticket correlated to ServiceNow, Versus Desk and ServiceNow stay in step: a work noteadded on either side appears on the other exactly once, and resolving in Desk resolves the ServiceNow record (and vice-versa). Loops are prevented by a sync-actor stamp, own-account filtering, and a per-ticket watermark; a per-type system of record decides who owns state for incidents versus changes. The sync runs quietly in the background — there is nothing to click — so a note your engineer types in Desk is on the ServiceNow incident seconds later, and a comment your ServiceNow user adds comes back into Desk.

Triggers & Event Management

Inbound — a ServiceNow business rule or Flow POSTs to /api/servicenow/{instance}/webhook/ and starts a mapped Versus workflow. The call is HMAC-signed and allow-listed (the shared secret and the set of workflows a rule may start are set on the instance); an unsigned or unknown call fails safe.

Outbound — the servicenow.send_event node pushes a Versus alert into ServiceNow Event Management (em_event) to correlate alongside the rest of your ITOM signal.

MCP-first routing

Each ITSM operation is MCP-first: it prefers a ServiceNow MCP tool when the instance links an MCP server, and falls back to the ServiceNow Table API otherwise — always guaranteed. Deep CMDB crawl, IRE write-back, Import Set and attachments stay Table-API by design. Link a ServiceNow MCP server from the instance's MCP Server panel and operations route MCP-first automatically.

The MCP Server panel on the Service Now instance — a routing-status line, a linked-connection control, and the per-operation MCP-vs-Table routing
The MCP Server panel — a routing-status line, a control to link an MCP server (or create one), and the guarantee that operations fall back to the Table API when no MCP tool is available.
5Proactive troubleshooting from ServiceNow incidents

The Diagnostics AutoPilot feed polls two sources on a cadence — Versus Desk tickets and the ServiceNow incident table. Every new incident (deduped) opens an Analysis Session and launches the governed incident-response orchestrator — triage → diagnosis → tolerance-gated remediation — with priority mapped to P1 / P2 / P3 (P1 autonomous, P2/P3 approval-gated), and the diagnosis posted back as a work note on the originating incident.

So a ServiceNow incident becomes a proactive troubleshooting trigger: Versus starts investigating the moment the ticket lands. See Diagnostics AutoPilot for the full closed loop.

The AutoPilot live feed — ServiceNow incidents picked up into Analysis Sessions, with triage and diagnosis under way
The AutoPilot Live Incident Feed — ServiceNow incidents (SNOW) picked up into Analysis Sessions the moment they land, each with a priority, an approval gate where required, and a root cause once diagnosed.
6App Builder — embedded forms in ServiceNow

Build a service-catalog form in App Builder (drag-and-drop fields, validation, a workflow binding — no code), publish it, then embed it anywhere with a secure token — including as a ServiceNow Service Catalog item or portal widget. A user orders from ServiceNow; the embedded Versus form collects the request and a governed Versus workflow does the work.

The App Builder Apps list — branded self-service portals including the published Network Access Portal, each with its own route and version
App Builder — branded self-service portals, each with its own route, versions and embed. The Network Access Portal is published and ready to embed.

For example, the Network Access Portal app's Firewall Access Request form embeds via /embed/<token> and routes to a firewall-change workflow — the request is raised in ServiceNow, the change executed and audited by Versus.

The published Firewall Access Request form rendered at its public /embed/<token> URL — exactly what a ServiceNow user sees inside a catalog item
The Firewall Access Request form at its public /embed/<token> URL — exactly what a ServiceNow user sees inside a catalog item: justification, business owner, requested-by, firewall service rules, CHG reference and change windows.
NoteThe embed endpoint is public by design — it renders the form whether or not the viewer is signed in, so it works cleanly inside a ServiceNow iframe.
7Domain isolation — safe on a shared MSP instance

Many providers run one ServiceNow instance for many customers, partitioned by ServiceNow Domain Separation (sys_domain). Versus binds a connection to a single domain, so every operation — the CMDB crawl, the incident feed, the connection-test counts, and every incident / change / CI write — is confined to that domain. Expand Domain isolation on the instance, mark it domain-separated, Scan domains, and Bind the one this connection should use (the connecting account's own domain is detected and offered first).

  • Reads are filtered to the bound domain (sys_domain, or sys_domain_path to include sub-domains).
  • Writes are stamped with the bound domain, so records land in the right customer's space and IRE never merges CIs across domains.
  • Fail-closed: a domain-separated instance with no domain bound returns nothing and refuses writes — it never leaks into another domain or the global space.
The Domain isolation panel on a ServiceNow instance — a domain-separated toggle, Scan domains, a domain picker with Bind, an include-sub-domains option, and a fail-closed status line
Domain isolation on the instance — mark it domain-separated, scan the domains the credential can see, and bind one. Until a domain is bound the instance is fail-closed: reads return nothing and writes are refused.
NoteThis lines up with Versus's own tenant isolation: one Versus tenant ↔ one ServiceNow domain. Two independent planes compose — Versus RLS keeps the integration's data (instances, credentials, discovered CIs, drift) tenant-private, while ServiceNow domain separation keeps the ServiceNow data domain-private, each backstopping the other. The strongest posture is a domain-scoped service account per tenant, so ServiceNow enforces the boundary server-side as well.

Safe by design

  • Fail-closed write-back — no CMDB change unless a flag and scope are explicitly set.
  • Domain-isolated — on a domain-separated instance every read is filtered and every write stamped to the bound domain; unbound = fail-closed.
  • Verified inbound triggers — HMAC-signed and allow-listed; unsigned calls rejected.
  • Loop-safe sync — sync-actor and watermark guarantee each note syncs exactly once.
  • Governed remediation — approvals and tolerance gates; every action audited and reversible.
  • Graceful MCP fallback — operations never fail because MCP is unavailable.

Quick Reference

CapabilityWhere
Connect + health testIntegrations → Service Now
CI Discovery (import / merge / enrich)Inventory → CI Discovery
CMDB drift + remediationInventory → CMDB Drift
ServiceNow workflow nodesWorkflows → editor palette → ServiceNow
Inbound webhookPOST /api/servicenow/<instance>/webhook/ (HMAC-signed)
Outbound eventsservicenow.send_event node → Event Management
MCP routingIntegrations → Service Now → MCP Server panel
Proactive troubleshootingDiagnostics AutoPilot (ServiceNow incident feed)
Embedded formsApp Builder → publish → embed token → ServiceNow catalog