See what the Zoho CRM integration can do →
Before You Begin
The integration authenticates to Zoho CRM using OAuth 2.0. Before installing, obtain a Client ID and Client Secret from the Zoho API Console.
Open the Zoho API Console at
https://api-console.zoho.comand sign in with an account that has Zoho CRM access.2. Select Add Client, then choose Server-based Applications.
3. On the create screen, provide: - Client Name: a descriptive name for the application (for example,
iPaaS.com). - Homepage URL:https://portal.ipaas.com. - Authorized Redirect URLs:https://portal.ipaas.com/customer/subscription-mgmt/subscriptions/authorization/app(use the staging portal URL for a staging subscription).4. If your Zoho CRM organization is in a non-US data center, select the matching data center for the application in the Zoho API Console.
5. Click Create and save the generated Client ID and Client Secret.
Installation Instructions for Integration Setup
In iPaaS.com, go to Subscriptions, select Search Certified Integration Marketplace, and click Subscribe.
2. Click the Zoho CRM integration tile.
3. On the product details page, click Subscribe. 4. Enter a subscription name using the format
[Product Name] – [Environment/Purpose], for exampleZoho CRM – Production, and select a version. 5. Leave Create Default Mappings selected to auto-generate the standard mappings, or clear it to create mappings manually. 6. On the Subscription Settings page, provide: - API Url: the Zoho CRM API base URL for your region, for examplehttps://www.zohoapis.com/crm. Other regions use the matchingwww.zohoapis.<region>domain. - Client_Id and Client_Secret: the values from the Zoho API Console. - Region: the Zoho data-center region that hosts your organization's data — one ofzoho.com,zoho.eu,zoho.in,zoho.com.au,zoho.jp,zohocloud.ca,zoho.sa, orzoho.uk. This must match your Zoho account's data center, or authentication will fail. - Raise Custom Field Not Found Exception: set to True (recommended while configuring) so a mapped custom field that cannot be matched in Zoho CRM raises a clear error; set to False to ignore unmatched custom fields silently.7. Review the throttle and concurrency settings. These are pre-populated and can be adjusted for your Zoho CRM edition's API allowance: - API Throttle Limit (recommended 500; use a lower value such as 5 for initial testing) and API Throttle Seconds (default 60). - Concurrent Connections (default 10) and Concurrent Batch Executions (default 10).
8. Click Apply.
Initiate the OAuth Flow and Generate the Access Token
Open the Zoho CRM subscription created above and confirm the Client ID, Client Secret, API Url, and Region are entered and saved.
Click the Authenticate icon in the top toolbar. A new browser window opens on Zoho CRM.
Click Accept on the permissions prompt.
4. When Zoho CRM confirms success, close the window and refresh the subscription page. 5. On success, the Access Token and Refresh Token fields populate. iPaaS.com refreshes the access token automatically as it expires.
6. If an error occurs, confirm the Client ID, Client Secret, and Region match your Zoho CRM account, then re-authenticate.
Configure Automatic Transfers
Contacts can reach iPaaS.com automatically by scheduled polling, by an instant webhook from Zoho CRM, or both. At least one must be enabled before contacts transfer without a Manual Sync. (Outbound transfers to Zoho CRM — customers, products, and orders — are enabled separately by subscribing to the relevant outbound triggers under Outbound Data Flows.)
Scheduled polling
Enable the contact poll on the iPaaS.com side under Dashboard / Integration Monitoring / Events by adding the contact poll event to the subscription's scheduled events and setting the cadence. Set the interval with the size of your contact base and your Zoho CRM edition's API allowance in mind. Nothing is configured in Zoho CRM for polling.
Instant webhook notification (configured in Zoho CRM)
Note: Instant webhooks are a Zoho CRM workflow feature. Configuring them requires the Manage Workflow permission, and workflow webhooks are available on Zoho CRM's paid editions (Professional and above), with call allowances that vary by edition. Subscribers on a Zoho CRM edition that does not include workflow webhooks should use scheduled polling instead — the two paths deliver the same contacts, and webhooks only change how quickly a change is picked up.
To have Zoho CRM notify iPaaS.com the moment a contact is created or edited, create a workflow rule in Zoho CRM that posts to the iPaaS.com webhook receiver:
In Zoho CRM, go to Setup → Automation → Workflow Rules and click Create Rule.
Select the Contacts module, name the rule, and choose the record actions Create and Edit (repeat for edits so both are covered).
For the condition, Email is not empty is recommended so contacts without an email — which cannot transfer — do not trigger the webhook.
For the instant action, choose Webhook, then New Webhook.
Set URL to Notify to the iPaaS.com webhook receiver:
https://api.ipaas.com/HookApi/v2/Generic.Set the Authorization Type to General.
Under Custom Parameters / Headers, add a header named Authorization with the value
Bearer <webhook API key>, where the webhook API key is copied from your subscription at Dashboard / Subscription / Subscriptions / (Zoho CRM) / Subscription Settings (the Webhook API Key field there, using its copy button).Set the Body type to Raw and format JSON, and paste:
{ "notifications": [ { "scope": "Contacts.edit", "external_id": "${Contacts.Contact Id}" }] }Click Save and Associate, then Save on the workflow rule.
The webhook is now active and can be paused at any time with the workflow rule's status toggle. No further configuration is required on the iPaaS.com side — the receiver is the platform's generic webhook receiver.
Post-Installation Verification
Connection: confirm the Access Token and Refresh Token populated after authentication.
Data sync: run a Manual Sync of one contact (enter the Zoho CRM contact id) and confirm it appears as an iPaaS.com Customer; run a Manual Sync of one Customer, Product, or Transaction outbound and confirm it appears in Zoho CRM.
Automatic transfer: if you configured the webhook, edit a contact in Zoho CRM and confirm the change reaches iPaaS.com; if you configured polling, confirm changed contacts arrive on the next cycle.
Review transfers and any errors under Dashboard / Integration Monitoring.
Common Issues and Solutions
Invalid API domain. Requests fail because the API URL or region is wrong. Confirm the Region matches your Zoho CRM data center and that the API Url is the matching
www.zohoapis.<region>/crmhost, then re-authenticate.Authentication failure (401 / invalid_client). Confirm the Client_Id and Client_Secret are correct and current, and that the authorized redirect URL on the Zoho application matches the environment.
"Unable to authorize the Zoho CRM connection" during setup. A required value (Client ID, Client Secret, or Redirect URL) is missing, or the region does not match your account's data center. Confirm all three and the region, then re-authenticate.
Custom field not found. With Raise Custom Field Not Found Exception set to True, a transfer stops naming a custom field that could not be matched. Confirm the field exists in Zoho CRM and that the iPaaS.com custom field name matches the Zoho CRM field label or API name exactly. See the Zoho CRM Error Messages article.
Insufficient permissions. Confirm the Zoho user has a role that can read and write the Contacts, Products, and Sales Orders modules, and that the OAuth scopes granted cover them.
Incorrect data format. Zoho CRM expects dates in ISO 8601 (
YYYY-MM-DD), and numeric fields as numbers. Validate values against the Zoho CRM API documentation.
Support and Troubleshooting
Documentation: search from the top of this article, or see the API Introduction.
Support Portal: https://support.ipaas.com/en/
Contact: https://ipaas.com/contact-us/





















