Zoho CRM

Description

This Zoho connection allows users to migrate data from Zoho CRM.

Task Type Support

This connection type supports the following task types:

  • Data Migration

Data Migration Support

This connection can be used in a Data Migration.

Usable as Source Usable as Target Usable as Incremental Source Usable as Incremental Target

Connection String Templates

Template Name Description
Zoho CRM Zoho CRM configuration requires a Region, Scope, InstanceType, InitiateOAuth, OAuthClientId, OAuthClientSecret, OAuthAccessToken, and OAuthRefreshToken. See more here.

How to Set Up Zoho CRM in Loome

Step 1. Register the Application in Zoho

  • Go to the Zoho API Console (https://api-console.zoho.com or region-specific URL).
  • Create a new Server-Based Application.
  • Record the following fields (You will need these fields in the next few steps):
    • Client ID
    • Client Secret

Step 2. Generate the Authorization Code

Important: The authorization code returned in this step is only valid for ten minutes, so you need to exchange it quickly in Step 3.

Construct the authorization URL and open it in your browser:

https://accounts.zoho.com/oauth/v2/auth?
scope=ZohoCRM.modules.READ,ZohoCRM.coql.READ,ZohoCRM.bulk.read,ZohoCRM.users.READ,
ZohoCRM.settings.READ,ZohoCRM.org.READ,ZohoCRM.notifications.READ&client_id=YOUR_CLIENT_ID&response_type=code&access_type=offline&redirect_uri=https://localhost/callback 

Key Parameters:

  1. Replace the placeholder values:
    • client_id → From your Server-Based Application created in Step 1.
    • https://accounts.zoho.com → Replace with your region-specific accounts server URL, consult your Zoho CRM documentation if you are unsure.
      • US: https://accounts.zoho.com
      • Europe: https://accounts.zoho.eu
      • India: https://accounts.zoho.in
      • Australia: https://accounts.zoho.com.au
      • Japan: https://accounts.zoho.jp
      • China: https://accounts.zoho.com.cn
      • Canada: https://accounts.zoho.ca
  2. Open this URL in a browser.
  3. Log in with the Zoho account and approve access.
  4. Capture the code parameter returned in your redirect URI.

Step 3. Exchange the Code for Tokens

Construct the curl command and run it in Windows CMD:

curl -X POST "https://accounts.zoho.com/oauth/v2/token" ^ 
 -H "Content-Type: application/x-www-form-urlencoded" ^ 
 -d "grant_type=authorization_code" ^ 
 -d "client_id=YOUR_CLIENT_ID" ^ 
 -d "client_secret=YOUR_CLIENT_SECRET" ^ 
 -d "redirect_uri=https://localhost/callback" ^ 
 -d "code=AUTH_CODE" 

Important Notes:

  1. Replace the placeholder values:
    • https://accounts.zoho.com → Use your region-specific accounts server URL, consult your Zoho CRM documentation if you are unsure.
      • US: https://accounts.zoho.com
      • Europe: https://accounts.zoho.eu
      • India: https://accounts.zoho.in
      • Australia: https://accounts.zoho.com.au
      • Japan: https://accounts.zoho.jp
      • China: https://accounts.zoho.com.cn
      • Canada: https://accounts.zoho.ca
    • client_id → From your Server-Based Application created in Step 1.
    • client_secret → From your Server-Based Application created in Step 1.
    • code → The authorization code from Step 2 (valid for only 10 minutes).
  2. Open a Windows CMD console and run the command immediately after Step 2.

The response will look like this:

 { 
"access_token":"1000.xxxxxxxx", 
"refresh_token":"1000.xxxxxxxx", 
"scope":"ZohoCRM.modules.READ ZohoCRM.coql.READ ZohoCRM.bulk.read 
ZohoCRM.users.READ ZohoCRM.settings.READ ZohoCRM.org.READ 
ZohoCRM.notifications.READ", 
"api_domain":"https://www.zohoapis.com", 
"token_type":"Bearer", 
"expires_in":3600 
} 

Step 4. Record the Tokens

Critical values to save:

  • Access Token → Needed for the initial connection (expires in 1 hour).
  • Refresh Token → Critical for long-term non-interactive operation (does not expire).

The Loome Zoho CRM Connector will use the refresh token to automatically fetch new access tokens when jobs run. While the initial access token must be supplied; it does not matter if it has expired.

In Loome

Step 5. Configure the Loome Zoho CRM Connector

Create or update your Zoho CRM connection string with the following properties:

OAuthClientId=YOUR_CLIENT_ID; 
OAuthClientSecret=YOUR_CLIENT_SECRET; 
OAuthAccessToken=INITIAL_ACCESS_TOKEN; 
OAuthRefreshToken=REFRESH_TOKEN; 
InitiateOAuth=REFRESH; 
InstanceType=Production; 
Region=US; 
Scope=ZohoCRM.modules.READ,ZohoCRM.coql.READ,ZohoCRM.bulk.read,ZohoCRM.users.READ,
ZohoCRM.settings.READ,ZohoCRM.org.READ,ZohoCRM.notifications.READ; 
UseCOQL=false; 
APIType=Bulk;

Parameter Details:

  • OAuthClientId → From your Server-Based Application created in Step 1.
  • OAuthClientSecret → From your Server-Based Application created in Step 1.
  • OAuthAccessToken → The short-lived token you captured in Step 4.
  • OAuthRefreshToken → The long-lived token for automatic renewal you captured in Step 4.
  • InstanceType=Production → The type of Zoho CRM instance, valid values are Production, Sandbox, and Development.
  • Region=US → The location of your Zoho CRM instance, valid values are US, Europe, India, Australia, Japan, China, and Canada.

Save the connection and you can then use it in tasks.

Operational Notes

  • You only need to run the manual flow once per connection to capture the refresh token.
  • After setup, the Loome Zoho CRM Connector will refresh tokens automatically during scheduled jobs.
  • If you add new scopes or need to re-authorize, re-run this process to obtain new tokens.
  • Each user/organization requires their own separate authorization flow and token set.