New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceTool IntegrationsProject & Task Management
Tool

ServiceNow Tools

Query, create, read, and update records in ServiceNow tables via the Table API

The ServiceNow tools let a workflow work directly with the ServiceNow Table API: query records with encoded queries, create new records, read a single record by sys_id, and update existing records. Use these tools to automate ITSM and CMDB operations — for example, opening incidents, updating ticket state, or pulling records into downstream blocks.

Overview

PropertyValue
Providerservicenow
Categorytools
AuthBasic Auth (instance username + password)

Operations

OperationTool IDDescription
Query tableservicenow_query_tableQuery records from a ServiceNow table using an encoded query
Create recordservicenow_create_recordCreate a new record in a ServiceNow table
Get recordservicenow_get_recordRetrieve a single record from a ServiceNow table by sys_id
Update recordservicenow_update_recordUpdate an existing record in a ServiceNow table

All operations call the ServiceNow Table API at {instanceUrl}/api/now/table/{tableName} and authenticate with an HTTP Authorization: Basic header built from the supplied username and password.

Configuration

servicenow_query_table

GET {instanceUrl}/api/now/table/{tableName}?sysparm_query={query}&sysparm_limit={limit}

ParameterTypeRequiredDescription
instanceUrlstringYesServiceNow instance URL (e.g. https://dev12345.service-now.com).
usernamestringYesServiceNow username.
passwordstringYesSecret — ServiceNow password (rendered as a masked field).
tableNamestringYesTable name to query (e.g. incident, task, sys_user).
querystringNoEncoded query string (e.g. active=true^priority=1).
limitnumberNoMaximum number of records to return. Defaults to 10.

servicenow_create_record

POST {instanceUrl}/api/now/table/{tableName}

ParameterTypeRequiredDescription
instanceUrlstringYesServiceNow instance URL (e.g. https://dev12345.service-now.com).
usernamestringYesServiceNow username.
passwordstringYesSecret — ServiceNow password (rendered as a masked field).
tableNamestringYesTable name to create the record in (e.g. incident).
fieldsjsonYesField values as a JSON object (e.g. {"short_description":"Issue"}). Sent as the request body.

servicenow_get_record

GET {instanceUrl}/api/now/table/{tableName}/{sysId}

ParameterTypeRequiredDescription
instanceUrlstringYesServiceNow instance URL (e.g. https://dev12345.service-now.com).
usernamestringYesServiceNow username.
passwordstringYesSecret — ServiceNow password (rendered as a masked field).
tableNamestringYesTable name (e.g. incident, task, sys_user).
sysIdstringYessys_id of the record to retrieve.

servicenow_update_record

PATCH {instanceUrl}/api/now/table/{tableName}/{sysId}

ParameterTypeRequiredDescription
instanceUrlstringYesServiceNow instance URL (e.g. https://dev12345.service-now.com).
usernamestringYesServiceNow username.
passwordstringYesSecret — ServiceNow password (rendered as a masked field).
tableNamestringYesTable name (e.g. incident, task, sys_user).
sysIdstringYessys_id of the record to update.
fieldsjsonYesField values to update as a JSON object (e.g. {"state":"2"}). Sent as the request body.

Outputs

servicenow_query_table

  • data (json) — Array of ServiceNow records matching the query.
  • metadata (json) — Query metadata, containing:
    • table (string) — Table that was queried.
    • count (number) — Number of records returned.

servicenow_create_record

  • data (json) — The created ServiceNow record.
  • metadata (json) — Record identifiers, containing:
    • table (string) — Table the record was created in.
    • sysId (string) — sys_id of the created record.

servicenow_get_record

  • data (json) — The requested ServiceNow record.
  • metadata (json) — Record identifiers, containing:
    • table (string) — Table the record was read from.
    • sysId (string) — sys_id of the record.

servicenow_update_record

  • data (json) — The updated ServiceNow record.
  • metadata (json) — Record identifiers, containing:
    • table (string) — Table the record was updated in.
    • sysId (string) — sys_id of the record.

YAML Example

servicenow_1:
  type: servicenow
  name: "ServiceNow"
  inputs:
    operation: "servicenow_query_table"
    instanceUrl: "https://dev12345.service-now.com"
    username: "{{SERVICENOW_USERNAME}}"
    password: "{{SERVICENOW_PASSWORD}}"
    tableName: "incident"
    query: "active=true^priority=1"
    limit: 10
  connections:
    outgoing:
      - target: next-block-id

Create-record example:

servicenow_create:
  type: servicenow
  name: "Open Incident"
  inputs:
    operation: "servicenow_create_record"
    instanceUrl: "https://dev12345.service-now.com"
    username: "{{SERVICENOW_USERNAME}}"
    password: "{{SERVICENOW_PASSWORD}}"
    tableName: "incident"
    fields:
      short_description: "Login failure reported by user"
      priority: "1"
  connections:
    outgoing:
      - target: next-block-id

Tips

  • Auth is Basic, not an API key. Supply instanceUrl, username, and password; the tools build the Authorization: Basic header internally. Store the password as an environment secret and reference it with {{SERVICENOW_PASSWORD}} — never paste it inline.
  • fields and query are LLM-fillable (user-or-llm visibility), so an agent can construct them, but the connection credentials (instanceUrl, username, password) are user-only and must be set by the workflow author.
  • Encoded query syntax uses ^ to separate conditions (e.g. active=true^priority=1). The query is passed through as sysparm_query, and limit maps to sysparm_limit (default 10).
  • Get and update need the sys_id. Chain a Query table operation first, then reference a returned record's id downstream, e.g. {{servicenow_1.data}} to pull the array and feed a specific sys_id into a get/update block.