# Integrate Cloud Voice with Zoho CRM

Linking Cloud Voice with Zoho CRM (Customer Relationship Management, the app where your team keeps its customer records) lets staff handle calls right alongside those records. Once the two systems are connected and users are matched to extensions, associated staff can dial and pick up calls through their Cloud Voice extensions from within Zoho CRM.

The setup runs in four parts:

1. Gather your phone system's connection details.
2. Register the phone system as a client in Zoho.
3. Authorize the two systems to talk to each other.
4. Map Zoho users to Cloud Voice extensions.

## Before you begin

You need administrator access to the Zoho CRM account. Only a Zoho CRM administrator can turn on this integration, so confirm your Zoho login has that role before you start.

## Step 1. Collect your phone system connection details

Cloud Voice generates a pair of web addresses that Zoho uses to reach your system. You will hand these to Zoho in Step 2, so copy them down first.

1. Sign in to the Cloud Voice portal and open **Integrations > CRM**.
2. Choose **Zoho**, then pick your Zoho CRM edition.

   
   ![Cloud Voice, selecting Zoho and a CRM edition on the CRM integration page](/images/pbx/enter-zoho-crm.png)
3. Under **Network**, pick a value from the **Homepage URL** drop-down list. Cloud Voice then fills in a matching address in the **Authorized Redirect URI** field automatically. (A URI, or Uniform Resource Identifier, is the address Zoho sends the user back to after a successful sign-in.)

   :::note
   The **Homepage URL** is the web address of your phone system. Zoho CRM uses whichever URL you select here to communicate with Cloud Voice.
   :::

   
   ![Cloud Voice, Homepage URL drop-down and the generated Authorized Redirect URI](/images/pbx/pbx-remote-access-url-selection-ce.png)
4. Keep both the Homepage URL and the Authorized Redirect URI handy. You will paste them into Zoho in the next step.

   :::caution
   The Homepage URL and Authorized Redirect URI you paste into Zoho must match these values exactly. If they differ by even a trailing slash, Zoho will reject the authorization in Step 3.
   :::

## Step 2. Register the phone system as a Zoho client

Zoho only accepts requests from applications it recognizes, so you register your phone system once as an API (Application Programming Interface) client. This produces the ID and secret Cloud Voice needs to prove who it is.

1. Sign in to the [Zoho API Console](https://api-console.zoho.com/) and select **GET STARTED**.

   ![The GET STARTED button in the Zoho API Console](/images/pbx/zoho-api-get-started.png)
2. On the **Choose a Client Type** page, select **Server-based Applications**.

   ![Choosing Server-based Applications as the client type](/images/pbx/zoho-server-based-applications.png)
3. On the **Create New Client** page, enter your phone system's details:

   - **Client Name**: A name of your choosing (for example, "Cloud Voice PBX"). This is only a label to help you recognize the client later.
   - **Homepage URL**: The Homepage URL you copied in Step 1.
   - **Authorized Redirect URI**: The redirect URI you copied in Step 1.

   
   ![Cloud Voice, completing the Create New Client form in Zoho](/images/pbx/create-zoho-api-client-by-domain.png)
4. Select **CREATE**. Zoho generates a Client ID and a Client Secret.

   ![The Client ID and Client Secret generated by Zoho](/images/pbx/crm-client-secret.png)
5. Copy the Client ID and Client Secret. You will need them in the next step.

   :::caution
   The Client Secret is like a password for this connection: anyone who has it can access your CRM data. Store it somewhere secure and never post it in a ticket, chat, or screenshot.
   :::

## Step 3. Authorize the connection to Zoho CRM

Now feed the Zoho credentials back into Cloud Voice and grant it permission to read your CRM data.

1. In the Cloud Voice portal, go to **Integrations > CRM** and select **Zoho**.
2. In the **Authorization** section, fill in the fields below.

   ![The Authorization section on the Zoho CRM integration page](/images/pbx/zoho-authorization.png)

   - **Account Server Address**: The Zoho accounts server URL.

     :::note
     `https://accounts.zoho.com` works for most accounts, but the domain depends on the [data center](https://help.zoho.com/portal/en/kb/accounts/manage-your-zoho-account/articles/data-center-for-zoho-account) where your Zoho account was registered. For example, an account created in Europe uses `https://accounts.zoho.eu`.
     :::

   - **Zoho CRM Address**: The Zoho CRM URL.

     :::note
     `https://crm.zoho.com` works for most accounts, but the domain depends on your account's [data center](https://help.zoho.com/portal/en/kb/accounts/manage-your-zoho-account/articles/data-center-for-zoho-account). An account created in Europe, for instance, uses `https://crm.zoho.eu`.
     :::

   - **Client ID**: The Client ID from Zoho.
   - **Client Secret**: The Client Secret from Zoho.

   :::caution
   Both the Account Server Address and the Zoho CRM Address must point to the same region as your Zoho account (for example, both `.com` or both `.eu`). If either one targets the wrong data center, the authorization will not complete and the status stays disconnected.
   :::
3. Select **Save**. A new browser page opens asking you to grant Zoho CRM data access.

   :::note
   If no new page appears after you select **Save**, check that your browser is not blocking pop-ups for the Cloud Voice portal, then try again.
   :::
4. On the authorization page, tick the disclaimer checkbox and select **Accept** so Cloud Voice can access your Zoho data.

   
   ![Cloud Voice, accepting the Zoho data access request](/images/pbx/crm-authorization.png)

   You return to the Cloud Voice configuration page, where a pop-up shows the result of the authorization.

   ![The pop-up confirming successful authentication](/images/pbx/crm-authentication-ok.png)
5. Select **OK**. The **Status** field now reads **Connected**, confirming the integration is in place.

   ![The Status field showing Connected](/images/pbx/zoho-connected.png)

## Step 4. Match Zoho users to extensions

Associate each Zoho user with a Cloud Voice extension so calls route to the right person.

1. On the CRM integration page, select the refresh icon ![Refresh](/images/pbx/refresh-icon.png) next to **Zoho User** to pull the current list of Zoho CRM users.

   ![The refreshed list of Zoho CRM users ready to be matched](/images/pbx/sync-crm-users-1.png)
2. Match the Zoho users with extensions using either method below.

   **Associate automatically**

   When users have the same email address on both their Zoho account and their Cloud Voice extension, Cloud Voice can pair them for you.

   ![Automatically associating Zoho users with extensions](/images/pbx/associate-auto.png)

   1. Select **Associate Automatically**.
   2. In the pop-up, select **OK**.

   :::tip
   Automatic association is the fastest option and avoids typos. Use it whenever your users share one email address across Zoho and Cloud Voice, then fall back to the manual method only for the users it could not match.
   :::

   **Associate manually**

   When a user's Zoho account and extension use different email addresses, pair them by hand.

   
   ![Cloud Voice, manually associating a Zoho user with an extension](/images/pbx/associate-manually.png)

   1. In the **Extension / Extension Group** field beside the Zoho user, select the edit icon ![Edit](/images/pbx/edit.png).
   2. In the pop-up, choose the extension(s) for that user.
   3. Select **Confirm**.
3. Select **Save**.

## Result

- Cloud Voice and Zoho CRM are now integrated.
- Matched Zoho CRM users can place and receive calls with their Cloud Voice extensions.

## What's next

- [Set up contact synchronization from Zoho CRM](/pbx/integrations/zoho/set-up-contact-synchronization-with-zoho-crm/)
- [Set up lead or contact creation for Zoho CRM](/pbx/integrations/zoho/set-up-automatic-lead-or-contact-creation-for-zoho-crm/)
- [Set up call popup](/pbx/integrations/zoho/set-up-call-popup-for-inbound-calls/)
- [Use the Zoho CRM integration](/pbx/integrations/zoho/use-zoho-crm-integration/)
</content>
</invoke>
