How to connect Zoho Desk to Hermes Agent
Connect Zoho Desk to Hermes Agent with ClawLink: 23 tools via hosted OAuth, no Self Client OAuth app to build. The AI Overview already cites this page; here is the three-step flow it describes.


Manage customer support tickets, knowledge bases, and SLAs. Once connected, Hermes Agent can read and act on Zoho Desk from chat — pairing, token refresh, and tool wiring handled for you.
Most guides for giving Hermes Agent Zoho Desk 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 Zoho Desk setup: pair once in the browser and your always-on Hermes agent can act on Zoho Desk 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.
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 Zoho Desk.
1Install and pair
Install the ClawLink plugin, then pair Hermes with a one-time browser approval:
hermes plugins install ClawLink-HQ/hermes-plugin --enable- 2
Connect Zoho Desk
One-click OAuth in the dashboard.
- 3
Use it from chat
Ask Hermes Agent: "What can you do with Zoho Desk?"
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 testThen connect Zoho Desk in the ClawLink dashboard — a one-click OAuth approval, no API keys.
Verify the connection by asking Hermes:
List my tickets with zoho_desk_list_tickets and show me open tickets grouped by department, with the requester name and the age of each ticket. Keep the ticket ids as quoted strings in every call.
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 loginlogin opens the same browser approval and stores a credential locally. Once Zoho Desk is connected in the dashboard, that agent calls the same 23 Zoho Desk tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.
Zoho Desk MCP for Hermes
Looking for a Zoho Desk MCP server for Hermes Agent? ClawLink connects Zoho Desk to Hermes Agent and exposes 23 Zoho Desk tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw Zoho Desk integration runs on the same hosted Zoho Desk provider and the same 23 tools; OpenClaw installs ClawLink through a ClawHub skill instead of the Hermes pairing commands.
Google's AI Overview for "how to connect zoho desk to hermes" already names this page as one of two options, paired directly next to Composio, and this page ranks #3 to #4 on both Hermes-branded queries. The overview's body only details the Composio route, so here is this page's flow in the same step-by-step shape: install the plugin with hermes plugins install ClawLink-HQ/hermes-plugin --enable, run hermes clawlink begin and hermes clawlink finish, connect Zoho Desk from the dashboard, and the 23 tools below are callable from chat. The route every other source teaches instead is Zoho's "Self Client" OAuth dance: register a client, generate codes, run a refresh-token loop, and now that Zoho Desk no longer supports legacy permanent auth tokens, keep that loop alive forever. None of that exists here. The page also owns an error cause nobody else teaches: an 18-digit Zoho Desk ticket id passed as a number instead of a string can fail with a 404 that looks like a permissions problem, covered in its own troubleshooting card below.
What the Hermes Agent Zoho Desk integration can do
23 Zoho Desk tools are ready for Hermes Agent once the account is connected.
All 23 Zoho Desk tools for Hermes
| Tool | What it does |
|---|---|
Get agent zoho_desk_get_agent | Fetch details of a Zoho Desk agent |
Get agents count zoho_desk_get_agents_count | Get the total count of agents in Zoho Desk |
Get contact zoho_desk_get_contact | Fetch details of a Zoho Desk contact |
Get contacts by IDS zoho_desk_get_contacts_by_ids | Fetch multiple contacts by their IDs using Zoho Desk's contactsByIds endpoint |
Get department zoho_desk_get_department | Fetch details of a Zoho Desk department by ID |
Get department logo zoho_desk_get_department_logo | Get/download a department's logo from Zoho Desk |
Get departments count zoho_desk_get_departments_count | Get the total count of departments in Zoho Desk |
Get ticket zoho_desk_get_ticket | Get Ticket |
Get ticket latest thread zoho_desk_get_ticket_latest_thread | Fetch the most recent thread of a ticket |
Get ticket resolution zoho_desk_get_ticket_resolution | Get Ticket Resolution |
Get ticket thread zoho_desk_get_ticket_thread | Fetch a specific thread within a Zoho Desk ticket |
List contact accounts zoho_desk_list_contact_accounts | List accounts associated with a Zoho Desk contact |
List contacts zoho_desk_list_contacts | List contacts with filters and pagination |
List departments zoho_desk_list_departments | List all departments in the current Zoho Desk organization |
List organizations zoho_desk_list_organizations | List all organizations the current user belongs to |
List roles zoho_desk_list_roles | List Roles |
List roles by IDS zoho_desk_list_roles_by_ids | List Roles By IDs |
List teams in department zoho_desk_list_teams_in_department | List teams in the specified Zoho Desk department |
List ticket conversations zoho_desk_list_ticket_conversations | List Ticket Conversations |
List tickets zoho_desk_list_tickets | List Tickets |
Create ticket zoho_desk_create_ticket | Create a new Zoho Desk ticket with subject, description, department, and requester details |
Update many tasks zoho_desk_update_many_tasks | Update multiple tasks in a single call using Zoho Desk API |
Upload department logo zoho_desk_upload_department_logo | Upload/update a department logo in Zoho Desk |
Try it: find the Zoho Desk tool you need
Browse the 23 Zoho Desk tools
Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.
Example prompts
List my tickets with zoho_desk_list_tickets and show me open tickets grouped by department, with the requester name and the age of each ticket. Keep the ticket ids as quoted strings in every call.
For ticket <ticket id>, read the latest thread with zoho_desk_get_ticket_latest_thread and the resolution with zoho_desk_get_ticket_resolution, then summarize the history and what is unresolved.
Create a ticket with zoho_desk_create_ticket using the subject, description, department, and requester details I am about to paste. Show me the draft and the department it will land in before you create it.
List the departments, roles, and teams I can reach with zoho_desk_list_departments, zoho_desk_list_roles, and zoho_desk_list_teams_in_department, and tell me which tickets are assigned to each team.
How the Zoho Desk tools behave
The rules that decide whether a Zoho Desk call returns, from the live schemas and a production failure this page's team found and fixed.
- Ticket ids are 18 digits and must be strings. Passed as a bare JSON number, an id rounds before it reaches Zoho and the provider answers 404 URL_NOT_FOUND on the id-typed tools. Quoted strings succeed. This is a proven production finding, not a rumor.
- List first, then get.
zoho_desk_list_ticketsreturns the ids and departments every deeper call needs; an id invented in the prompt fails permission-shaped. - Threads and resolutions are separate tools. Latest thread, full thread, and resolution each have their own call, so "read the ticket" is ambiguous until you say which part.
- The reads map the org. Agents, contacts, departments, teams, roles, and organizations are all readable, which makes org-structure questions answerable without the admin UI.
- Two writes to be deliberate about.
zoho_desk_create_ticketlands in the help desk, andzoho_desk_upload_department_logochanges org branding; both deserve an explicit go-ahead in the prompt.
ClawLink vs. building it yourself
The alternative to ClawLink is usually manual OAuth app 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 Zoho Desk working from chat.
| Manual | ClawLink | |
|---|---|---|
| Connection flow | Register a Zoho Desk app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift. | Users connect Zoho Desk through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code. |
| Ongoing maintenance | You own refresh logic, permission debugging, environment config, and every provider-specific edge case for Zoho Desk. | ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure. |
| Agent usability | You still need to expose the right Zoho Desk actions to the runtime in a format your agent can reliably use. | 23 tools for Zoho Desk are already exposed through ClawLink, so the agent can read and act from chat immediately. |
ClawLink vs. Composio
Composio also exposes Zoho Desk 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 Zoho Desk in the browser, and the 23 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full Composio alternatives comparison.
Troubleshooting
Hermes paired but still can't use Zoho Desk
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 Zoho Desk 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 Zoho Desk tools
Zoho Desk 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 Zoho Desk 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.
Zoho Desk 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.
Zoho Desk returns 404 URL_NOT_FOUND on ticket calls that used to work
Check the id type before anything else: this is the 18-digit float64 trap. When the agent emits a ticket_id as a bare JSON number, the value rounds before reaching Zoho and the provider answers 404 URL_NOT_FOUND, an error that reads like a permissions or not-found problem but is pure ID precision. The tools affected are the id-typed ones: zoho_desk_get_ticket, zoho_desk_get_ticket_resolution, zoho_desk_get_ticket_latest_thread, zoho_desk_get_ticket_thread, and zoho_desk_list_ticket_conversations. The same call with the id as a quoted string succeeds. The fix is deploy-side and already live, but on a fresh session ask the agent to quote ids as strings in its calls.
Ask the agent to diagnose it:
Call zoho_desk_list_tickets and show me the exact ticket ids it returns. Then retry the failed call using one of those ids as a quoted string, and tell me whether it succeeds. Do not change anything about scopes or departments yet.Zoho Desk returns 403 insufficient permissions although the account is connected
The taught cause order for Zoho Desk is scopes, departments, then tiers: the OAuth grant must carry the scope the failing tool needs (the pattern is ZohoDesk.tickets.READ for ticket reads), the connected user must belong to the department the ticket is in, and the user's license tier must include the feature being called. The top organic answer for this symptom is a community thread about a 403 on tickets in a new department, which is the department case. After scopes and departments are ruled out, check the argument: a placeholder or invented ticket, contact, or department id returns the same permission-shaped error because Zoho hides what the account cannot see. Reconnecting from the dashboard re-issues the grant if a permission changed after the connection was made.
Ask the agent to diagnose it:
Call zoho_desk_list_organizations and zoho_desk_get_agent, then list the departments you can see with zoho_desk_list_departments. Tell me which user, org, and departments this connection can reach, then quote the exact error from the failed call. Do not retry it yet.Zoho Desk tools are missing, or one tool name is not found
The fix search results teach for this symptom lives inside Zoho's own MCP Console: log in, Tools, Add Tools, check Zoho Desk. That fixes their server's catalog, not this one. Here, if Hermes shows no Zoho Desk tools at all, confirm the plugin was installed with --enable, that both pairing commands ran, and that Zoho Desk 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. One timing case is unique to this setup: schemas load on demand, so the opening Zoho Desk call in a fresh session can arrive before the catalog and needs one retry.
Ask the agent to diagnose it:
List the Zoho Desk tools you actually have access to. If there are none, say so plainly. If there are, tell me which one lists tickets and use that exact name.OAuth finished in the browser but the account is still missing
Try reconnecting Zoho Desk and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.
FAQ
Is there a Hermes Agent Zoho Desk integration?
Yes. ClawLink is the fastest way to connect Hermes to Zoho Desk: link your Zoho Desk account once in the browser and Hermes Agent can call the Zoho Desk API through 23 ready-made tools — no custom code or token handling.
How do I connect Zoho Desk 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 Zoho Desk in the dashboard and Hermes can use it from the next message — no config files or API keys to manage.
How long does it take to connect Zoho Desk to Hermes Agent?
About two minutes. Sign in, click Connect next to Zoho Desk in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.
Why use ClawLink instead of wiring Zoho Desk up myself?
The alternative to ClawLink is usually manual OAuth app 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 Zoho Desk working from chat.
Do I need to build a Zoho "Self Client" OAuth app to connect Zoho Desk?
No, and the Self Client tutorial is exactly what this page removes. That route is what search results teach: register a client in the Zoho console, generate authorization codes, then run the refresh-token dance, permanently, because Zoho Desk no longer supports the old permanent auth tokens. The hosted connection owns the OAuth app, so you approve Zoho's consent screen once and the refresh cycle runs server-side. Nothing is registered by you, no code is generated, and no token file exists on your machine.
What can the agent do in Zoho Desk?
The ticket surface and the org structure around it: list and get tickets, read ticket threads, the latest thread, and resolutions, list ticket conversations, create tickets with subject, description, department, and requester details, and read contacts, departments, teams, roles, organizations, and agents. The reads are broad enough to answer most support questions without writing. The writes are creating tickets and updating tasks, plus the admin-shaped department logo upload; ticket creation lands in your help desk, so it is the action to say explicitly before the agent proceeds.
Why does a ticket call fail with 404 when the connection is fine?
This is the trap this page discovered in production and it is worth reading carefully: Zoho Desk ticket ids are 18 digits, and when an agent passes one as a bare JSON number, the number gets rounded to a float before it reaches Zoho, which then answers with a 404 URL_NOT_FOUND. The same call with the id as a quoted string succeeds. The failure looks like a permissions or not-found problem, which is why every diagnostic you find will point at scopes, departments, or license tiers, and none of them will fix it. If a ticket call 404s on a healthy connection, check that the agent sent the id as a string, not a number.
Is it safe to connect Zoho Desk to an AI agent?
The mechanics: the OAuth token lives server-side, the tool table on this page is the complete set of operations the agent can invoke, and revoking from the dashboard cuts access immediately. The permission levers are Zoho's own: scopes like ZohoDesk.tickets.READ, department restrictions, and license tiers decide what a connected account can touch, so connect an account whose department and license match the surface the agent should work on. For customer-visible writes like ticket creation, keep a draft-and-approve step in the prompt.
Does the connection hit Zoho's API credit limits?
Zoho allocates API credits to organizations and answers calls beyond the allowance with 429, and the taught lesson is that these limits are a manual-app problem: a self-hosted integration consumes the org's credits on every call it makes. A 429 means the allowance window is spent, so the correct response is to wait it out rather than retry in a loop, and to shape agent work so a sweep happens across turns instead of in one burst.
Hermes paired but still can't use Zoho Desk
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.
Related
Zendesk
Manage support tickets, macros, users, and organizations
Gleap
Gleap is an all-in-one customer feedback tool for apps and websites, enabling direct communication with users to build better software by discovering their everyday pain points.
Hermes Freshdesk integration
Handle support tickets, contacts, and helpdesk operations