Skip to main content
ServiceNow logo

Overview

Add ServiceNow to any ModuleX agent or workflow. Enterprise ITSM integration for ServiceNow: Trouble Ticket API for incidents/cases, Table API for full CRUD on any ServiceNow table. Targets per-tenant instances at https://{instance_name}.service-now.com.
Categories: Developer Tools & Infrastructure · Automation · Development · Miscellaneous · Itsm · Servicenow · Auth: OAuth 2.0 (Connected App), Access Token · Actions: 7

Authentication

OAuth 2.0 (Connected App)

Authenticate using ServiceNow OAuth 2.0. Requires creating an OAuth API endpoint for external clients in your ServiceNow instance.

Required Credentials

FieldDescriptionRequiredFormat
Client IDThe Client ID from your ServiceNow OAuth applicationYes-
Client SecretThe Client Secret from your ServiceNow OAuth applicationYes-
Instance NameYour ServiceNow instance name (e.g. ‘dev12345’ from https://dev12345.service-now.com)Yesdev12345

OAuth Configuration

  • Authorization URL: https://{instance_name}.service-now.com/oauth_auth.do
  • Token URL: https://{instance_name}.service-now.com/oauth_token.do
  • Scopes: useraccount

Available Actions

Parameters

description
string
required
Detailed description of the issue
severity
string
required
Priority/severity: ‘1’ Critical, ‘2’ High, ‘3’ Moderate, ‘4’ Low
name
string
Short description of the case
status
string
Current status of the case (Default: New)
channel_name
string
Channel (contact_type) the case came in through
account_id
string
Sys_id of the account related to the case
contact_id
string
Sys_id of the contact related to the case
work_note
string
Internal work note for the case
comment
string
Additional comment for the case

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "result": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Result"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateCaseOutput",
  "type": "object"
}

Parameters

description
string
required
Detailed description of the incident
severity
string
required
Priority/severity: ‘1’ Critical, ‘2’ High, ‘3’ Moderate, ‘4’ Low, ‘5’ Planning
name
string
Short description of the incident
status
string
Current status of the incident (Default: New)
contact_method
string
Name of the contact method (contact_type)
company_id
string
Sys_id of the company
user_id
string
Sys_id of the user
work_note
string
Internal work note for the incident
comment
string
Additional comment for the incident

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "result": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Result"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateIncidentOutput",
  "type": "object"
}

Parameters

table_name
string
required
Table to create the record in (e.g. ‘incident’, ‘change_request’)
table_record
object
required
Record data — field name/value pairs
api_version
string
API version number (‘v1’, ‘v2’, or ‘latest’)
display_value
string
Return display values (‘true’), actual values (‘false’), or both (‘all’) (Default: false)
Exclude Table API links for reference fields (Default: false)
fields
string
Comma-separated list of fields to return
view
string
Render the response according to the specified UI view
input_display_value
boolean
Treat input values as display values (Default: false)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "table": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Table"
    },
    "record": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Record"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateTableRecordOutput",
  "type": "object"
}

Parameters

table_name
string
required
Table containing the record
sys_id
string
required
Unique identifier (sys_id) of the record
api_version
string
API version number (‘v1’, ‘v2’, or ‘latest’)
display_value
string
Return display values (‘true’), actual values (‘false’), or both (‘all’) (Default: false)
Exclude Table API links for reference fields (Default: false)
fields
string
Comma-separated list of fields to return
view
string
Render the response according to the specified UI view
query_no_domain
boolean
Access data across domains if authorized (Default: false)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "table": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Table"
    },
    "sys_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sys Id"
    },
    "record": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Record"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetTableRecordOutput",
  "type": "object"
}

Parameters

table_name
string
required
Table containing the records
api_version
string
API version number (‘v1’, ‘v2’, or ‘latest’)
display_value
string
Return display values (‘true’), actual values (‘false’), or both (‘all’) (Default: false)
Exclude Table API links for reference fields (Default: false)
fields
string
Comma-separated list of fields to return
view
string
Render the response according to the specified UI view
query
string
Encoded query string (e.g. ‘active=true^priority=1’)
suppress_pagination_header
boolean
Suppress pagination header (Default: false)
limit
integer
Maximum results per page (default 10000)
query_category
string
Read-replica category for the query
query_no_domain
boolean
Access data across domains if authorized (Default: false)
no_count
boolean
Skip select count(*) on the table (Default: false)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "table": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Table"
    },
    "records": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Records",
      "type": "array"
    },
    "count": {
      "default": 0,
      "title": "Count",
      "type": "integer"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetTableRecordsOutput",
  "type": "object"
}

Parameters

table_name
string
required
Table containing the record
sys_id
string
required
Sys_id of the record to update
update_fields
object
required
Field name/value pairs to update
api_version
string
API version number (‘v1’, ‘v2’, or ‘latest’)
display_value
string
Return display values (‘true’), actual values (‘false’), or both (‘all’) (Default: false)
Exclude Table API links for reference fields (Default: false)
fields
string
Comma-separated list of fields to return
view
string
Render the response according to the specified UI view
input_display_value
boolean
Treat input values as display values (Default: false)
query_no_domain
boolean
Access data across domains if authorized (Default: false)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "table": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Table"
    },
    "sys_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sys Id"
    },
    "record": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Record"
    }
  },
  "required": [
    "success"
  ],
  "title": "UpdateTableRecordOutput",
  "type": "object"
}

Parameters

table_name
string
required
Table containing the record
sys_id
string
required
Sys_id of the record to delete
api_version
string
API version number (‘v1’, ‘v2’, or ‘latest’)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "table": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Table"
    },
    "sys_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sys Id"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeleteTableRecordOutput",
  "type": "object"
}

Limits & Quotas

  • The Trouble Ticket API hits the /api/sn_ind_tsm_sdwan/ticket/troubleTicket plugin endpoint — requires that plugin to be installed in the ServiceNow instance.
  • Table API supports versioning via api_version (‘v1’, ‘v2’, or ‘latest’ / unspecified for default). The tool builds the path as /api/now/[v1|v2|]table/<table>.
  • display_value / exclude_reference_link / view / fields / pagination knobs are translated to ServiceNow’s sysparm_* query string conventions.
  • Default page limit is 10000 records (Table API default).
  • Instance name parsing: bare name (dev12345), full hostname (dev12345.service-now.com), and full URL (https://dev12345.service-now.com) are all accepted.

Pinterest

Apify

Browserbase