At a glance
- Availability: Experimental (how to enable).
- Auth: OAuth 2.0.
- Connection: A user authorizes the connection in the provider’s consent screen.
- Scopes:
ZohoCRM.modules.READ,ZohoSearch.securesearch.READ,ZohoCRM.settings.fields.READ,ZohoCRM.coql.READ. - Optional scopes:
ZohoCRM.modules.CREATE,ZohoCRM.modules.UPDATE. - Docs: https://www.zoho.com/crm/developer/docs/api/v8/oauth-overview.html
Credentials
Set these per environment. See Connect an integration. With a managed OAuth app, Connect works without these variables; set them to use your own OAuth app instead.Setup
- Create a Zoho account with CRM: Sign up at https://www.zoho.com/crm/ - the free edition (up to 3 users) is enough for development, or use an existing Zoho CRM org. Zoho also offers a developer sandbox via Zoho CRM Settings > Sandbox.
- Register an OAuth client: Open the Zoho API Console at https://api-console.zoho.com/, click Add Client, and choose Server-based Applications. Set the Authorized Redirect URI to your app’s callback URL (the /oauth/callback/zoho-crm path on your deployment).
- Copy the client credentials: After creating the client, copy the Client ID into ZOHO_CLIENT_ID and the Client Secret into ZOHO_CLIENT_SECRET.
- Authorize with the right scopes: The default scopes grant read, search, field-metadata, and COQL access (ZohoCRM.modules.READ, ZohoSearch.securesearch.READ, ZohoCRM.settings.fields.READ, ZohoCRM.coql.READ). Enable the optional ZohoCRM.modules.CREATE and ZohoCRM.modules.UPDATE scopes if agents should create or update records.
- Zoho accounts live in region-specific datacenters. This connector defaults to accounts.zoho.com (US). If your org is in another region, use the matching accounts domain for the authorization and token URLs: accounts.zoho.eu (EU), accounts.zoho.in (India), accounts.zoho.com.au (Australia), accounts.zoho.jp (Japan), accounts.zohocloud.ca (Canada), accounts.zoho.sa (Saudi Arabia), or accounts.zoho.com.cn (China).
- API calls automatically use the api_domain returned with your OAuth token (for example https://www.zohoapis.com for US or https://www.zohoapis.eu for EU), so tool URLs follow your org’s region.
- The authorization request uses access_type=offline so Zoho issues a refresh token; access tokens expire after one hour and are refreshed automatically.
- The fields query parameter is mandatory when listing module records and accepts at most 50 field API names.
Tools
| Tool | Access | Description |
|---|---|---|
| List Records | Read | List records from a Zoho CRM module such as Leads, Contacts, Deals, or Accounts |
| Get Record | Read | Get a single Zoho CRM record by ID from any module |
| Search Records | Read | Search records in a Zoho CRM module by criteria, email, phone, or a free-text word |
| Get Fields Metadata | Read | List the field metadata of a Zoho CRM module so agents can discover the field API names required by list, search, and write tools |
| Run COQL Query | Read | Run a CRM Object Query Language (COQL) SELECT query for filtered reads, joins, and aggregation that the list and search tools cannot express |
| Create Records | Write | Create up to 100 records in a Zoho CRM module (requires the ZohoCRM.modules.CREATE scope) |
| Update Record | Write | Update fields on an existing Zoho CRM record (requires the ZohoCRM.modules.UPDATE scope) |
Example prompts
- Search my Zoho CRM leads and summarize the most recent ones with their status and contact details.
- Create a new lead in Zoho CRM with the details I provide.
- List my open deals in Zoho CRM and summarize the pipeline by stage and amount.