Freshdesk
Arcade toolkit · docs.arcade.dev
Freshdesk toolkit for Arcade lets agents and LLMs interact with a Freshdesk helpdesk — reading and managing tickets, contacts, companies, and knowledge base articles via the Freshdesk REST API.
Capabilities
- Ticket lifecycle — open tickets, post public replies, add private notes, update status/priority/assignee/group, merge duplicates, and retrieve full conversation history including notes
- Contact & company management — create or update contacts and companies, look up records by id, and search by name, email, or company affiliation
- Unified customer context — fetch a requester's contact record, company, and full ticket history in a single call
- Knowledge base access — search published solution articles by keyword and retrieve full article content by id
- Routing & discovery — list agents (filterable by email) and groups to support ticket assignment logic
- Account verification — confirm the connected Freshdesk domain and validate the API key identity via a
WhoAmIcall
Secrets
FRESHDESK_API_KEY
The API key for the Freshdesk account the tools will act as. Retrieve it from your Freshdesk portal: go to Profile Settings (avatar → Profile Settings) and copy the key shown under Your API Key in the right-hand panel. The key carries the permissions of the agent whose profile it belongs to; use an admin-level agent if your workflows require full access. See Freshdesk API key docs.
FRESHDESK_DOMAIN
Your Freshdesk subdomain — the <subdomain> portion of https://<subdomain>.freshdesk.com. This is set when the account is created and is visible in the browser address bar on any Freshdesk page. Pass the bare subdomain string (e.g., acme), not the full URL.
Store both secrets in Arcade using the secrets guide or the Arcade dashboard.
Tools19
Freshdesk_AddPrivateNote
Add an internal private note to a ticket that the requester cannot see.
Freshdesk_CreateOrUpdateCompany
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.
Freshdesk_CreateOrUpdateContact
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.
Freshdesk_CreateTicket
Open a ticket on a customer's behalf. Requires a subject, a description, and a requester identified by email or id.
Freshdesk_GetArticle
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.
Freshdesk_GetCompany
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.
Freshdesk_GetContact
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.
Freshdesk_GetCustomerOverview
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.
Freshdesk_GetTicket
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.
Freshdesk_ListAgents
List the helpdesk's agents, optionally filtered to one email, for routing tickets.
Freshdesk_ListGroups
List the helpdesk's groups for routing tickets to a team.
Freshdesk_MergeTickets
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.
Freshdesk_ReplyToTicket
Post a public reply on a ticket that the requester can see.
Freshdesk_SearchArticles
Search the knowledge base for published solution articles matching a term.
Freshdesk_SearchCompanies
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.
Freshdesk_SearchContacts
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.
Freshdesk_SearchTickets
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.
Freshdesk_UpdateTicket
Change a ticket's status, priority, assignee, or group. Fields left unset are unchanged; at least one field must be provided.
Freshdesk_WhoAmI
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.