Skip to main content

ServiceNow (Issue Tracker)

This section explains how to connect ServiceNow as an Issue Tracker data source in DataDios. You can browse ticket tables and their tickets, read a ticket with its activity journal, search ticket content through Hybrid Search, and — unlike the other Issue Tracker connectors — create and update tickets from DataDios.


Prerequisites

You need a ServiceNow instance URL, an integration user, and that user's credentials.

The account's permissions decide what works. Browsing and reading need read access to the ticket tables; creating and updating tickets need write access. An account set up for read-only browsing will connect successfully and then fail every write with an opaque 403 — so if you plan to file tickets from DataDios, grant write ACLs up front.

Choosing an authentication mode

ModeUse when
BasicThe instance allows Basic authentication for API access — still the common case, including on current developer instances. Simplest to set up.
OAuth2Basic auth is restricted on your instance. Some instances require the snc_basic_auth_api_access role for Basic API calls; if Basic returns 401 with correct credentials, that restriction is the likely cause.

For OAuth2 you also need an entry in System OAuth → Application Registry on the instance (an OAuth API endpoint for external clients), which gives you a Client ID and Client Secret. DataDios uses the resource-owner password grant, so the integration user's username and password are still required alongside them.


Steps to Create and Test a ServiceNow Data Source

Step 1: Create a Data Source

  1. Navigate to the Data Sources tab in DataDios
  2. Click + CREATE SOURCE
  3. In the data source type dropdown, expand Issue Tracker and select ServiceNow

Step 2: Fill Connection Details

  • instance_url: Your instance URL, e.g. https://your-instance.service-now.com (required — must be https)
  • auth_type: Basic or OAuth2 (required, defaults to Basic)
  • username: The integration user (required)
  • password: That user's password (required, stored encrypted)
  • client_id / client_secret: Only shown when auth_type is OAuth2 (secret stored encrypted)
  • tables: Comma-separated ticket tables to expose (optional — see below)
  • ticket_query: A ServiceNow encoded query filtering every ticket listing (optional, defaults to active=true)

Passwords and client secrets can be typed directly or read from a configured Secret Store — pick the source with the selector next to the field.

JSON Configuration

{
"instance_url": "https://your-instance.service-now.com",
"auth_type": "Basic",
"username": "datadios.integration",
"password": "your-password",
"tables": "",
"ticket_query": "active=true"
}

Step 3: Test Connection

  1. Click TEST CONNECTION
  2. Valid credentials return Status: OK. The password is never echoed back in any response or log.
  3. A 401 means the credentials were rejected — or that the instance restricts Basic auth (see Prerequisites).

Step 4: Save Data Source

  1. Click CREATE to save the data source
  2. It appears on the Data Sources listing page under Issue Tracker

Expand the data source to browse ticket tables and their tickets. Selecting a ticket shows its fields and its activity journal (work notes and comments), and that content is ingested into RAG so it becomes searchable through Hybrid Search.

Which tables appear

In ServiceNow every ticket type is a table extending task. A stock instance has roughly 48 of them, and most are platform bookkeeping rather than things people work — upgrade_history_task, chat_queue_entry, orphan_ci_remediation.

So by default DataDios shows the core ITSM tables that exist on your instance: incident, problem, change_request, change_task, sc_request, sc_req_item, sc_task. To browse anything else — including custom task tables from a scoped application — list them explicitly in tables, e.g. incident,change_request,x_myapp_task.

A table your integration account cannot read is still listed, but expanding it shows no tickets. That is a permissions result, not an error; grant the account read access to that table if you need it.

Limiting how many tickets are listed

ticket_query takes a ServiceNow encoded query and is applied server-side to every listing. The default active=true keeps closed records out, which matters because a long-running instance holds far more closed tickets than open ones. Set it to something narrower for a large instance — for example active=true^assignment_group=NOC — or clear it to list everything.


Step 6: Create and Update Tickets

From the data source's item view you can create a ticket and edit an existing one.

Creating asks for the target table, a short description (required), and the usual task fields — description, category, urgency, impact, assignment group, assignee. Anything specific to your instance, including custom columns, goes in the additional fields key/value list. A newly created ticket appears in the browse tree without a refresh.

Editing a ticket updates only the fields you change; untouched fields keep their values. Work notes and Comments are journal fields — writing to either appends an entry to the ticket's activity stream rather than replacing what is there.

note

Creating tickets writes to your live ServiceNow instance. There is no delete: DataDios never removes a ServiceNow ticket.