Skip to main content

Zoho Connector

Zoho Manage records, contacts, and transactions in Zoho CRM and Books

Connections

OAuth 2.0

OAuth 2.0 Connection

To connect to Zoho CRM or Zoho Books, create a Client application in the Zoho Developer Console.

Zoho supports OAuth 2.0 authentication for both Zoho CRM and Zoho Books APIs. The same OAuth client can be configured to access multiple Zoho services by combining their scopes.

Prerequisites

Setup Steps

  1. Log in to the Zoho Developer Console
  2. Click ADD CLIENT
  3. Select Server-based Applications as the client type
  4. Configure the client application:
    • Enter a descriptive name in the Client Name field
    • Enter the application homepage URL in the Homepage URL field
    • Under Authorized Redirect URIs, add: https://oauth2.integrations.acme.com/callback
  5. Click CREATE to generate the client
  6. Copy the Client ID and Client Secret values displayed on the confirmation page

For detailed information about creating OAuth clients, refer to the Zoho OAuth client registration documentation.

Configure the Connection

  • Enter the Client ID and Client Secret from the Zoho Developer Console

  • Select the appropriate Region URL for the Zoho account's data center location:

    • United States: 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
    • United Kingdom: https://accounts.zoho.uk
    • Canada: https://accounts.zohocloud.ca
    • United Arab Emirates: https://accounts.zoho.ae
    • Saudi Arabia: https://accounts.zoho.sa

    Refer to Zoho's server information page to determine the correct region URL.

  • Configure the Scopes field with the required permissions:

    • For Zoho CRM access, refer to the Zoho CRM scopes documentation
    • For Zoho Books access, refer to the Zoho Books scopes documentation
    • Multiple scopes can be combined by separating them with spaces
    • Example for both CRM and Books access:
      ZohoCRM.modules.ALL ZohoCRM.settings.ALL ZohoBooks.fullaccess.all
Multi Region Deployments

For integrations that will be deployed to users in multiple Zoho regions, configure the Region URL field to be visible to instance deployers. This allows end users to select their appropriate region during instance configuration.

To make the Region URL field visible to deployers, enable the field visibility in the connection configuration:

./assets

This connection uses OAuth 2.0, a common authentication mechanism for integrations. Read about how OAuth 2.0 works here.

InputCommentsDefault
Region URLThe URL of the Zoho region you want to connect to.
ScopesSpace-separated OAuth 2.0 permission scopes for the Zoho API. Can combine Zoho CRM and Zoho Books scopes.ZohoCRM.coql.READ ZohoCRM.notifications.ALL ZohoCRM.users.ALL ZohoCRM.org.ALL ZohoCRM.settings.ALL ZohoCRM.modules.ALL ZohoCRM.bulk.ALL ZohoBooks.fullaccess.all
Client IDClient Identifier of your app for the Zoho API. Generate this in the Zoho API Console.
Client SecretClient Secret of your app for the Zoho API. Generate this in the Zoho API Console.

Zoho OAuth 2.0 (Deprecated)

Zoho OAuth 2.0 Connection (Deprecated)

This connection uses OAuth 2.0, a common authentication mechanism for integrations. Read about how OAuth 2.0 works here.

InputCommentsDefault
Authorize URLThe OAuth 2.0 Authorization URL for your Zoho region
Token URLThe OAuth 2.0 Token URL for your Zoho region
ScopesSpace-separated OAuth 2.0 permission scopes for the Zoho API. Can combine Zoho CRM and Zoho Books scopes.ZohoCRM.coql.READ ZohoCRM.notifications.ALL ZohoCRM.users.ALL ZohoCRM.org.ALL ZohoCRM.settings.ALL ZohoCRM.modules.ALL ZohoCRM.bulk.ALL ZohoBooks.fullaccess.all
Refresh Token Revoke URLThe OAuth 2.0 Token Revocation URL for your Zoho region
Client IDClient Identifier of your app for the Zoho API. Generate this in the Zoho API Console.
Client SecretClient Secret of your app for the Zoho API. Generate this in the Zoho API Console.

Triggers

CRM Notifications

Receive CRM event notifications from Zoho CRM. Automatically creates and manages a notification channel subscription for selected event types when the instance is deployed, and removes the subscription when the instance is deleted.

InputCommentsDefault
ConnectionThe Zoho connection to use.
Channel IDUser-defined unique identifier for the notification channel. Leave empty and we will generate one.
EventsSubscribed operations in format "{module}.{operation}". Operations: create, edit, delete, all.
TokenVerification token (max 50 chars) sent in callbacks to verify notifications are from Zoho CRM.
Channel ExpiryISO datetime for expiry. Maximum 1 week from now. Default is 1 hour.
Return Affected Field ValuesWhen true, includes updated field values in the notification callback.false
Notify On Related ActionWhen true, triggers notifications when associated record actions occur.true
Notification ConditionFilter notifications by specific field changes. Provide field API names to watch.

New and Updated Books Contacts

Checks for new and updated contacts in Zoho Books on a configured schedule.

InputCommentsDefault
ConnectionThe Zoho connection to use.

New and Updated CRM Contacts

Checks for new and updated contacts in Zoho CRM on a configured schedule.

InputCommentsDefault
ConnectionThe Zoho connection to use.

New and Updated CRM Leads

Checks for new and updated leads in Zoho CRM on a configured schedule.

InputCommentsDefault
ConnectionThe Zoho connection to use.

Actions

Books - Create Record

Create a Zoho Books Record

InputCommentsDefault
ConnectionThe Zoho connection to use.
Record TypeThe type of Books record to operate on. See Zoho Books API for details.
Parent Record TypeThe type of Books record to operate on. See Zoho Books API for details.
Parent Record IDThe unique identifier of the parent record under which other records are grouped.
Dynamic FieldsDynamic input fields that can be configured at deploy time using key-value config variables.
ValuesKey-value pairs representing field names and their values for creating or updating records.

Books - Get Record

Get a single Zoho Books Record

InputCommentsDefault
ConnectionThe Zoho connection to use.
Record TypeThe type of Books record to operate on. See Zoho Books API for details.
Record IDThe unique identifier of the record in Zoho.
Parent Record TypeThe type of Books record to operate on. See Zoho Books API for details.
Parent Record IDThe unique identifier of the parent record under which other records are grouped.

Books - Get Records

Get a collection of Zoho Books Records

InputCommentsDefault
ConnectionThe Zoho connection to use.
Record TypeThe type of Books record to operate on. See Zoho Books API for details.
Parent Record TypeThe type of Books record to operate on. See Zoho Books API for details.
Parent Record IDThe unique identifier of the parent record under which other records are grouped.
Search FieldsKey-value pairs for filtering search results. Keys are field names, values are search criteria.
PageThe page number to start at. First page is 1.1
Per PageThe number of records to fetch per page. Maximum is 200.200
Fetch AllWhen true, automatically fetches all pages of results using pagination.false

Books - Raw Request

Send raw HTTP request to Zoho Books

InputCommentsDefault
ConnectionThe Zoho connection to use.
URLInput the path only (/organizations), The base URL is already included (https://www.zohoapis.{api_domain}/books/v3). For example, to connect to https://www.zohoapis.{api_domain}/books/v3/organizations, only /organizations is entered in this field.
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Retry Delay (ms)The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.false
Max Retry CountThe maximum number of retries to attempt. Specify 0 for no retries.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.false

Books - Remove Record

Remove a Zoho Books Record

InputCommentsDefault
ConnectionThe Zoho connection to use.
Record TypeThe type of Books record to operate on. See Zoho Books API for details.
Record IDThe unique identifier of the record in Zoho.
Parent Record TypeThe type of Books record to operate on. See Zoho Books API for details.
Parent Record IDThe unique identifier of the parent record under which other records are grouped.

Books - Update Record

Update a Zoho Books Record

InputCommentsDefault
ConnectionThe Zoho connection to use.
Record TypeThe type of Books record to operate on. See Zoho Books API for details.
Record IDThe unique identifier of the record in Zoho.
Parent Record TypeThe type of Books record to operate on. See Zoho Books API for details.
Parent Record IDThe unique identifier of the parent record under which other records are grouped.
Dynamic FieldsDynamic input fields that can be configured at deploy time using key-value config variables.
ValuesKey-value pairs representing field names and their values for creating or updating records.

CRM - Add attachment

Add an attachment to a Zoho CRM record (Lead, etc).

InputCommentsDefault
ConnectionThe Zoho connection to use.
Record TypeType of record to attach a file toLeads
Record IDThe unique identifier of the record in Zoho.
FileThe file to upload - either string contents or a binary file
File NameThe name of the file to upload, including extension.

CRM - COQL Query

Run a COQL Query for Zoho CRM

InputCommentsDefault
ConnectionThe Zoho connection to use.
QueryCOQL query to execute. See Zoho COQL documentation for syntax.

CRM - Create Record

Create a Zoho CRM Record

InputCommentsDefault
ConnectionThe Zoho connection to use.
Record TypeThe type of CRM record to operate on. See Zoho CRM Modules for details.
Dynamic FieldsDynamic input fields that can be configured at deploy time using key-value config variables.
ValuesKey-value pairs representing field names and their values for creating or updating records.

CRM - Disable Notification

Stop all instant notifications enabled for the specified channels.

InputCommentsDefault
ConnectionThe Zoho connection to use.
Channel IDsComma-separated channel IDs to disable. These are the IDs you provided when enabling the notification channels.

CRM - Disable Specific Notification

Disable notifications for specific events in a channel without disabling the entire channel.

InputCommentsDefault
ConnectionThe Zoho connection to use.
Channel IDUser-defined unique numeric identifier for the notification channel. You create this ID when enabling notifications and use it to reference the channel in subsequent operations. Must be a number.
EventsSubscribed operations in format "{module}.{operation}". Operations: create, edit, delete, all.
Notify On Related ActionWhen true, triggers notifications when associated record actions occur.true

CRM - Enable Notification

Enable instant notifications for actions on a Zoho CRM module.

InputCommentsDefault
ConnectionThe Zoho connection to use.
Channel IDUser-defined unique numeric identifier for the notification channel. You create this ID when enabling notifications and use it to reference the channel in subsequent operations. Must be a number.
EventsSubscribed operations in format "{module}.{operation}". Operations: create, edit, delete, all.
Notify URLThe URL that will receive POST notifications about the actions.
TokenVerification token (max 50 chars) sent in callbacks to verify notifications are from Zoho CRM.
Channel ExpiryISO datetime for expiry. Maximum 1 week from now. Default is 1 hour.
Return Affected Field ValuesWhen true, includes updated field values in the notification callback.false
Notify On Related ActionWhen true, triggers notifications when associated record actions occur.true
Notification ConditionFilter notifications by specific field changes. Provide field API names to watch.

CRM - Get Notification Details

Retrieve the details of notifications enabled for a specific channel.

InputCommentsDefault
Channel IDUser-defined unique numeric identifier for the notification channel. You create this ID when enabling notifications and use it to reference the channel in subsequent operations. Must be a number.
Fetch AllWhen true, automatically fetches all pages of results using pagination.false
ModuleAPI name of the module (e.g., Leads, Deals, Contacts). Leave empty to get all modules.
PageThe page number to start at. First page is 1.1
Per PageThe number of records to fetch per page. Maximum is 200.200
ConnectionThe Zoho connection to use.

CRM - Get Record

Get a single Zoho CRM Record

InputCommentsDefault
ConnectionThe Zoho connection to use.
Record TypeThe type of CRM record to operate on. See Zoho CRM Modules for details.
Record IDThe unique identifier of the record in Zoho.
FieldsThe field names to retrieve. Leave empty to retrieve all fields.

CRM - Get Records

Get a collection of Zoho CRM Records

InputCommentsDefault
ConnectionThe Zoho connection to use.
Record TypeThe type of CRM record to operate on. See Zoho CRM Modules for details.
FieldsThe field names to retrieve. Leave empty to retrieve all fields.
PageThe page number to start at. First page is 1.1
Per PageThe number of records to fetch per page. Maximum is 200.200
Page TokenToken used for cursor based pagination. Obtained from previous response.
Sort OrderThe order in which to sort the results.
Sort ByThe field to sort results by.
Fetch AllWhen true, automatically fetches all pages of results using pagination.false

CRM - Raw Request

Send raw HTTP request to Zoho CRM

InputCommentsDefault
ConnectionThe Zoho connection to use.
URLInput the path only (/Leads/1234567890/actions/convert), The base URL is already included (https://www.zohoapis.{api_domain}/crm/v8). For example, to connect to https://www.zohoapis.{api_domain}/crm/v8/Leads/1234567890/actions/convert, only /Leads/1234567890/actions/convert is entered in this field.
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Retry Delay (ms)The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.false
Max Retry CountThe maximum number of retries to attempt. Specify 0 for no retries.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.false

CRM - Remove Record

Remove a Zoho CRM Record

InputCommentsDefault
ConnectionThe Zoho connection to use.
Record TypeThe type of CRM record to operate on. See Zoho CRM Modules for details.
Record IDThe unique identifier of the record in Zoho.

CRM - Update Notification

Update specific information of a notification enabled for a channel.

InputCommentsDefault
ConnectionThe Zoho connection to use.
Channel IDUser-defined unique numeric identifier for the notification channel. You create this ID when enabling notifications and use it to reference the channel in subsequent operations. Must be a number.
EventsSubscribed operations in format "{module}.{operation}". Operations: create, edit, delete, all.
Notify URLThe URL that will receive POST notifications about the actions.
TokenVerification token (max 50 chars) sent in callbacks to verify notifications are from Zoho CRM.
Channel ExpiryISO datetime for expiry. Maximum 1 week from now. Default is 1 hour.
Notification ConditionFilter notifications by specific field changes. Provide field API names to watch.

CRM - Update Record

Update a Zoho CRM Record

InputCommentsDefault
ConnectionThe Zoho connection to use.
Record TypeThe type of CRM record to operate on. See Zoho CRM Modules for details.
Record IDThe unique identifier of the record in Zoho.
Dynamic FieldsDynamic input fields that can be configured at deploy time using key-value config variables.
ValuesKey-value pairs representing field names and their values for creating or updating records.