> ## Documentation Index
> Fetch the complete documentation index at: https://docs.routemcp.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Zoho CRM

> Sync contacts, leads, deals, and meetings with Zoho CRM via OAuth 2.0. Supports all Zoho data center regions.

<img src="https://icon.horse/icon/crm.zoho.com" alt="Zoho CRM" style={{ width: "48px", height: "48px", marginBottom: "16px" }} />

## Overview

| Property    | Value            |
| ----------- | ---------------- |
| Slug        | `zoho-crm`       |
| Auth        | OAuth 2.0 + PKCE |
| API version | v5               |
| Sandbox     | Yes              |
| Rate limit  | 100 req/min      |

## Supported resources

| Resource    | List                                      | Get                                       | Create                                    | Update                                    | Delete                                    |
| ----------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
| Contact     | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Lead        | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Deal        | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Meeting     | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Company     | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Note        | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Task        | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Activity    | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Pipeline    | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | —                                         | —                                         | —                                         |
| Owner       | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | —                                         | —                                         | —                                         |
| Appointment | —                                         | —                                         | —                                         | —                                         | —                                         |

## Connect setup

Zoho CRM uses OAuth 2.0 with PKCE. You need a **server-based application** from the Zoho API Console.

<Steps>
  <Step title="Create a Zoho API app">
    Go to [Zoho API Console](https://api-console.zoho.com) → **Add Client** → **Server-based Applications**. Copy the **Client ID** and **Client Secret**.
  </Step>

  <Step title="Add the redirect URL">
    In the app's **Authorized Redirect URIs** field, add:

    ```
    https://api.routemcp.io/api/v1/auth/callback
    ```
  </Step>

  <Step title="Configure required scopes">
    The Connect widget requests the following scopes:

    * `ZohoCRM.modules.contacts.READ` — read contacts
    * `ZohoCRM.modules.contacts.ALL` — read/write contacts
    * `ZohoCRM.modules.leads.READ` — read leads
    * `ZohoCRM.modules.leads.ALL` — read/write leads
    * `ZohoCRM.modules.deals.READ` — read deals
    * `ZohoCRM.modules.deals.ALL` — read/write deals
    * `ZohoCRM.modules.events.READ` — read meetings
    * `ZohoCRM.modules.events.ALL` — read/write meetings
    * `ZohoCRM.modules.accounts.READ` — read companies
    * `ZohoCRM.modules.accounts.ALL` — read/write companies
    * `ZohoCRM.modules.notes.READ` — read notes
    * `ZohoCRM.modules.notes.ALL` — read/write notes
    * `ZohoCRM.modules.tasks.READ` — read tasks
    * `ZohoCRM.modules.tasks.ALL` — read/write tasks
    * `ZohoCRM.modules.calls.READ` — read activities (calls)
    * `ZohoCRM.modules.calls.ALL` — read/write activities (calls)
    * `ZohoCRM.settings.pipeline.READ` — read pipeline and stage configuration
    * `ZohoCRM.settings.fields.READ` — read field metadata (required)
    * `ZohoCRM.users.READ` — list and get owners (required)
  </Step>

  <Step title="Select your data center">
    During connection, the end user selects their Zoho data center region. RouteMCP automatically routes OAuth and API calls to the correct regional endpoint.

    | Region        | Domain         |
    | ------------- | -------------- |
    | United States | `zoho.com`     |
    | India         | `zoho.in`      |
    | Europe        | `zoho.eu`      |
    | Australia     | `zoho.com.au`  |
    | Japan         | `zoho.jp`      |
    | Canada        | `zohocloud.ca` |
  </Step>
</Steps>

## Usage

```bash theme={null}
# List contacts from Zoho CRM
curl "https://api.routemcp.io/api/v1/crm/contact?provider=zoho-crm" \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "X-End-User-Id: user-123"

# Get a specific lead
curl "https://api.routemcp.io/api/v1/crm/lead/lead-001?provider=zoho-crm" \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "X-End-User-Id: user-123"
```

## Notes

* Meetings are stored as **Events** in Zoho CRM and mapped to the unified `meeting` resource.
* The `datacenter` field set during connection determines all regional API and auth endpoints automatically — no extra config needed per request.
* Use `environment: "sandbox"` in your connect token to route requests to the Zoho sandbox environment.
