ClawLink

How to connect Freshdesk to Hermes Agent

Connect Freshdesk to Hermes Agent with ClawLink: paste your Freshdesk key once and 178 tools work from chat. No MCP server to run, nothing stored on your machine. Rate-limit and 403 fixes included.

Get started for free
Hermes Agent
Hermes Agent
ClawLink
ClawLink
Freshdesk
Freshdesk
FreshdeskAPI KEYMCP

Handle support tickets, contacts, and helpdesk operations. Once connected, Hermes Agent can read and act on Freshdesk from chat — pairing, token refresh, and tool wiring handled for you.

178 tools

Most guides for giving Hermes Agent Freshdesk access start with registering your own OAuth app or pasting API keys into env files, then leave the token refresh and tool wiring to you. ClawLink gives Hermes a more practical Freshdesk setup: pair once in the browser and your always-on Hermes agent can act on Freshdesk for you, reading and doing real work on your behalf with no auth, token refresh, or tool wiring to build yourself.

Copy this prompt into Hermes to install the plugin and pair your account.

Prompt for Hermes
Set up ClawLink for Hermes and tell me when it's ready.

1. Install the plugin:
hermes plugins install ClawLink-HQ/hermes-plugin --enable

2. Start pairing. It prints an approval link, so show me the link and stop, don't wait:
hermes clawlink begin

3. I'll approve it in my browser, then reply "approved".

4. When I say approved, finish setup:
hermes clawlink finish

5. Then run `hermes clawlink test` and tell me whether ClawLink is ready.

Setup

It takes three steps to connect Hermes to Freshdesk.

  1. 1

    Install and pair

    Install the ClawLink plugin, then pair Hermes with a one-time browser approval:

    hermes plugins install ClawLink-HQ/hermes-plugin --enable
  2. 2

    Connect Freshdesk

    Paste your API key in the dashboard.

  3. 3

    Use it from chat

    Ask Hermes Agent: "What can you do with Freshdesk?"

Install by command

The prompt above walks Hermes through this. By hand, it is four commands and a browser approval:

hermes plugins install ClawLink-HQ/hermes-plugin --enable
hermes clawlink begin    # prints an approval link — open it and approve
hermes clawlink finish   # after approving in the browser
hermes clawlink test

Then connect Freshdesk in the ClawLink dashboard — paste your Freshdesk API key once.

Verify the connection by asking Hermes:

Search my open tickets with freshdesk_get_search for status 2 (open), and for each one tell me the subject, requester, and how long it has been open. Do not add notes or change anything.

Using a different agent?

The Hermes plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:

npx -y @useclawlink/cli login

login opens the same browser approval and stores a credential locally. Once Freshdesk is connected in the dashboard, that agent calls the same 178 Freshdesk tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.

Freshdesk MCP for Hermes

Looking for a Freshdesk MCP server for Hermes Agent? ClawLink connects Freshdesk to Hermes Agent and exposes 178 Freshdesk tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw Freshdesk integration runs on the same hosted Freshdesk provider and the same 178 tools; OpenClaw installs ClawLink through a ClawHub skill instead of the Hermes pairing commands.

Freshdesk authenticates with an API key, so you do paste one: generate it in your Freshdesk profile, enter it once on the hosted setup page, and the 178 tools below are callable from Hermes chat. The description search results use for this flow, "hosted OAuth alternative", is a looser way of saying the same thing: the key lives server-side, no MCP server runs on your machine, no config file is edited, and nothing is stored on the machine you happen to be using. Two things make this route distinctive right now. Freshworks's own official Freshdesk MCP server is still an early-access Enterprise product and still requires an API key, so the "no MCP server to run" framing is not available from them. And searches for "Freshdesk AI agent without API key" are answered with Freshworks's in-product AI Agent Studio, which is a native bot, not an external agent; this integration is the external-agent route with the key held where no prompt can leak it.

What the Hermes Agent Freshdesk integration can do

178 Freshdesk tools are ready for Hermes Agent once the account is connected. The 30 below are the ones people reach for most; your agent can call all 178.

30 of 178 Freshdesk tools for Hermes

ToolWhat it does
Add note to ticket freshdesk_add_note_to_ticketAdd a private or public note to a ticket
Add ticket user access freshdesk_add_ticket_user_accessAdd agent access to a specific ticket
Add watcher freshdesk_add_watcherAdd the authenticated user as a watcher to a ticket
Bulk update tickets freshdesk_bulk_update_ticketsUpdate multiple tickets simultaneously in bulk
Create admin group freshdesk_create_admin_groupCreate a new admin-level support agent group
Create agents freshdesk_create_agentsCreate multiple agents in Freshdesk
Create canned response freshdesk_create_canned_responseCreate a new canned response in Freshdesk
Create companies freshdesk_create_companiesCreate a new company in Freshdesk
Create contact freshdesk_create_contactCreate a new contact in Freshdesk
Currently authenticated agent freshdesk_currently_authenticated_agentRetrieve profile information for the currently authenticated agent
Get account freshdesk_get_accountView Freshdesk account information
Get agent freshdesk_get_agentRetrieve detailed information about a specific agent by ID
Get agent availability freshdesk_get_agent_availabilityRetrieve availability information for a specific agent
Get agents freshdesk_get_agentsSearch for agents using autocomplete functionality in Freshdesk
Get business hours freshdesk_get_business_hoursRetrieves all business hours configurations from Freshdesk
Get canned response folders freshdesk_get_canned_response_foldersRetrieve all canned response folders from Freshdesk
Get companies freshdesk_get_companiesRetrieve all companies from a Freshdesk account with pagination support
Get company freshdesk_get_companyRetrieve detailed information about a specific company by ID
Get company fields freshdesk_get_company_fieldsRetrieve all company fields configured in Freshdesk
Get contact freshdesk_get_contactRetrieve detailed information about a specific contact by ID
Get contact fields freshdesk_get_contact_fieldsRetrieve all contact fields configured in Freshdesk
Get contacts freshdesk_get_contactsRetrieve all contacts from a Freshdesk account
Get discussion category freshdesk_get_discussion_categoryView details of a specific forum category in Freshdesk
Get discussion topic freshdesk_get_discussion_topicRetrieve detailed information about a specific discussion topic by ID
Get email mailbox freshdesk_get_email_mailboxRetrieve detailed information about a specific email mailbox by ID
Get folder responses freshdesk_get_folder_responsesRetrieve all canned responses within a specific folder in Freshdesk
Get imported contacts freshdesk_get_imported_contactsRetrieve details of all contact import operations in Freshdesk
Get job freshdesk_get_jobView the status of a bulk job operation
Get scenario automations json freshdesk_get_scenario_automations_jsonList all scenario-based automations in Freshdesk
Get search freshdesk_get_searchSearch and filter tickets in Freshdesk using flexible query syntax

Try it: find the Freshdesk tool you need

Browse the 30 Freshdesk tools

Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.

Example prompts

Search my open tickets with freshdesk_get_search for status 2 (open), and for each one tell me the subject, requester, and how long it has been open. Do not add notes or change anything.

For ticket <ticket id>, add a note with freshdesk_add_note_to_ticket summarizing this thread: <paste thread>. Mark the note as private unless I say otherwise.

Show me the tickets that match <criteria> using freshdesk_get_search, then draft the bulk update with freshdesk_bulk_update_tickets: new group, status, and the note to append. Do not execute it until I approve the draft.

Add the current user as a watcher on ticket <ticket id> with freshdesk_add_watcher, then tell me who the current assignee is and when the ticket was last updated.

How the Freshdesk tools behave

Details that decide whether a Freshdesk prompt is a quick answer or a customer-visible write.

  • Notes are customer-visible depending on your settings. freshdesk_add_note_to_ticket supports a private flag; say "private note" in the prompt or the agent may pick the wrong default.
  • Search is the entry point. freshdesk_get_search is how tickets and contacts are found by anything other than a known id, and it is the tool to call before an id-based tool 403s on an invented id.
  • Bulk updates are one call with wide effect. freshdesk_bulk_update_tickets changes many tickets at once, which is powerful and worth an explicit approval step in the prompt.
  • Agents and availability are readable. freshdesk_get_agents and freshdesk_get_agent_availability answer staffing questions without touching Freshdesk's admin UI.
  • Business hours and mailboxes are data. freshdesk_get_business_hours and freshdesk_get_email_mailbox let an agent reason about SLA-ish questions like "is anyone on duty".

The alternative to ClawLink is usually manual API key setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Freshdesk working from chat.

ManualClawLink
Credential handlingCollect, validate, store, and rotate the Freshdesk API key yourself, then make sure every tool call uses the right account.Users complete the hosted ClawLink setup once and the connected Freshdesk account becomes available to the agent without you building credential management.
Ongoing maintenanceYou own refresh logic, permission debugging, environment config, and every provider-specific edge case for Freshdesk.ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure.
Agent usabilityYou still need to expose the right Freshdesk actions to the runtime in a format your agent can reliably use.178 tools for Freshdesk are already exposed through ClawLink, so the agent can read and act from chat immediately.

Composio also exposes Freshdesk to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for Hermes Agent users instead. You install the plugin once, connect Freshdesk in the browser, and the 178 tools above work from chat. There is no SDK and no config file, and the Freshdesk key you paste at setup is stored server-side rather than kept in your environment. Choosing between them? Read the full Composio alternatives comparison.

Troubleshooting

Hermes paired but still can't use Freshdesk

Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.

Connection succeeds but no tools appear

Reconnect Freshdesk from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.

"Tool schema not loaded yet" error when calling Freshdesk tools

Freshdesk tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Freshdesk call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.

Freshdesk returns 403 or "permission denied" on one action while others work

Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.

Freshdesk returns 403 insufficient permissions although the account is connected

Freshdesk answers with permission errors in two situations, and the diagnosis order matters. First, the connected user's role and scope: an agent key whose Freshdesk user lacks access to a ticket, group, or company returns 403 for exactly those objects, and Freshdesk's own support article names this error class as "you are not allowed to access this page". Second, the arguments: a placeholder or invented ticket or contact id returns the same permission-shaped error because Freshdesk hides what the account cannot see. Check the id the agent sent before reissuing credentials, and only reconnect after both are ruled out.

Ask the agent to diagnose it:

Call freshdesk_currently_authenticated_agent and freshdesk_get_account. Tell me which Freshdesk user this connection acts as and which plan the account is on, then quote the exact error from the failed call. Do not retry it yet.
Freshdesk starts returning 429 or the agent stalls mid-bulk-update

Freshworks documents rate limits of 1000 requests per hour on higher plans and per-minute limits on lower ones, and a bulk update of many tickets is the traffic shape that meets them: the API accepts the call and the allowance drains in one sweep. A 429 is the hour being spent, so retrying immediately is wasted traffic. Change the shape of the work: split a large update into batches across turns, and have the agent report how many requests it has made when it hits a 429 rather than retrying in a loop.

Ask the agent to diagnose it:

Tell me how many Freshdesk requests you have made in the last hour and what the last bulk call touched. Quote any rate-limit text from the last response. Do not call Freshdesk again until I reply.
Freshdesk tools are missing, or one tool name is not found

Two different failures. If Hermes shows no Freshdesk tools at all, the connection or the pairing is incomplete: confirm the plugin was installed with --enable, that both hermes clawlink begin and hermes clawlink finish ran, and that Freshdesk shows as connected in the dashboard, then start a fresh chat. If most tools work and a single name fails, the name is wrong rather than missing, and the error lists the closest real ones. Search results teach "verify your API key and domain" for this symptom, which is the self-hosted version of the same failure; here the key is already verified at setup, so the name check is the relevant one. There is also a first-call timing case unique to this setup: schemas load on demand, so the opening Freshdesk call in a fresh session can arrive before the catalog and needs one retry.

Ask the agent to diagnose it:

List the Freshdesk tools you actually have access to. If there are none, say so plainly. If there are, tell me which one searches tickets and use that exact name.
API key setup works but results look incomplete

Double-check that the API key for Freshdesk has the right scopes or account access. A valid key can still be too limited for some reads or writes.

FAQ

Is there a Hermes Agent Freshdesk integration?

Yes. ClawLink is the fastest way to connect Hermes to Freshdesk: link your Freshdesk account once in the browser and Hermes Agent can call the Freshdesk API through 178 ready-made tools — no custom code or token handling.

How do I connect Freshdesk to Hermes with ClawLink?

Install the plugin with hermes plugins install ClawLink-HQ/hermes-plugin --enable, then pair once: run hermes clawlink begin, approve the link in your browser, and run hermes clawlink finish. Connect Freshdesk in the dashboard and Hermes can use it from the next message — no config files, and the Freshdesk key you paste is stored server-side instead of in your environment.

How long does it take to connect Freshdesk to Hermes Agent?

About two minutes. Sign in, click Connect next to Freshdesk in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.

Why use ClawLink instead of wiring Freshdesk up myself?

The alternative to ClawLink is usually manual API key setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Freshdesk working from chat.

Why does this page say "paste one key" instead of "no API keys"?

Because Freshdesk's API is key-authenticated, and an honest page says so. The key is entered once on the hosted setup page and held server-side; the agent never sees it, it is not written to any .env or config file on your machine, and it can be revoked from the dashboard at any time. The AI Overview that quotes ClawLink calls this "one-click hosted OAuth", which is the same flow described loosely: the key is the credential, the hosting is what removes the setup. The claim that matters, and the one the winning citations repeat, is that no configuration files are involved and nothing runs locally.

What can the agent do in Freshdesk?

The ticket surface is the core: add notes and watchers, bulk-update tickets, create canned responses, and search tickets, contacts, companies, and agents. The read side covers agents and their availability, business hours, email mailboxes, discussion topics, and the account's company and contact fields. The writes to be deliberate about are notes on tickets, which customers can see depending on your Freshdesk settings, and bulk updates, which touch many tickets in one call.

Is this Freshdesk's own AI agent, or something separate?

Separate. Freshworks sells its own in-product AI Agent Studio (an Omni-plan feature) and an API Actions library, and those are what searches for "Freshdesk AI agent without API key" surface first. They are native to Freshdesk and configure through the product. This integration is the external-agent route: Hermes is the agent, Freshdesk is one connected account, and the same 178 tools are callable alongside your other integrations.

Does the official Freshdesk MCP server make this unnecessary?

No, and the comparison is worth being exact about. Freshdesk's official MCP server is in early access, targets Enterprise plans, and still authenticates with an API key, so it does not remove the setup this page removes: the key still has to be created and stored somewhere you run a server. This integration holds the key for you, exposes 178 tools from chat, and needs nothing running. If you are on a plan where the official EAP is available and want a vendor-managed MCP endpoint, that is a real option; for an agent that works across apps, the hosted route is the one without the server.

Is it safe to connect Freshdesk to an AI agent?

Judge it by the mechanics. The credential is an API key held server-side, never shown to the agent and never written to your machine, and revoking it in the dashboard kills access immediately. The permission question is a Freshdesk account question: connect a key whose user has the roles the agent should act with, and check the "you are not allowed to access this page" error class when a tool fails, since Freshdesk answers restricted objects with permission errors rather than not-found. For writes like notes and bulk updates, tell the agent to draft before it changes anything.

Hermes paired but still can't use Freshdesk

Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.