How to connect Zoho Invoice to Hermes Agent
Connect Zoho Invoice to Hermes Agent with ClawLink: 137 tools from chat via hosted OAuth. No API keys to create, no Zoho MCP console setup.


Create and send invoices, track payments, and manage billing. Once connected, Hermes Agent can read and act on Zoho Invoice from chat — pairing, token refresh, and tool wiring handled for you.
Most guides for giving Hermes Agent Zoho Invoice 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 Invoice setup: pair once in the browser and your always-on Hermes agent can act on Zoho Invoice 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 Invoice.
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 Invoice
One-click OAuth in the dashboard.
- 3
Use it from chat
Ask Hermes Agent: "What can you do with Zoho Invoice?"
The whole pairing handshake. Run these once, then approve Zoho Invoice in the dashboard:
hermes plugins install ClawLink-HQ/hermes-plugin --enable
hermes clawlink begin # approve the link in your browser
hermes clawlink finish
hermes clawlink testThe Google AI Overview quotes these exact commands on the Hermes-branded query. hermes clawlink test confirms pairing worked; if it fails, run hermes clawlink begin again for a fresh link.
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 Invoice is connected in the dashboard, that agent calls the same 137 Zoho Invoice tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.
Zoho Invoice MCP for Hermes
Looking for a Zoho Invoice MCP server for Hermes Agent? ClawLink connects Zoho Invoice to Hermes Agent and exposes 137 Zoho Invoice tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw Zoho Invoice integration works the same way.
Zoho's own MCP Console is a hosted, token-free alternative, and search results treat it as the answer: create an MCP server at mcp.zoho.com, paste the URL into your client, authorize. It works, and it is still plumbing you do yourself. This is the other hosted route: 137 Zoho Invoice tools already wired into a Hermes pairing. You install the plugin, run two commands, approve the connection, and the invoice tools are in chat. Neither route makes you create a token; the console makes you build and enable the tools, this makes you approve a connection, and one dashboard action revokes the whole thing.
What the Hermes Agent Zoho Invoice integration can do
137 Zoho Invoice 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 137.
30 of 137 Zoho Invoice tools for Hermes
| Tool | What it does |
|---|---|
Export invoices bulk zoho_invoice_export_invoices_bulk | Bulk export multiple invoices as a single PDF file |
Get all tasks zoho_invoice_get_all_tasks | List all tasks in a Zoho Invoice project |
Get client review zoho_invoice_get_client_review | Retrieve details of a particular client review by comment ID |
Get contact zoho_invoice_get_contact | Retrieve a specific contact by ID |
Get contact addresses zoho_invoice_get_contact_addresses | Retrieve all addresses for a contact |
Get contact person zoho_invoice_get_contact_person | Retrieve details of a specific contact person |
Get credit note zoho_invoice_get_credit_note | Retrieve the details of a specific credit note by creditnote_id |
Get credit note email history zoho_invoice_get_credit_note_email_history | Retrieve email history for a credit note |
Get credit note refund zoho_invoice_get_credit_note_refund | Retrieve details of a specific credit note refund |
Get expense zoho_invoice_get_expense | Retrieve a specific expense by ID |
Get invoice zoho_invoice_get_invoice | Retrieve the details of a specific invoice by invoice_id |
Get invoice attachment zoho_invoice_get_invoice_attachment | Get invoice attachment details |
Get invoice email content zoho_invoice_get_invoice_email_content | Retrieve the email content for a specific invoice |
Get item zoho_invoice_get_item | Retrieve the details of a specific item by item_id |
Get payment reminder mail content zoho_invoice_get_payment_reminder_mail_content | Retrieve payment reminder mail content for a specific invoice |
Get price list zoho_invoice_get_price_list | Retrieve the details of a specific price list by pricebook_id |
Get project zoho_invoice_get_project | Retrieve details of a specific project by project ID |
Get project user zoho_invoice_get_project_user | Retrieve a specific user from a project |
Get recurring invoice zoho_invoice_get_recurring_invoice | Retrieve the details of a specific recurring invoice by recurring_invoice_id |
Get statement mail content zoho_invoice_get_statement_mail_content | Retrieve statement mail content for a specific contact |
Get task zoho_invoice_get_task | Retrieve a specific task from a Zoho Invoice project |
Get tax zoho_invoice_get_tax | Retrieve details of a specific tax by tax_id |
Get tax group zoho_invoice_get_tax_group | Retrieve a specific tax group by ID |
Get time entry zoho_invoice_get_time_entry | Retrieve a specific time entry from Zoho Invoice |
List child expenses created zoho_invoice_list_child_expenses_created | List child expenses created from a recurring expense |
List client reviews zoho_invoice_list_client_reviews | Retrieve all client reviews for contacts |
List contact comments zoho_invoice_list_contact_comments | List all comments on a contact |
List contact refunds zoho_invoice_list_contact_refunds | List refunds associated with a contact |
List contacts zoho_invoice_list_contacts | List contacts |
List credit notes zoho_invoice_list_credit_notes | List credit notes |
Try it: find the Zoho Invoice tool you need
Browse the 30 Zoho Invoice tools
Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.
Example prompts
Use zoho_invoice_export_invoices_bulk for last month and tell me how many invoices exported. Then pull the three largest with zoho_invoice_get_invoice and summarise them.
List contacts with zoho_invoice_list_contacts and, for the ones with open invoices, pull zoho_invoice_get_invoice and tell me totals by contact, oldest first.
Get the payment reminder email content with zoho_invoice_get_payment_reminder_mail_content for invoice <id> and draft a shorter version I can approve.
List credit notes with zoho_invoice_list_credit_notes and, for each, pull the refund and email history. Tell me which ones have no refund recorded.
How the Zoho Invoice tools behave
Details that matter once the connection is live and the agent is working through invoices.
- Read-first surface. Invoices, credit notes, expenses, contacts, items, taxes, projects, tasks, time entries, and recurring invoices are all retrievable; the visible toolset is built for questions and exports.
- Email content is retrievable. Invoice email content, credit note email history, statement mail content, and payment reminder content are each their own tool, so 'what did we send them' is answerable without opening Zoho.
- Bulk export is a real tool.
zoho_invoice_export_invoices_bulkmoves many invoices at once; it is the tool for exports and the one most likely to meet the rate limit on a large run. - Ids, not names. Invoices, contacts, and credit notes are addressed by id, and the list tools are where ids come from.
- Organisation-scoped. The connection acts on the organisation of the account you authorized; a mismatch reads as a 403.
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 Invoice working from chat.
| Manual | ClawLink | |
|---|---|---|
| Connection flow | Register a Zoho Invoice app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift. | Users connect Zoho Invoice 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 Invoice. | 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 Invoice actions to the runtime in a format your agent can reliably use. | 137 tools for Zoho Invoice are already exposed through ClawLink, so the agent can read and act from chat immediately. |
ClawLink vs. Composio
Composio also exposes Zoho Invoice 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 Invoice in the browser, and the 137 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 Invoice
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 Invoice 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 Invoice tools
Zoho Invoice 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 Invoice 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 Invoice 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 Invoice returns 403 or "insufficient permissions"
The engines name four root causes, in this order: the authorized user's role lacks the module or the organisation does not have it; an organization_id mismatch between the tool call and the connection; insufficient OAuth scopes such as ZohoInvoice.invoices.ALL, fixed by reauthorizing so the consent screen grants them; and edition or plan API limits. A hosted flow has no token file to regenerate, so those four plus the placeholder-value trap, an id copied from documentation, are the whole story. Start with organisation and module access, not with reconnecting.
Ask the agent to diagnose it:
Call zoho_invoice_list_contacts and quote the exact error code. Tell me which organisation this connection acts on and which Zoho user authorized it. Do not retry the failed call yet.Zoho Invoice hits 429 or rate limits during a bulk export
Zoho's docs publish the numbers: 100 requests per minute, 5 concurrent calls on the free plan and 10 on premium, and a daily allowance of 1,000 requests free and 2,500 paid, with 429 on breach. zoho_invoice_export_invoices_bulk on a large set is exactly the traffic shape that meets the limit. Stage the export rather than retrying: split by date range, run one slice per turn, and have the agent report the count it exported before the next slice.
Ask the agent to diagnose it:
Tell me how many Zoho Invoice calls you made in the last minute and what you were exporting. Quote the error verbatim. Do not retry until I reply.'Tool not found' or Zoho Invoice tools missing
If Hermes shows no Zoho Invoice tools at all, the pairing is incomplete: confirm both hermes clawlink begin and hermes clawlink finish ran and that Zoho Invoice shows as connected in the dashboard. If most tools work and one name fails, the name is wrong and the error lists the closest real ones. The first call in a fresh session can also arrive before the on-demand schema catalog and needs one retry. What does not apply is the console-world fix the engines teach, adding the tool inside the Zoho MCP Console: nothing here is enabled per-tool anywhere.
Ask the agent to diagnose it:
List the Zoho Invoice tools you actually have access to. If there are none, say so plainly. If there are, tell me which one lists contacts and use that exact name.OAuth finished in the browser but the account is still missing
Try reconnecting Zoho Invoice 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 Invoice integration?
Yes. ClawLink is the fastest way to connect Hermes to Zoho Invoice: link your Zoho Invoice account once in the browser and Hermes Agent can call the Zoho Invoice API through 137 ready-made tools — no custom code or token handling.
How do I connect Zoho Invoice 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 Invoice 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 Invoice to Hermes Agent?
About two minutes. Sign in, click Connect next to Zoho Invoice in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.
Why use ClawLink instead of wiring Zoho Invoice 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 Invoice working from chat.
Zoho's MCP Console also says no API keys. What is different?
The difference is token handling versus token creation. With the console you create or pick an MCP server at mcp.zoho.com, paste its URL into Claude, ChatGPT, or Cursor, authorize through the popup, and enable the tools you want per-tool inside Zoho's site. Here the 137 tools come pre-wired: no console to configure, no per-tool enablement, a Hermes-native pairing, and revocation from one dashboard. Choose on how much wiring you want to do, not on whether either route involves keys.
What can the agent do with 137 Zoho Invoice tools?
The surface is read-first: invoices, credit notes, expenses, contacts, items, taxes, tax groups, projects, tasks, time entries, recurring invoices, price lists, and client reviews are all pullable, and the email content of invoices, credit notes, payment reminders, and statements is retrievable per document. Bulk export exists as a dedicated tool for moving many invoices out at once. It is built for 'what is outstanding' and export-shaped work, with writes gated behind confirmation.
Which Zoho organisation does the agent act as?
The connection acts as the Zoho account you authorized, and organisation-scoped calls carry that organisation. An organisation mismatch reads as a 403, not a not-found, which is why the troubleshooting card below starts with organisation and module access before anything else.
Is it safe to connect Zoho Invoice to an agent?
The engines teach OAuth scopes, revocation, and official protocols as the safety answer. Here the connection is hosted OAuth: the grant is held server-side, no credential sits in an env file on your machine, and revoking is one dashboard action or a revoke in your Zoho account. When OAuth scopes change, reauthorize from the dashboard so the consent screen grants what the tools need.
How is this different from connecting through Composio?
The underlying Zoho Invoice API is the same, so the capability difference is small; the setup and upkeep difference is not. The Composio route the search results teach is a Connect CLI or an MCP block in a config file plus an API key, infrastructure you then own. Here the plugin install and one pairing handshake are the entire client-side story, and Zoho Invoice sits alongside your other connected accounts with one place to revoke.
Hermes paired but still can't use Zoho Invoice
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.