Skip to Content
ResourcesIntegrationsCustomer SupportFreshservice

Freshservice

Service domainCUSTOMER SUPPORT
Freshservice icon
Arcade Optimized

Arcade.dev LLM tools for Freshservice IT service management

Author:Arcade
Version:3.0.1
Auth:User authorization
6tools
6require secrets

Freshservice is an IT service management platform. This toolkit gives LLMs structured access to Freshservice tickets, knowledge base articles, service catalog, requesters, changes, and problems via the Arcade tool-calling interface.

Capabilities

  • Ticket management — retrieve a single ticket with its full conversation, tasks, and formally linked changes/problems; list and filter the ticket queue by view, status, priority, and SLA breach state.
  • Knowledge base search — search articles by keyword or fetch a single article by ID, including full body text in one call.
  • Root-cause lookup — search recent changes and tracked problems together to identify what explains a wave of tickets about a given system; fetch individual change or problem records by ID.
  • Requester lookup — find a Freshservice user by internal ID, exact email, or name.
  • Service catalog search — search catalog items by keyword (browsing and listing are restricted by Freshservice's required write scope, which this toolkit intentionally does not declare).

OAuth

This toolkit authenticates via OAuth 2.0 with Freshservice as the provider. Arcade manages the OAuth flow; no manual token handling is required.

Secrets

  • FRESHSERVICE_SUBDOMAIN — The subdomain of your Freshservice account, i.e. the <subdomain> portion of https://<subdomain>.freshservice.com. You can find this in your browser's address bar when logged into Freshservice, or under Admin → Account Settings in your Freshservice portal. This value is required so the toolkit knows which Freshservice instance to call.

See the Arcade secrets guide for how to store secrets, and https://api.arcade.dev/dashboard/auth/secrets to manage them in the Arcade dashboard.

Available tools(6)

6 of 6 tools
Operations
Behavior
Tool nameDescriptionSecrets
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. 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.
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
Last updated on