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.
Two ways to run this connector:
- Run it yourself (Free + paid) —
pip install 'cortexdb-connectors[servicenow]'thencortexdb-sync sync servicenow. The connector reads your token from~/.cortexdb/state.json(written bycortexdb 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
- Sign in at cortexdb.ai/login.
- Settings → Connectors → Add Connector → ServiceNow.
- Paste your instance name (e.g.
acmeforhttps://acme.service-now.com), client ID, client secret, integration username, and password. - Pick the ServiceNow tables to sync. Default:
incident, change_request, problem, kb_knowledge, task. - Set the scope template. Default:
org:<your-org>/source:servicenow/table:{table_name}. - Click Start sync.
What gets written
| Table | Modality | Notes |
|---|---|---|
| incident | document | Short description + description; status transitions as triples |
| change_request | document | Plan + risk + approval status |
| problem | document | Linked incidents in preceded_by |
| kb_knowledge | document | Article body |
| task | observation | Assignment, 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.