Skip to Content
ResourcesIntegrationsCustomer SupportServiceNow

ServiceNow

Service domainCUSTOMER SUPPORT
ServiceNow icon
Arcade Optimized

Arcade.dev LLM tools for ServiceNow ITSM

Author:Arcade
Version:0.1.0
Auth:User authorization
17tools
17require secrets

ServiceNow toolkit for Arcade enables LLM agents to interact with a ServiceNow ITSM instance — reading, searching, creating, and updating work records, catalog items, knowledge articles, configuration items, and user/group data.

Capabilities

  • Incident & work record lifecycle: Open incidents, read full records with activity history, update arbitrary fields (with per-field retry and warnings on ACL rejections or business-rule overrides), add comments or internal work notes, count and search records by text, state, priority, assignment, or recency.
  • Service catalog: Search catalog items, read item details and mandatory variables, and place orders with pre-submission validation of required and constrained variables.
  • Knowledge base: Search articles and read full article bodies; access is scoped to what the authenticated caller is entitled to read.
  • CMDB & configuration items: Search configuration items by name or CMDB class, and read individual CI details including dependency relationships.
  • User, group & field discovery: Look up users by name or email, find assignment groups by name, and retrieve instance-specific valid choice values for any work-record field.
  • Auth verification: Confirm the authenticated identity and retrieve the caller's sys_id via WhoAmI for self-referential filters.

OAuth

This toolkit uses OAuth 2.0 to authenticate with ServiceNow. Refer to the Arcade auth provider docs for configuration details: https://docs.arcade.dev/en/references/auth-providers/unknown.

Secrets

  • SERVICENOW_INSTANCE_URL: The base URL of your ServiceNow instance (e.g., https://yourcompany.service-now.com). This is not a generated API key — it is simply the root URL of the specific ServiceNow tenant the toolkit should target. You can find it in your browser's address bar when logged into your ServiceNow instance, or by asking your ServiceNow administrator. Every API call is routed to this URL, so it must point to the correct instance (dev, staging, or production). Set this value via the Arcade secrets system.

See the Arcade secrets documentation for how to store and reference secrets: https://docs.arcade.dev/en/guides/create-tools/tool-basics/create-tool-secrets. You can also manage secrets directly at https://api.arcade.dev/dashboard/auth/secrets.

Available tools(17)

17 of 17 tools
Operations
Behavior
Tool nameDescriptionSecrets
Add a comment or internal work note to a work record. The note is normally attributed to the authenticated ServiceNow user. Some instances have a business rule that attributes every journal entry to a fixed integration/service persona regardless of which OAuth identity made the write — a structural property of that instance's configuration, not a per-call fluke. When that happens here, ``warnings`` names the mismatched author so the discrepancy is visible on every affected write, not just guessed at afterward. Work notes are internal and visible only to fulfillers; customer-visible comments are seen by the requestor who opened the record.
1
Open a new incident. Returns the incident number the caller can quote. The authenticated ServiceNow user is recorded as the caller unless overridden with ``caller``. A short description is required; every other field is optional.
1
Read a catalog item's details and the options required to order it. Check each variable's ``mandatory`` flag before submitting an order — an order missing a required variable is rejected before anything is submitted.
1
Read a configuration item together with what it depends on and what depends on it. A missing or unreadable item returns a not-found envelope (``found`` false) rather than raising. When ``ci_class`` doesn't match this sys_id's real, more-specific class, the base ``cmdb_ci`` class is tried automatically before concluding not-found, since every CI is reachable through it regardless of its specific subtype.
1
Read a knowledge article's full body. A missing article, or one the caller is not entitled to read, returns a not-found envelope (``found`` false) rather than raising.
1
Read a work record together with its full comment and work-note history. A missing or unreadable identifier returns a not-found envelope (``found`` false) rather than raising, so a stale or guessed identifier can be recovered within the same turn. When the most recent activity entry's author doesn't match the authenticated caller, that's reported in ``warnings`` too — some instances attribute every journal entry to a fixed persona regardless of who wrote it, so ``author`` in the activity history may not name the true writer.
1
Count work records matching a filter, optionally broken down by a field. The count reflects only work records the authenticated caller can see — the same visibility every other tool in this toolkit applies. For sc_request/sc_req_item, text also matches the ordered catalog item's name, since a request's own short description is otherwise structurally blank.
1
Discover the valid choice values for a work-record field on this instance. Choice lists are instance-customized, so a state or priority filter that another tool rejected can be corrected by reading the values this returns.
1
Order an item from the service catalog. Returns the request number. Every variable marked mandatory on the item must be present in ``variables``, or the order is rejected before anything is submitted. A variable with a non-empty set of configured options is also rejected here before submission if the supplied value doesn't match one of those options (by value or by label).
1
Find ServiceNow assignment groups by full or partial name, to route work to them.
1
Find service catalog items matching a described need.
1
Find configuration items (systems) by name, optionally narrowed to a CMDB class.
1
Search the knowledge base for articles matching a described problem or topic. Only articles the caller is entitled to read are returned; a search matching nothing (including everything the caller cannot read) returns an empty list, not an error.
1
Find work records of one type by text, assignment, state, priority, or recency. With no filters, returns the caller's most recently updated active records of that type. A search matching nothing returns an empty list, not an error. For sc_request/sc_req_item, text also matches the ordered catalog item's name, since a request's own short description is otherwise structurally blank.
1
Find ServiceNow users by name or email, to assign or contact them.
1
Change one or more fields on a work record. Fields not specified are left untouched. A person or team named by ``assigned_to``/``assignment_group``/``caller`` is resolved to a real ServiceNow record before anything is written; if the name can't be resolved (no match, or more than one candidate), that field alone is left unchanged and explained in ``warnings`` rather than raising, while every other field given in the same call is still written — so it can be retried with just the corrected name. A field the instance's own business rules recalculate or reject after the write (e.g. ``priority`` recomputed from ``impact``/``urgency``, or an invalid ``state``) is also reported in ``warnings`` when the written value didn't stick. A write the instance's ACLs reject outright (e.g. a 403 tied to the record's current assignment) is reported in ``warnings`` the same way, instead of raising. Changing ``state`` away from a resolved/closed state (reopening a record) without also setting ``close_code``/``close_notes`` in the same call can clear those fields as a platform side effect; when that happens it is reported in ``warnings`` too, not left for a separate read to discover. When more than one field is given and the instance rejects the combined write atomically (some business rules abort on a specific field combination), each field is retried on its own so the ones that apply cleanly still get written instead of the whole call failing silently.
1
Return the authenticated ServiceNow user's profile. Use this to verify the configured instance and OAuth authorization, and to get the caller's own sys_id for "my queue"-style filters; it is not a required preamble to the other tools.
1
Last updated on