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

# Zoho

The Zoho connector supports the following Zoho products:

* Zoho CRM (default)
* Zoho Desk

## Zoho CRM

### Supported Actions

This connector supports:

* [Read Actions](/read-actions), including full historic backfill and incremental read.
* [Write Actions](/write-actions).
* [Proxy Actions](/proxy-actions), using the base URL `https://www.zohoapis.com`.
* [Subscribe Actions](/subscribe-actions).

### Supported Objects

export const Check = () => <span>✅</span>;
export const Cross = () => <span>🚫</span>;

<div style={{ width: '100%', overflowX: 'auto' }}>
  <table style={{ width: '100%', minWidth: '100%', tableLayout: 'fixed', textAlign: 'center', borderCollapse: 'collapse' }}>
    <thead>
      <tr style={{ width: '100%' }}>
        <th style={{ textAlign: 'left', width: '40%' }}>Object</th>
        <th style={{ width: '20%' }}>Read</th>
        <th style={{ width: '20%' }}>Write</th>
        <th style={{ width: '20%' }}>Subscribe</th>
      </tr>
    </thead>

    <tbody>
      <tr><td style={{ textAlign: 'left' }}>Leads</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Accounts</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Contacts</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Deals</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Campaigns</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Tasks</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Cases</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Events</td><td><Check /></td><td><Check /></td><td><Cross /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Meetings</td><td><Cross /></td><td><Cross /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Calls</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Solutions</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Products</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Vendors</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Price Books</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Quotes</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Sales Orders</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Purchase Orders</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Invoices</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Appointments</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Appointments Rescheduled History</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Services</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Custom</td><td><Check /></td><td><Check /></td><td><Check /></td></tr>
      <tr><td style={{ textAlign: 'left' }}>Users</td><td><Check /></td><td><Check /></td><td><Cross /></td></tr>
    </tbody>
  </table>
</div>

### Example Integration

For an example manifest file of a Zoho CRM integration, visit our [samples repo on GitHub](https://github.com/amp-labs/samples/blob/main/zoho/crm/amp.yaml).

## Zoho Desk

### Supported Actions

This connector supports:

* [Read Actions](/read-actions), including full historic backfill and incremental read for most objects.
* [Write Actions](/write-actions).

### Supported Objects

The Zoho connector allows you to read from and write to these objects:

* [organizations](https://desk.zoho.com/DeskAPIDocument#Organizations#Organizations_Getallorganizations)
* [agents](https://desk.zoho.com/DeskAPIDocument#Agents#Agents_Listagents)
* [profiles](https://desk.zoho.com/DeskAPIDocument#Profiles#Profiles_Listprofiles)
* [roles](https://desk.zoho.com/DeskAPIDocument#Roles#Roles_Listroles)
* [departments](https://desk.zoho.com/DeskAPIDocument#Departments#Departments_Listdepartments)
* [channels](https://desk.zoho.com/DeskAPIDocument#Channels#Channels_Listconfiguredchannels)
* [tickets](https://desk.zoho.com/DeskAPIDocument#Tickets)
* [contacts](https://desk.zoho.com/DeskAPIDocument#Contacts#Contacts_Listcontacts)
* [accounts](https://desk.zoho.com/DeskAPIDocument#Accounts#Accounts_Listaccounts)
* [tasks](https://desk.zoho.com/DeskAPIDocument#Tasks#Tasks_Gettask)
* [products](https://desk.zoho.com/DeskAPIDocument#Products#Products_Listproducts)
* [helpCenters](https://desk.zoho.com/DeskAPIDocument#HelpCenter#HelpCenter_Listhelpcenters)
* [users](https://desk.zoho.com/DeskAPIDocument#Users#Users_Listhelpcenterusers)
* [labels](https://desk.zoho.com/DeskAPIDocument#Labels#Labels_Listlabels)
* [groups](https://desk.zoho.com/DeskAPIDocument#Groups#Groups_Listgroups)
* [articles](https://desk.zoho.com/DeskAPIDocument#Articles#Articles_Listarticles)
* [articleFeedbacks](https://desk.zoho.com/DeskAPIDocument#ArticleFeedback#ArticleFeedback_Listfeedbackcomments)
* [kbRootCategories](https://desk.zoho.com/DeskAPIDocument#KBCategory#KBCategory_Listrootcategories)
* [contracts](https://desk.zoho.com/DeskAPIDocument#Contracts#Contracts_Listallcontracts)
* [ticketTemplates](https://desk.zoho.com/DeskAPIDocument#TicketTemplates#TicketTemplates_Listtickettemplates)
* [calls](https://desk.zoho.com/DeskAPIDocument#Calls#Calls_Listcalls)
* [events](https://desk.zoho.com/DeskAPIDocument#Events#Events_Listevents)
* [organizationModules](https://desk.zoho.com/DeskAPIDocument#Modules#Modules_GetAllModules)
* [languages](https://desk.zoho.com/DeskAPIDocument#Locales#Locales_Listalllanguages)
* [countries](https://desk.zoho.com/DeskAPIDocument#Locales#Locales_Listallcountries)
* [timeZones](https://desk.zoho.com/DeskAPIDocument#Locales#Locales_Listalltimezones)
* [businessHours](https://desk.zoho.com/DeskAPIDocument#Businesshours#Businesshours_Listbusinesshoursets)
* [domains](https://desk.zoho.com/DeskAPIDocument#DomainMapping#DomainMapping_Listdomains)
* [holidayList](https://desk.zoho.com/DeskAPIDocument#HolidayList#HolidayList_Listholidaylists)
* [im/channels](https://desk.zoho.com/DeskAPIDocument#IMChannel#IMChannel_ListChannels)
* [im/sessions](https://desk.zoho.com/DeskAPIDocument#IMSession#IMSession_ListSessions)

### Example Integration

For an example manifest file of a Zoho Desk integration, visit our [samples repo on GitHub](https://github.com/amp-labs/samples/blob/main/zoho/desk/amp.yaml).

## Before You Get Started

To connect Zoho with Ampersand, you will need an account in an appropriate Zoho product:

* [Zoho CRM Account](https://www.zoho.com/crm/)
* [Zoho Desk Account](https://www.zoho.com/desk/)

Once your account is created, you'll need to configure an app in Zoho and obtain the following credentials from your app:

* Client ID
* Client Secret
* Scopes

You will use these credentials to connect your application to Ampersand.

### Create a Zoho Account

Go to the particular Zoho product sign-up page and create an account:

* [Zoho CRM Sign Up page](https://www.zoho.com/crm/signup.html)
* [Zoho Desk Sign Up page](https://www.zoho.com/desk/signup.html)

### Creating a Zoho App

Follow the steps below to create a Zoho app and add the Ampersand redirect URL:

1. Log in to the [Zoho API Console Account](https://api-console.zoho.com/) using your Zoho account.
2. Click **Get Started** to create your first app. If you have already created an application, click **Add Client** to create a new app.
3. Select **Server-based Applications**.
4. Enter the following details:
   * **Client Name**: Name of the client app
   * **Homepage URL**: The home page URL of your app
   * **Authorized Redirect URIs**: The Ampersand redirect URL: `https://api.withampersand.com/callbacks/v1/oauth`
5. Click **Create**.

You'll see the details of your newly created application. Note the **Client ID** and **Client Secret** keys as they are necessary for connecting your app to Ampersand.

<img src="https://mintcdn.com/ampersand-24eb5c1a/Bx3tggG51e0liOp-/images/provider-guides/8dcf7de-zohocrm1.gif?s=5e49a738f79c82b7bfe62c5d952ce30f" alt="Alt text" width="1440" height="680" data-path="images/provider-guides/8dcf7de-zohocrm1.gif" />

6. Select the checkbox "Use the same OAuth credentials for all data centers" in the settings tab. Also toggle all regions where you expect to have customers.
   <img src="https://mintcdn.com/ampersand-24eb5c1a/RedllBy1-rNB_-S1/images/provider-guides/zoho-region.png?fit=max&auto=format&n=RedllBy1-rNB_-S1&q=85&s=3fb2366e6a8a7d8d059277bdd2ba6e2a" alt="Toggle regions" width="2544" height="1292" data-path="images/provider-guides/zoho-region.png" />

## Add Your Zoho App Info to Ampersand

1. Log in to your [Ampersand Dashboard](https://dashboard.withampersand.com).
2. Select the project where you want to create a Zoho integration.
   <img src="https://mintcdn.com/ampersand-24eb5c1a/CkzFg-K1u4gYx3ZD/images/provider-guides/dd47b7a-Ampersand.png?fit=max&auto=format&n=CkzFg-K1u4gYx3ZD&q=85&s=d580aa00cc421fe14cfbab79c2e0812f" alt="Alt text" width="2244" height="442" data-path="images/provider-guides/dd47b7a-Ampersand.png" />
3. Select **Provider apps**.
4. Select **Zoho** from the **Provider** list.
5. Enter the previously obtained **Client ID** in the **Client ID** field and the **Client Secret** in the **Client Secret** field.
6. In the **Scopes** field, enter the list of desired scopes for your integration. We recommend the following scopes. If you want more granular scopes, please refer to the [Zoho documentation](https://www.zoho.com/accounts/protocol/oauth/scope.html) for syntax.

**Zoho CRM:**

```
ZohoCRM.modules.ALL
ZohoCRM.settings.ALL
// Additional scope required for Subscribe Actions
ZohoCRM.notifications.ALL
```

**Zoho Desk:**

```
Desk.basic.READ 
Desk.settings.ALL 
```

In case you are using **Subscribe** action, additional scope is required

```
ZohoCRM.notifications.ALL
```

7. Click **Save changes**.

## Customer Guide

The [Zoho Customer Guide](/customer-guides/zoho) can be shared with your customers to help them successfully use your integration.

## List on Zoho Marketplace

The final step, which is optional, is to list your application on the Zoho Marketplace. Follow the steps below to list your application:

1. Sign up and create a company profile on the [Zoho Marketplace](https://marketplace.zoho.com/home).
2. Click on the profile icon on the home page and select **Partner Console**.
3. Select **Company Profile** on the left panel.
4. Provide your company details. Note that these are your own company's details, not Ampersand's.
   <img src="https://mintcdn.com/ampersand-24eb5c1a/CUfUBubG0CWHIJlb/images/provider-guides/zoho-cp.png?fit=max&auto=format&n=CUfUBubG0CWHIJlb&q=85&s=ce89a67709f2d69f011ae301944da0fd" alt="Zoho marketplace" width="2550" height="1256" data-path="images/provider-guides/zoho-cp.png" />
5. After successful registration, go to **Apps** on the left sidebar and click **Submit App**.
6. Complete the process by adding your app's details and submitting it.
