Overview
Supported resources
Connect setup
Zoho Books uses OAuth 2.0. You need an app registered in the Zoho API Console for the region your end users live in — Zoho serves each datacenter from a distinct OAuth host.1
Pick the right region
Zoho operates independent datacenters per region (
.com, .eu, .in, .com.au, .ca, .jp). The end user’s organization lives in exactly one — register your app in that region’s Zoho API Console and they will all log in there.2
Create a Zoho server-based application
In the API Console choose Server-based Applications. Copy the Client ID and Client Secret.
3
Add the redirect URL
Add the following Authorized Redirect URI:
4
Configure required scopes
Enable the following scopes on your app:
ZohoBooks.contacts.ALLZohoBooks.invoices.ALLZohoBooks.bills.ALLZohoBooks.purchaseorders.ALLZohoBooks.debitnotes.ALLZohoBooks.expenses.ALLZohoBooks.accountants.ALLZohoBooks.settings.ALLZohoBooks.banking.ALLZohoBooks.projects.ALL
5
Connect via the widget
When the end user opens the Connect widget they pick their datacenter region, then enter your Client ID and Client Secret. RouteMCP routes every subsequent API call to the matching
zohoapis.<region> host automatically — no per-request config needed.Usage
Notes
- Pass
type: "ACCOUNTS_PAYABLE"oninvoicecreate to write a bill, and the same pattern oncredit_note/vendor_credit. For vendor contacts, setis_supplier: true. addressandphone_numberids are discoverable inline oncontact.addresses[].idandcontact.phone_numbers[].id.- The
datacenterfield set during connection determines all regional API and auth endpoints automatically — no extra config needed per request. - The currency for invoice / bill / payment / credit note / etc. is inherited from the linked contact’s currency. Send a
currencyvalue only when overriding the customer/vendor default explicitly.