Ingest ServiceNow incidents, change requests, problems, knowledge articles, and tasks into CortexDB.

ServiceNow Connector

Captures ITSM and knowledge content from ServiceNow as CortexDB experiences. Business rules + REST listeners for low-latency; sys_audit-based incremental pulls as a fallback.

Info

Two ways to run this connector:

  • Run it yourself (Free + paid) — pip install 'cortexdb-connectors[servicenow]' then cortexdb-sync sync servicenow. The connector reads your token from ~/.cortexdb/state.json (written by cortexdb init) or from env vars.
  • Managed sync (Starter and up) — CortexDB runs the connector as a worker on its infrastructure. Configure it once from your dashboard; CortexDB handles webhook registration, retries, backfill, and idempotency.

1. Prepare credentials in ServiceNow

System OAuth → Application Registry → OAuth API endpoint for external clients. Note the client ID and client secret, and create or pick an integration user with appropriate read roles.

2. Configure in your CortexDB dashboard

  1. Sign in at cortexdb.ai/login.
  2. Settings → Connectors → Add Connector → ServiceNow.
  3. Paste your instance name (e.g. acme for https://acme.service-now.com), client ID, client secret, integration username, and password.
  4. Pick the ServiceNow tables to sync. Default: incident, change_request, problem, kb_knowledge, task.
  5. Set the scope template. Default: org:<your-org>/source:servicenow/table:{table_name}.
  6. Click Start sync.

What gets written

TableModalityNotes
incidentdocumentShort description + description; status transitions as triples
change_requestdocumentPlan + risk + approval status
problemdocumentLinked incidents in preceded_by
kb_knowledgedocumentArticle body
taskobservationAssignment, due date

idempotency_key shape: snow:<table>:<sys_id>:<sys_updated_on>.

Run it yourself

If you'd rather host the connector yourself instead of using CortexDB's managed worker, every connector ships in the cortexdb-connectors PyPI package:

pip install 'cortexdb-connectors[servicenow]'

# Step 1: get a CortexDB token + actor (one-time, free tier)
pip install cortexdb-cli
cortexdb init

# Step 2: supply the connector's third-party credentials
export SNOW_INSTANCE=...                # required
export SNOW_USERNAME=...                # required
export SNOW_PASSWORD=...                # required

# Step 3: one-shot sync, or `watch` for a poll loop
cortexdb-sync sync servicenow
cortexdb-sync watch servicenow --interval 60

cortexdb-sync reads your CortexDB token + actor from ~/.cortexdb/state.json automatically. Cursor state is persisted in ~/.cortexdb/connectors-state.json, so re-running picks up where the last cycle left off.

See also