ServiceNow
Service domainCUSTOMER SUPPORT
Arcade Optimized
Arcade.dev LLM tools for ServiceNow ITSM
Author:Arcade
Version:
0.1.0Auth: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_idviaWhoAmIfor 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 name | Description | Secrets | |
|---|---|---|---|
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