Zoho CRM
  • 05 Sep 2024
  • 2 Minutes to read
  • Dark
    Light
  • PDF

Zoho CRM

  • Dark
    Light
  • PDF

Article summary

Zoho CRM API

API Documentation Link


Configuration Parameters

Any instance where an entry in the below configuration has a leading $ represents a parameter that needs to be replaced with a static value.

Parameters in this document:

  • $base_url - The Base URL will follow the below format:
    Data CenterBase URL
    United Stateshttps://www.zohoapis.com
    Europehttps://www.zohoapis.eu
    Indiahttps://www.zohoapis.in
    Australiahttps://www.zohoapis.com.au
    Japanhttps://www.zohoapis.jp
    Canadahttps://www.zohoapis.ca
    Chinahttps://www.zohoapis.com.cn
  • $client_id and $client_secret - The Client ID and Client Secret will be used to authenticate calls to the Zoho CRM API. To obtain these parameters, you will need to register an application with Zoho's Developer Console. When registering, be sure to include https://platform.panoply.io/sources/callback.html as an Authorized Redirect URI. After completing the registration of your client, you will receive a Client ID and Client Secret. For a complete walkthrough of the Zoho CRM OAuth2.0 process, see Zoho documentation here.
  • $resource_name - The Resource Name represents the name of the resource to be appended and used as part of the Destination Table name. The value that should be used here can be found in the API Resources table below.
  • $endpoint - The Endpoint represents the data that you would like to ingest into Panoply from the Zoho CRM API. The value of this parameter can be found in the API Resources section below.
  • $auth_base_url - The Base URL will follow the below format:
    Data CenterAuth Base URL
    United Stateshttps://accounts.zoho.com
    Europehttps://accounts.zoho.eu
    Indiahttps://accounts.zoho.in
    Australiahttps://accounts.zoho.com.au
    Japanhttps://accounts.zoho.jp
    Canadahttps://accounts.zohocloud.ca
    Chinahttps://accounts.zoho.com.cn
  • $incremental_starting_value - The Incremental Starting Value represents the earliest date that data should be collected for, given in yyyy-mm-DD format. For example, if you would like your historical data to go back to the start of 2021, this value would be set to 2021-01-01.

API Resources

For a list of API Resources available for Zoho CRM, please refer to the list of endpoints found below:

Resource$resource_name$endpoint
AccountsaccountsAccounts
CallscallsCalls
CampaignscampaignsCampaigns
CasescasesCases
ContactscontactsContacts
DealsdealsDeals
EventseventsEvents
InvoicesinvoicesInvoices
LeadsleadsLeads
Price Booksprice_booksPrice_Books
ProductsproductsProducts
Purchase Orderspurchase_ordersPurchase_Orders
QuotesquotesQuotes
Sales Orderssales_ordersSales_Orders
SolutionssolutionsSolutions
TaskstasksTasks
VendorsvendorsVendors

Connector configuration

  • Base url: $base_url/crm/v7/$endpoint
  • Method: GET
  • URL Parameters: ids={identifier}

Destination Table naming convention is ultimately up to you as the data owner. One common structure used for this API is zoho_crm_$resource_name.

Authorization

  • Authorization: OAuth2
  • Authorization URL: $auth_base_url/oauth/v2/auth?access_type=offline
  • Access Token URL: $auth_base_url/oauth/v2/token
  • Client Id: {client_id}
  • Client Secret: {client_secret}
  • Scope: ZohoCRM.modules.READ
  • Access Token header key: Zoho-oauthtoken
  • Token prefix: Bearer
  • Add to: Headers
    • Refresh access token
      • Enable: Checkbox.png
      • Refresh Token URL: $base_url/oauth/v2/token
      • Access token response key: access_token
      • Error status codes: 401; 403

Variables

  • Variables:
Variable nameVariable value
inc_date<<date_format({incval},'%Y-%m-%d')>>T00:00:00+00:00
  • Secured Variables:
Variable nameVariable value
client_id$client_id
client_secret$client_secret

Fetch list

  • Enable: Checkbox.png
  • Fetch List From: API
  • Fetch url: $base_url/crm/v7/$endpoint
  • Method: GET
  • URL Parameters: fields=id&per_page=200
  • Headers: {"If-Modified-Since":"{inc_date}"}
  • Data key: data
  • Data identifier key: id
  • Enable Pagination: Checkbox.png
  • Get next page value: Dynamic (next page value included in the response)
  • Next page key in response: info.next_page_token
  • Use next page value: As a URL parameter value
  • URL/body key: page_token
  • Stop iterating when: Stop key-value pair in response
  • Key in response: info.more_records
  • Value in response: false
  • Use identifiers: As multiple values
  • Number of IDs per request: 10
  • Delimiter between IDs: ,

Advanced Settings

  • Disable configuration validation: Checkbox.png
  • Data key: data
  • Incremental Key:
    Column nameColumn value
    lastTimeSucceed$incremental_starting_value

Was this article helpful?

What's Next