Skip to main content

Zoho CRM Installation Instructions

Install and connect the Zoho CRM integration in iPaaS.com: OAuth setup, subscription settings, region, and scheduled-poll or webhook configuration.

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.

  1. Open the Zoho API Console at https://api-console.zoho.com and sign in with an account that has Zoho CRM access.

    The Zoho API Console

    2. Select Add Client, then choose Server-based Applications.

    Choosing Server-based Applications in the Zoho API Console

    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).

    Entering the client name, homepage URL, and authorized redirect URL

    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.

    Selecting the data-center region for the Zoho application

    5. Click Create and save the generated Client ID and Client Secret.

    The generated Client ID and Client Secret

Installation Instructions for Integration Setup

  1. In iPaaS.com, go to Subscriptions, select Search Certified Integration Marketplace, and click Subscribe.

    The iPaaS.com Subscriptions page with Search Certified Integration Marketplace

    2. Click the Zoho CRM integration tile.

    The Zoho CRM integration tile in the marketplace

    3. On the product details page, click Subscribe. 4. Enter a subscription name using the format [Product Name] – [Environment/Purpose], for example Zoho 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 example https://www.zohoapis.com/crm. Other regions use the matching www.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 of zoho.com, zoho.eu, zoho.in, zoho.com.au, zoho.jp, zohocloud.ca, zoho.sa, or zoho.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.

    The Zoho CRM subscription settings page

    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).

    The throttle and concurrency settings on the subscription settings page

    8. Click Apply.

Initiate the OAuth Flow and Generate the Access Token

  1. Open the Zoho CRM subscription created above and confirm the Client ID, Client Secret, API Url, and Region are entered and saved.

  2. Click the Authenticate icon in the top toolbar. A new browser window opens on Zoho CRM.

  3. Click Accept on the permissions prompt.

    Granting access on the Zoho CRM 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.

    The Access Token and Refresh Token fields populated after authentication

    6. If an error occurs, confirm the Client ID, Client Secret, and Region match your Zoho CRM account, then re-authenticate.

    Confirming the region and credentials if authentication fails

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:

  1. In Zoho CRM, go to Setup → Automation → Workflow Rules and click Create Rule.

    Zoho CRM Workflow Rules page
  2. Select the Contacts module, name the rule, and choose the record actions Create and Edit (repeat for edits so both are covered).

    Workflow rule configured for the Contacts module with the Create and Edit record actions
  3. For the condition, Email is not empty is recommended so contacts without an email — which cannot transfer — do not trigger the webhook.

    Rule condition set to Email is not empty
  4. For the instant action, choose Webhook, then New Webhook.

    Selecting the Webhook instant action
  5. Set URL to Notify to the iPaaS.com webhook receiver: https://api.ipaas.com/HookApi/v2/Generic.

    New webhook form with the URL to Notify field
  6. Set the Authorization Type to General.

  7. 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).

    Authorization header with a Bearer webhook API key value
  8. Set the Body type to Raw and format JSON, and paste: { "notifications": [ { "scope": "Contacts.edit", "external_id": "${Contacts.Contact Id}" }] }

    Webhook body set to Raw JSON with the notifications payload
  9. Click Save and Associate, then Save on the workflow rule.

    Saving 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.

Workflow rule status toggle used to enable or disable the webhook

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>/crm host, 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

Related Documents

Did this answer your question?