About Zoho CRM
Zoho CRM is a customer relationship management platform. Serval connects to it through a Serval-managed Zoho OAuth application, so there is nothing to register in the Zoho API Console. You choose which permissions to grant when you connect, and your Zoho data center is detected automatically. Authentication: Zoho OAuth 2.0 with a Serval-managed application. You approve access on Zoho’s consent screen; there are no API keys to paste. Data sync: On demand only. Workflows call Zoho CRM at run time through a single API request action. There is no background sync.What the Zoho CRM integration enables
Anything in the typed operations can be called from a workflow. For endpoints outside them, see the Zoho CRM v8 API reference.
Before you connect
1
Pick the Zoho account
Sign in with the Zoho account whose CRM organization you want to connect. To use the user, role, profile, group, or territory management permissions, the account must have the Administrator profile in Zoho CRM.
2
Decide which permissions workflows need
Read access to users and organization details is always included. Everything else is optional; see the permission presets below.
Zoho CRM sandbox and developer editions aren’t supported. Zoho issues separate tokens for each environment, and Serval connects to production organizations only.
Connect in Serval
1
Open the connect modal
In Serval, go to Integrations > All integrations > Zoho CRM. A permissions modal opens.
2
Select permission presets (all optional)
Check any presets your workflows need. Expand a preset to see the exact Zoho scopes it requests.
Serval never requests Zoho’s wildcard
.ALL scopes.3
Click Connect to Zoho CRM
Authorization opens in a popup window or a full-page redirect.
4
Approve on the Zoho consent screen
Sign in and approve the requested permissions. Zoho shows the consent screen on every connect and reconnect; this is expected.
ZohoCRM.users.READ and ZohoCRM.org.READ are always requested, so a connection with no presets selected can still list users and read organization details.Changing permissions
Permissions are fixed when you connect. To add or remove permissions, reconnect the integration. The modal opens with the presets you already granted checked. Any granted permission that no checked preset covers is listed under Keep current permissions and kept by default; clear that box to drop them. Change the selection and approve on Zoho again.Verifying the connection
After connecting, Serval runs three health checks. All three use only the always-included scopes, so they pass regardless of which presets you chose. Test Zoho CRM Connection reads your organization details.- Success: “Successfully authenticated with Zoho CRM”
- Failure (invalid token or missing scope): “Unable to authenticate with Zoho CRM. The OAuth token is invalid, expired, or missing a required scope. Reconnect the integration.”
- Failure (other): “Unable to reach Zoho CRM. Check that the connected Zoho account has access to a CRM organization.”
- Success: “Successfully listed active Zoho CRM users (sample size: [number])”
- Failure: “Unable to list Zoho CRM users. Reconnect the integration so the ZohoCRM.users.READ scope is granted.”
- Success: “Connected as a Zoho CRM user with the [profile] profile”
- Failure: “Unable to read the connected Zoho CRM user. Reconnect the integration.”
Gotchas and troubleshooting
Workflows fail with OAUTH_SCOPE_MISMATCH
Workflows fail with OAUTH_SCOPE_MISMATCH
The connection wasn’t granted the scope that operation needs. Reconnect and check the preset that covers it. For example, changing a user’s role needs Manage users.
Creating or updating records sends emails or changes other records
Creating or updating records sends emails or changes other records
Zoho runs the organization’s workflow rules, approvals, and blueprints when records are created or updated through the API. To skip them, pass an empty
trigger array in the request body ("trigger": []).User management calls fail even though the scope was granted
User management calls fail even though the scope was granted
Zoho only allows administrators to add, change, or delete users. Reconnect while signed in to a Zoho account with the Administrator profile.
Token refresh stopped working
Token refresh stopped working
Token refresh is automatic. A persistent authentication failure usually means the grant was revoked in Zoho. Reconnect the integration to create a new grant.

