Smithery's MCP Proxy and managed identity shut down on October 31. See what's changing

SmitherySign up for Arcade

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 WhoAmI call

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.