Zoho CRM is a cloud CRM developed by ZOHO Corporation that have such features as procurement, inventory and others.
Data Integration: Skyvia supports importing data to and from Zoho CRM, exporting Zoho CRM data to CSV files, replicating Zoho CRM data to relational databases and synchronizing Zoho CRM data with other cloud apps and relational databases.
Backup: Skyvia Backup supports Zoho CRM.
Query: Skyvia Query supports Zoho CRM.
Zoho CRM-Specific Features and Limitations
Skyvia has the following limitations for Zoho CRM:
- Importing files from zip archives is not supported.
- Child entities, such as Attachments or Notes, are not supported.
- Many-to-many relations are not supported.
Zoho CRM Connections
When creating a Zoho CRM connection, simply log in with Zoho CRM. The OAuth authentication token is stored on the Skyvia server. Your Zoho CRM account login and password are not stored on the Skyvia server.
To create a Zoho CRM connection, perform the following steps:
- Click +NEW in the top menu.
- Open the Select Connector page by clicking Connection in the menu on the left.
- In the opened page, click Zoho CRM.
- In the Connection Editor page, specify a connection name that will be used to identify the connection.
- In the Domain list, select the domain to connect to: crm.zoho.com, crm.zoho.eu, crm.zoho.com.cn, crm.zoho.in or crm.zoho.com.au.
In the Environment list, select an environment type — Production or Sandbox.
- Click Sign In with Zoho.
In the opened window, enter your Zoho CRM email and click the Next button.
In the opened window, enter your Zoho CRM password and click the Sign In button.
- In the opened window, choose the Org you want to access (if you have several ones) and click Submit.
- In the next window, click Accept to allow Skyvia to access data in your Zoho account.
The authentication token is generated.
Click Advanced Settings to display advanced parameters. Here, you can select the Query API, Use Display Name for Custom Tables, and Enable Non-Approved Records checkboxes.
Query API allows querying Zoho CRM data using COQL (CRM Object Query Language). Query API speeds up performing queries that contain filters and optimizes the performance of the operations which use filters.
To use Query API, you have to enable the corresponding parameter in the Advanced settings block of your Zoho CRM connection in Skyvia.
To be able to use the Query API, you have to consider the below specifics:
- Query API is supported for the following Zoho CRM Tables: Accounts, Calls, Campaigns, Cases, Contacts, Deals, Events, Invoices, Leads, PriceBooks, Products, PurchaseOrders, Tasks, SalesOrders, Solutions, Vendors, Quotes, and custom tables.
- Query API supports the SELECT statement only.
- If the operation, you perform, supports COQL itself, but contains the field which does not support it, Skyvia will query the list of records’ Ids’ and then perform the REST API request to get the remaining fields. It may take a bit more time to complete the query, but the performance will still improve.
- If you use the filter by Primary Key field only with Query API enabled, the regular REST API request will be performed instead of Query API.
If the ‘Enable Non-Approved Records’ option is selected in your Zoho CRM connection, Query API does not consider it and works only with Approved records.
More details about Query API limitations are available here
When Use Display Name for Custom Tables is selected, display names are used to access custom Zoho CRM modules. When it is deselected — module names are used.
Enable Non-Approved Records checkbox defines whether Skyvia is able to obtain the records, which are not approved. This option is not supported by Query API.
Optionally, you can change the Metadata Cache parameter. This parameter determines for how long the cached metadata for the connection are considered valid. By default, Skyvia caches metadata of available objects in cloud sources. Whenever necessary, you can reset metadata cache for a connection manually in the Connection Editor by clicking the Clear now link. The following values are available for this parameter:
- Disabled — metadata cache is not created; metadata are queried automatically whenever required.
- One Hour — metadata cache expires one hour after the last refresh.
- One Day — metadata cache expires one day after the last refresh.
- One Week — metadata cache expires one week after the last refresh.
- One Month — metadata cache expires one month after the last refresh.
- Infinite — cache never expires/resets automatically. Default value.
- Click the Create Connection button to create the connection.
Supported Actions and Actions Specifics
Zoho CRM connector supports the following actions:
- Execute Command in Source, Lookup, and Target Data Flow components and in Import and Export tasks in the Advanced mode.
Execute Query in Source Data Flow components and in Import and Export tasks in the Advanced mode.
- Lookup in Lookup Data Flow components.
- Insert in Target Data Flow components.
- Update in Target Data Flow components.
- Delete in Target Data Flow components.
- Upsert in Target Data Flow components.
This action is specific to Salesforce and Zoho CRM connectors. It uses Zoho CRM native UPSERT mechanism, which allows inserting records if such record does not exist in Zoho CRM, and updating the record if such a record is found. Zoho CRM uses External ID fields to check whether a matching record already exists in Zoho CRM. External ID in Zoho CRM is a custom field that has the Set as External Field checkbox selected in its properties and uniquely identifies records.
To configure the Upsert action, first, you need to select the table to load data to. The Zoho CRM object you select must have an External Id field. Then you need to select an External Id field of this table to use. Finally, you need to map action parameters. For the Upsert action, parameters correspond to the target table columns that allow inserting data. You need to map at least the parameters corresponding to the required target table fields, and the parameter corresponding to the selected External ID field. Parameters for columns that you don’t want to load data to can be simply deleted from the mapping or ignored.