# Zoho Billing MCP connector

The Zoho Billing connector lets Claude, ChatGPT, Cursor or any MCP client look up, create and update your plans, products and items, working as the person who signed in and logging every change.

Source: https://elaichi.ai/connectors/zohobilling/

## Facts

| | |
| --- | --- |
| Application | Zoho Billing |
| Category | Subscription Platform |
| AI tools | 275 |
| Authentication | Connects with an API key |
| Bring your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once Zoho Billing is connected

- Which Zoho Billing plans are still active for the Pro product?
- Mark the Starter product inactive and list its plans.
- Create a monthly plan for the Team product at 49 dollars.

## Connect Zoho Billing in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Zoho Billing.
2. Optionally set Share with, then press Connect.
3. Paste a Zoho Billing API key. One person generates a token in Zoho Billing and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Zoho Billing tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Zoho Billing MCP connector for Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Zoho Billing MCP connector for ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Zoho Billing MCP connector for Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Zoho Billing to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Zoho Billing tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Zoho Billing through Elaichi

### Change a plan price without opening Zoho Billing

Finance. Ask for the current price of a plan, confirm the change, and have it updated in Zoho Billing while you stay in the conversation.

### Check which plans are live before quoting

Sales. Before sending a quote, ask which Zoho Billing plans are active for a product so the numbers in the proposal match what customers can actually buy.

### Retire an old product and its plans

Product. Mark a product inactive in Zoho Billing, pull up the plans attached to it, and set each one inactive in a few plain requests.

### Add new items to the catalog

Operations. Create add-ons and one-off items in Zoho Billing from a list in a chat, then check the item details before they go live.

### Answer what a plan actually includes

Support. When a customer asks what their plan covers, look up the plan in Zoho Billing and read the details back without switching tabs.

### Keep product email templates consistent

RevOps. Update the email templates across a set of Zoho Billing products in one go so every customer gets the same wording.

## Frequently asked questions

### How do I connect Zoho Billing to Claude?

Connect Zoho Billing in Elaichi first: Zoho Billing signs in with an API key, so you paste the key from your Zoho Billing account and you are done, with no OAuth application to register and no client ID or secret to generate. Then open Claude, go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Claude signs you in through Elaichi and Zoho Billing is available in the conversation.

### Does Zoho Billing work with ChatGPT and Cursor as well as Claude?

Yes. Once Zoho Billing is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Zoho Billing once and every client picks it up.

### What can an AI agent actually do with my Zoho Billing data?

An agent connected to Zoho Billing can list and look up your organizations, items, products and plans, create new ones, update prices and details, mark products and items active or inactive, and update product email templates in bulk. Short, concrete asks such as "list active plans for the Pro product" work better than long paragraphs.

### Does connecting Zoho Billing give the AI access to everything in my organization?

No. Every call to Zoho Billing runs as the person who signed in, so the agent sees only the organizations, plans and products that person can already see in Zoho Billing. Elaichi can narrow that further with roles and restrictions, but it can never widen it.

### Can my team share one Zoho Billing connection?

Yes. One person connects Zoho Billing with the API key and shares the connection with a team in Elaichi, and nobody else ever handles the key. Each teammate still signs in to Elaichi as themselves, so the audit log names who changed which plan or product.

### Can I stop an agent from deleting or changing things in Zoho Billing?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Zoho Billing plans and products while blocking deleting items or changing prices. A restricted action is never advertised to Claude, ChatGPT or Cursor at all, so no prompt can reach it.

### What happens to a Zoho Billing connection when someone leaves?

Offboarding a person in Elaichi ends their access to Zoho Billing through every client at once. If they connected a shared Zoho Billing account, it keeps working for everyone else on the team. Disconnecting Zoho Billing once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client together.

### Does the Zoho Billing MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. Zoho Billing is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

## All 275 Zoho Billing tools

Every tool below is callable through https://api.elaichi.ai/mcp once Zoho Billing is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Zoho Billing organizations** (List). List Zoho Billing organizations. Returns: organization_id, name, contact_name, email, currency_code, time_zone, and is_org_active for each organization.
- **Create a Zoho Billing organization** (Create). Create a Zoho Billing organization. Returns the created organization including organization_id, name, time_zone, account_created_date, contact_name, and address. Required: name, currency_code, time_zone, portal_name.
- **Get single Zoho Billing organization by ID** (Get). Get the details of a specific Zoho Billing organization by id. Returns: organization_id, name, contact_name, time_zone, currency_code, email, and address. Required: id.
- **Update a Zoho Billing organization by ID** (Update). Update the details of a Zoho Billing organization by id, such as its name, time zone, date format, addresses, contact info, tax IDs, and custom fields. Returns the updated organization object including organization_id, name, time_zone, currency_code, email, and address. Required: id.
- **List all Zoho Billing items** (List). List items in zohobilling with pagination; active items are returned by default unless filter_by widens the scope. Returns each item's item_id, name, status, description, rate, unit, tax_name, tax_percentage, tax_type, sku, product_type, and custom_fields. Supports name, description, rate, tax_id, search_text, filter_by, and sort_column.
- **Create a Zoho Billing item** (Create). Create a new item in zohobilling. Returns the created item including item_id, name, status, description, rate, unit, tax_name, tax_percentage, tax_type, sku, product_type, item_tax_preferences, and custom_fields. Requires name and rate; item names must be unique.
- **Get single Zoho Billing item by ID** (Get). Get details of an existing item in zohobilling by its id. Returns the item's item_id, name, status, description, rate, unit, tax details (tax_id, tax_name, tax_percentage, tax_type), sku, product_type, custom_fields, and item_tax_preferences. Required: id.
- **Update a Zoho Billing item by ID** (Update). Update the details of an existing item in zohobilling by its id. Returns the updated item, including item_id, name, status, description, rate, unit, and tax details. Required: id.
- **Delete a Zoho Billing item by ID** (Delete). Delete an existing item in zohobilling by its id. Returns code and message on success. Items that are part of a transaction cannot be deleted. Required: id.
- **List all Zoho Billing itemdetails** (List). Bulk fetch item details for the specified item IDs in Zoho Billing. Returns: code, message, and items, where each item includes item_id, name, status, description, rate, unit, tax_id, tax_name, tax_percentage, tax_type, sku, product_type, and custom_fields. Required: item_ids (comma-separated list of item ids).
- **Create a Zoho Billing item active** (Create). Mark an inactive item as active in zohobilling. Returns: code, message. Required: item_id.
- **Create a Zoho Billing item inactive** (Create). Mark an active item as inactive in Zoho Billing. Returns: code, message. Required: item_id.
- **List all Zoho Billing products** (List). List all products created in Zoho Billing. Returns each product's product_id, name, description, status, and created_time.
- **Create a Zoho Billing product** (Create). Create a new product in Zoho Billing. Returns the created product including product_id, name, description, email_ids, redirect_url, status, created_time, and updated_time. Required: name.
- **Get single Zoho Billing product by ID** (Get). Get details of an existing Zoho Billing product by id. Returns the product record including product_id, name, description, status, and created_time. Required: id (product_id).
- **Update a Zoho Billing product by ID** (Update). Update details of an existing product in Zoho Billing. Returns the updated product including product_id, name, description, email_ids, redirect_url, status, created_time, and updated_time. Required: id (product_id).
- **Delete a Zoho Billing product by ID** (Delete). Delete an existing product in Zoho Billing by id. Returns a JSON confirmation body with code and message on success. Required: id.
- **Create a Zoho Billing product markasactive** (Create). Mark a product as active in Zoho Billing. Returns: code, message. Required: product_id.
- **Create a Zoho Billing product markasinactive** (Create). Mark a Zoho Billing product as inactive. Returns: code, message. Required: product_id.
- **Zoho Billing product emailtemplates bulk update** (Update). Update the email templates associated with a product in zohobilling. Returns: code, message, and the updated product with product_id, name, status, and created_time. Required: product_id.
- **List all Zoho Billing plans** (List). List all Zoho Billing plans. Returns plans with plan_code, name, status, recurring_price, interval_unit, and url. Filter by status with filter_by or by product with product_id.
- **Create a Zoho Billing plan** (Create). Create a new plan in Zoho Billing. Returns the created plan including plan_code, name, status, recurring_price, interval_unit, url, and created_time. Required: plan_code, name, recurring_price, interval, product_id.
- **Get single Zoho Billing plan by ID** (Get). Retrieve details of an existing Zoho Billing plan by its id (the plan_code). Returns the plan including plan_code, name, status, recurring_price, interval_unit, url, created_time, and updated_time. Required: id.
- **Update a Zoho Billing plan by ID** (Update). Update details of an existing Zoho Billing plan by its plan_code. Returns the updated plan including plan_code, name, recurring_price, interval_unit, and status. Required: id (the plan_code).
- **Delete a Zoho Billing plan by ID** (Delete). Delete a Zoho Billing plan by its plan_code. A plan can only be deleted if it has no transactions associated with it. Returns confirmation with code and message. Required: id (the plan_code).
- **Create a Zoho Billing plan markasactive** (Create). Mark an existing plan as active in Zoho Billing, changing the plan's status to active. Returns: code, message. Required: plan_code.
- **Create a Zoho Billing plan markasinactive** (Create). Mark a plan as inactive in Zoho Billing, changing the status of the plan identified by its plan code. Returns a status confirmation with code and message. Required: plan_code.
- **Create a Zoho Billing plan markasfree** (Create). Mark an existing Zoho Billing plan as free, changing it to a free plan. Returns: code, message. Required: plan_code.
- **Create a Zoho Billing plan markasnonfree** (Create). Mark a zohobilling plan as non-free, changing it from a free plan to a paid one. Returns: code, message. Required: plan_code.
- **Delete a Zoho Billing plan comment by ID** (Delete). Delete an existing comment on a Zoho Billing plan. Returns code and message confirming the deletion. Required: plan_id and id (the comment id).
- **Create a Zoho Billing plan comment** (Create). Add a comment to a plan in Zoho Billing. Returns code, message, and the created comment object including comment_id, description, commented_by, and date. Required: plan_id, organization_id, and description.
- **List all Zoho Billing plan comments** (List). List comments for a plan in Zoho Billing. Returns code, message, and comments — each with comment_id, description, commented_by, date, and comment_type. Required: plan_id and organization_id.
- **List all Zoho Billing addons** (List). List all addons in Zoho Billing. Returns code, message, and the addons array of addon records with addon_code, name, pricing_scheme, price_brackets, status, product_id, and created_time.
- **Create a Zoho Billing addon** (Create). Create a new addon in Zoho Billing. Returns code, message, and the created addon object with addon_code, name, pricing_scheme, price_brackets, type, plans, product_id, and status. Required: addon_code, name, unit_name, price_brackets, plans, and product_id.
- **Get single Zoho Billing addon by ID** (Get). Get a single addon in Zoho Billing by id. Returns code, message, and the addon object with addon_code, name, unit_name, pricing_scheme, price_brackets, plans, status, product_id, and created_time. Required: id (the addon's unique code).
- **Update a Zoho Billing addon by ID** (Update). Update details of an existing addon in Zoho Billing by id. Returns code, message, and the updated addon object with addon_code, name, pricing_scheme, price_brackets, status, product_id, and updated_time. Required: id, addon_code, name, unit_name, and price_brackets.
- **Delete a Zoho Billing addon by ID** (Delete). Delete an existing addon in Zoho Billing by id. Returns a confirmation payload with code and message confirming the deletion. Required: id (the addon's unique code).
- **Create a Zoho Billing addon markasactive** (Create). Mark a zohobilling addon as active, changing the addon's status to active. Returns: code, message. Required: addon_code.
- **Create a Zoho Billing addon markasinactive** (Create). Mark a Zoho Billing addon as inactive, changing its status so it is no longer offered. Returns: code, message. Required: addon_code.
- **Delete a Zoho Billing addon comment by ID** (Delete). Delete a comment from an addon in zohobilling. Returns: code, message. Required: addon_id, id (the comment id).
- **Create a Zoho Billing addon comment** (Create). Add a comment to an addon in zohobilling. Returns: code, message, comment. Required: addon_id.
- **List all Zoho Billing addon comments** (List). List all comments on an addon in zohobilling. Returns: code, message, comments. Required: addon_id.
- **List all Zoho Billing coupons** (List). List all coupons in Zoho Billing. Returns: code, message, and coupons (array of records with coupon_code, name, status, discount_value, and expiry_at). Filter with filter_by and product_id.
- **Create a Zoho Billing coupon** (Create). Create a new coupon in Zoho Billing. Returns: code, message, and the coupon object with coupon_code, name, status, discount_value, and expiry_at. Requires coupon_code, name, type, discount_by, and product_id; duration is also required for duration type coupons.
- **Get single Zoho Billing coupon by ID** (Get). Get details of an existing coupon in Zoho Billing by id (coupon_code). Returns the coupon object (coupon_code, name, status, discount_value, expiry_at), plus code and message. Required: id (coupon_code).
- **Update a Zoho Billing coupon by ID** (Update). Update details of an existing coupon in Zoho Billing by id (coupon_code). Returns the updated coupon object (coupon_code, name, status, discount_value, expiry_at), plus code and message. Requires name and id (coupon_code).
- **Delete a Zoho Billing coupon by ID** (Delete). Delete an existing coupon in Zoho Billing by id (coupon_code). Returns a status code and confirmation message. Required: id (coupon_code).
- **Create a Zoho Billing coupon markasactive** (Create). Mark a coupon as active in Zoho Billing, changing its status to active. Returns: code, message. Required: coupon_code.
- **Create a Zoho Billing coupon markasinactive** (Create). Mark a Zoho Billing coupon as inactive, changing its status so it can no longer be applied. Returns a status confirmation with code and message (e.g. "The coupon has been marked as inactive."). Required: coupon_code.
- **Create a Zoho Billing markasactive** (Create). Mark a coupon set as active in Zoho Billing, changing its status to active. Returns: code, message. Required: coupon_set_id.
- ...and 225 more tools. Call `tools/list` via the MCP endpoint, or see the full catalog via the API, for the complete set.
