Skip to Content
ResourcesIntegrationsCustomer SupportFreshdesk

Freshdesk

Service domainCUSTOMER SUPPORT
Freshdesk icon
Arcade Optimized

Arcade.dev LLM tools for Freshdesk customer support

Author:Arcade
Version:1.0.2
Auth:No authentication required
19tools
19require secrets

Freshdesk toolkit for Arcade connects LLM agents to a Freshdesk helpdesk instance, enabling full customer support workflows — ticket management, contact/company CRM, knowledge base access, and agent/group routing — via 19 tools.

Capabilities

  • Ticket lifecycle: Create, read, update, merge, and reply to tickets; post private internal notes; filter and search the queue by status, priority, assignee, group, tag, type, or requester.
  • Contact & company CRM: Create or update contacts and companies, search by name/email/company, and retrieve full records by ID. Missing IDs return a structured not-found envelope rather than raising, enabling graceful in-turn recovery.
  • Customer context assembly: GetCustomerOverview fetches a requester's contact record, company, and full ticket history in a single call instead of three separate lookups.
  • Knowledge base: Search published solution articles by keyword and read full article content by ID.
  • Routing & identity: List agents (filterable by email) and groups for ticket assignment; WhoAmI verifies the active API key and connected account.

Secrets

This toolkit requires two secrets configured in Arcade.

  • FRESHDESK_API_KEY — A Freshdesk API key that authenticates all requests. Retrieve it from your Freshdesk account by navigating to your Profile Settings (click your avatar → Profile Settings); the API key appears in the right-hand panel. Each agent has their own key; use a key belonging to an agent with sufficient permissions to read and write tickets, contacts, and companies in your helpdesk. See the Freshdesk API authentication docs for details.

  • FRESHDESK_DOMAIN — Your Freshdesk subdomain, i.e. the <subdomain> portion of https://<subdomain>.freshdesk.com. This identifies which Freshdesk account the tools connect to. It is the hostname prefix you use to log into Freshdesk — no protocol or trailing slash needed.

Store both secrets in Arcade at https://api.arcade.dev/dashboard/auth/secrets. For general guidance on configuring tool secrets, see https://docs.arcade.dev/en/guides/create-tools/tool-basics/create-tool-secrets.

Available tools(19)

19 of 19 tools
Operations
Behavior
Tool nameDescriptionSecrets
Add an internal private note to a ticket that the requester cannot see.
2
Create a new company account or update an existing one. To create, omit company_id and provide a name; link a contact to the result by passing its id as a contact's company.
2
Create a new contact or update an existing one. To create, omit contact_id and provide a name plus at least one of email, phone, or mobile.
2
Open a ticket on a customer's behalf. Requires a subject, a description, and a requester identified by email or id.
2
Read a single knowledge base article's full content by id. A missing id returns a not-found envelope (``found`` false) rather than raising, so a stale or guessed id can be recovered from within the same turn.
2
Read a single company's details by id. A missing id returns a not-found envelope (``found`` false) rather than raising, so a stale or guessed id can be recovered from within the same turn.
2
Read a single contact's details by id. A missing id returns a not-found envelope (``found`` false) rather than raising, so a stale or guessed id can be recovered from within the same turn.
2
Assemble one requester's full context — their contact record, their company, and their tickets — in a single call instead of three separate lookups. Identify the requester by contact_id or email; a missing requester returns a not-found envelope rather than raising, so a stale id or wrong email can be recovered in the same turn.
2
Read a ticket together with its full public-reply and private-note history. A missing id returns a not-found envelope (``found`` false) rather than raising, so a stale or guessed id can be recovered from within the same turn.
2
List the helpdesk's agents, optionally filtered to one email, for routing tickets.
2
List the helpdesk's groups for routing tickets to a team.
2
Merge duplicate tickets into one. Use this to consolidate related tickets from the same requester so the conversation lives in a single place; the secondary tickets are closed.
2
Post a public reply on a ticket that the requester can see.
2
Search the knowledge base for published solution articles matching a term.
2
Find companies by name. Match is by name prefix; use the full name for an exact hit. Returns lightweight summaries without the company note; read a single company by id for its full detail.
2
Find contacts by name, exact email, or company. With no filters, returns recent contacts. Combining a name with a company scans up to the company's first 1000 contacts and matches the name among them; at a company with more contacts than that, a name match recorded beyond the scan may not appear.
2
Find tickets in the queue by status, priority, requester, agent, group, tag, type, or recency. With no filters, returns the most recently updated tickets. Pass requester_id (or requester_email) to pull one customer's full ticket history; other filters then refine that requester's tickets. A just-created ticket may take a moment to appear here while Freshdesk indexes it.
2
Change a ticket's status, priority, assignee, or group. Fields left unset are unchanged; at least one field must be provided.
2
Return the authenticated Freshdesk agent's profile. Use this to verify the configured API key and confirm which Freshdesk account (domain) the tools are connected to; it is not a required preamble to the other tools.
2
Last updated on