Zoho CRM v2

Customer relationship management (CRM) is a set of practices, strategies and technologies that companies use to manage and analyze customer interactions and data throughout the customer lifecycle, with the goal of improving business relationships with customers.

The UCM6XXX series support four CRM API, SugarCRM, Salesforce CRM, Zoho CRM v2 and Vtiger CRM, allowing users to get full information about their contacts, customers and leads, and save call information details to specific table history for further usage.

This guide contains a step-by-step configuration needed to set up both version of Zoho CRM version 2 with the UCM6XXX.


This is a description of the main steps that we are going to follow to configure Zoho CRM

  1. Generate “Self Client”credentials: These are the credentials that will be used for the authentication by the user on the UCM6xxx.
  2. Create a Server-based Application Registration : This will be used to authorize the redirection URI, since the UCM doesn’t have a registered domain. We will use a dummy URI, and in this case we’re going to be using http://www.grandstream.com/oauth2callback. You can use any URI as long as you put it as the redirect URI that will be sent to Zoho’s authentication service to grant your UCM access to Zoho CRM.
  3. Generate Refresh Token: In this step, we will send a POST request to https://accounts.zoho.com/oauth/v2/token so OAuth can generate the refresh token that we will need to configure in the UCM to be able to log into Zoho CRM.

Generate Client ID and Client Secret

To generate Client ID and Client Secret in API mode, do the following:

  1. Log into Zoho CRM.
  2. Go to https://api-console.zoho.com/
  3. Click on “Get Started”
  4. Then click on “Create” under Self Client option:

5. Choose “Create”:

6. Click “OK”:

7. Zoho API Console will generate the authentication information:

  • client_id: It is the id generated by Zoho’s Developer Console . For applications that use the OAuth 2.0 protocol to call Writer APIs, this client ID will be used to generate an access_token.
  • client_secret: The client secret code that is generated by the Zoho’s Developer Console.

8. Now we need to enter a scope. A scope is basically a way to manage the permissions based on each client; the codes are generated based on the scope entered and this way you guarantee the confidentiality of your data. In this particular case, we’re creating entries in Zoho CRM so we’re going to use this scope:
Please refer to this link to see the list of all scopes that can be configured: https://www.zoho.com/crm/developer/docs/api/v2/scopes.html

Specify the time duration as well as the scope description, then click on “Create”:

9. Select the portal and the organisation:

10. Then click on “Create”.

Once that’s done we will get a code as shown in the figure below:

Create a Server-based Application

As it has been mentioned before in the main steps, we will create a Server-based Application registration so we can authorize a redirection URI. This URI isn’t necessary for the case of UCM6xxx integration, however, it’s required by the API to generate the refresh token. Therefore, we’re going to use a dummy URI, i.e., a URI that doesn’t have to be correct or made for the purpose of redirecting, as long as we use the same URI that we have configured in this section to send in the POST request to Zoho API.

  1. Add client

2. Click “Create Now” in Server-based Applications:

3. Enter the required info:

4. Then click on “Create”.

Generate Refresh Token

To generate the refresh token, user needs to make a POST request with the following URL: https://accounts.zoho.com/oauth/v2/token and the below parameters in the body of the request:




Enter the value as "authorization_code".


Specify client-id obtained from the connected app.


Specify client-secret obtained from the connected app.


Specify the Callback URL that you registered during the server-based application registration


Enter the grant token generated from previous step.

Table 1: URL parameters

To send the POST request we recommend using REQBIN service: https://reqbin.com/post-online

Use this format link and replace the placeholder text with the values according to table 1:

https://accounts.zoho.com/oauth/v2/token?grant_type=authorization_code&client_id=ENTER CLIENT ID HERE&client_secret=ENTER CLIENT SECRET HERE&redirect_uri=http://www.grandstream.com/oauth2callback&code=ENTER THE CODE GENERATED HERE

If you have used a different redirect URL than the one we chose use, please use your redirect URL.

If the request is successful, you will receive the following:

"access_token": "{access_token}",
"refresh_token": "{refresh_token}",
"api_domain": "https://www.zohoapis.com",
"token_type": "Bearer",
"expires_in": 3600


The UCM6XXX series allow the following features using ZOHO CRM:

  • Querying
  • Updating
  • Adding CDR records through Zoho CRM APIs

Two steps are required to configure UCM6xxx with Zoho CRM:

  1. Admin Configuration.
  2. User Configuration.

Admin Configuration

This step is required to configure received calls, add contact phone number, Contact Lookup etc. These settings will apply to all UCM6XXX users that will be using ZOHO CRM .

Zoho CRM configuration page can be accessed using admin login at “Web GUI → Value-Added Features→ CRM”.

  1. Select Zoho CRM (v2 API) from the “CRM System” dropdown list to use the ZOHO CRM and make similar configuration to the above, below are the details:

CRM System

Allows users to select a CRM system from the drop-down list, choose Zoho CRM (v2 API) to use ZOHO CRM version 2.

CRM Server Address

Set the CRM Server to: https://crm.zohoapis.com or https://crm.zohoapis.com.cn if you are using UCM from China or https://www.zohoapis.eu if you are using UCM from Europe.

Add Unknown Number

Allows to automatically save received calls from numbers not previously logged in ZOHO CRM and add contact phone number to specific table (Contacts, Leads…).

Contact Lookups

Selects CRM tables that will be used to lookup for contact details when making/receiving calls. Press to select where the UCM can perform the lookups on the CRM tables

Table 2: Zoho v2 CRM Settings

Once users finish configuring above settings using admin access:

  1. Click on and .
  2. Logout from admin access.

User Configuration

This configuration is per user, it will allow users to authenticate and sync up with ZOHO CRM platform.


Note: Admin Configuration needs to be set before enabling CRM for users.

Access to the UCM web GUI as user and go to “User Portal→Value-added Features→CRM User Settings”.

Click on “Enable CRM”.

Enter the generated Client ID, Client Secret and Refresh Token with your ZOHO CRM account.

Click on and .

The status will change from “Logged Out” to “Logged In” and users can start using Zoho CRM.


Using Grandstream Affinity software, users can receive incoming calls to their GXP IP Phones in their PC as well, the following link explains how to install and configure Grandstream Affinity software.


When receiving an incoming call from an existing contact on ZOHO CRM, the contact’s name will be displayed on the phone’s LCD and more data will be shown on GrandstreamAffinity application.

The following figure shows an example of the result.

Users can click on the button to be redirected to contact’s page for more details about the contact or to edit specific data.

New contacts will be automatically added to the CRM and it’s up to the user to update their Data.


Users can see reports of their calls on ZohoCRM from Reports 🡪 Activity reports 🡪 Todays Calls:

Was this article helpful?

Related Articles

Need Support?
Can’t find the answer you’re looking for? Don’t worry we’re here to help!
Contact Support

Leave a Comment