Freshservice
Arcade.dev LLM tools for Freshservice IT service management
3.1.0Arcade's Freshservice toolkit connects LLMs to Freshservice IT service management, enabling agents to read tickets, search the knowledge base and service catalog, look up requesters, and correlate incidents with known changes or problems.
Capabilities
- Ticket retrieval and triage: Fetch a single ticket's full story (fields, conversation, tasks, linked changes/problems) or list tickets filtered by queue, status, and priority across all accessible workspaces.
- Root-cause correlation: Search recent changes and tracked problems together in a ranked, merged result to explain waves of tickets about a system; supports direct lookup by change or problem ID.
- Knowledge base search: Retrieve knowledge-base articles by keyword or fetch a full article by ID in one call.
- Service catalog search: Find catalog items by search term (catalog browsing and detail endpoints are unavailable under the read-only grant Freshservice requires for this toolkit).
- Requester lookup: Resolve a user by internal ID, exact email, or name.
OAuth
Authentication uses OAuth 2.0 via Freshservice as the provider.
Secrets
FRESHSERVICE_SUBDOMAIN
Your Freshservice account subdomain — the prefix in your helpdesk URL (e.g., yourcompany from yourcompany.freshservice.com). This is not a generated credential; it is the subdomain assigned when your Freshservice account was created. Find it by logging into your Freshservice portal and checking the browser address bar, or under Admin → Account Settings in your Freshservice dashboard.
For guidance on configuring secrets in Arcade, see the Arcade secrets documentation. Secrets can also be managed at https://api.arcade.dev/dashboard/auth/secrets.
Available tools(6)
| Tool name | Description | Secrets | |
|---|---|---|---|
Read one ticket's whole story: fields, conversation, tasks, and any linked change or problem.
With every embed disabled this makes exactly one upstream request and sends
no include parameter at all; leaving any one embed enabled also resolves
the ticket's formal change and problem linkage.
Only a change or problem Freshservice itself formally linked to the ticket
is reported as linked. One merely named in the conversation text is not a
link, and has to be found by searching changes or problems for the affected
system's name instead.
The conversation returned is the most recent history rather than a
guaranteed-complete thread: a very long thread is reported as shortened, not
silently cut. | 1 | ||
Narrow the Freshservice ticket queue to what is actionable.
Listings span every workspace the signed-in user can access, not only the
account's primary workspace, and each ticket reports its workspace_id when
Freshservice provides one.
NEW_AND_MINE lives on a predefined-view endpoint that rejects status and
priority filters, so combining them is rejected rather than silently
resolved; use ALL, UNASSIGNED, or BREACHING with a status/priority filter
instead. UNASSIGNED and BREACHING compose with status and priority.
BREACHING excludes tickets already resolved or closed unless a status is
explicitly given, since a past-due ticket that is already resolved or
closed no longer needs anyone's attention. | 1 | ||
Search the Freshservice knowledge base, or fetch one article in full by id.
Exactly one of search_term or article_id must be given; supplying both or
neither is rejected. Articles come back with their body text, not just a
title, so a single call is normally enough to answer the question. | 1 | ||
Find the change or known problem that already explains a wave of tickets about one system.
Searches recent changes and tracked problems together and ranks them as one
most-recent-first list, so a caller asking "what explains this" makes one
call instead of two and does not have to merge the answers itself. Changes
and problems stay in their own fields of the response, since a change that
went out and a problem being tracked call for different next steps.
Give change_id or problem_id on its own to fetch that one record with its
full description; combining either with the other, or with any filter, is
rejected rather than silently resolved one way or the other.
A filtered search covers a bounded, most-recent working set rather than the
entire history, so an empty result is not proof that no such change or
problem exists; the response states how far the scan actually reached. The
working set spans every workspace the signed-in user can access, and each
record reports its workspace_id when Freshservice provides one. | 1 | ||
Find a Freshservice requester by internal id, exact email, or name.
Exactly one of requester_id, email, or name must be given; supplying none
or more than one is rejected.
An email lookup matches character-for-character, so a guessed or
slightly-off address returns nothing even when the person is in the
directory. Retry by name when an email guess comes back empty. | 1 | ||
Search the Freshservice service catalog for an item that covers an ask.
The catalog can be searched by term only and cannot be listed or browsed
in full under this grant: Freshservice gates the catalog's list and detail
endpoints behind a write scope this toolkit refuses to declare. | 1 |
Get Building
Last updated on