Overview
Zoho CRM is a flexible CRM with modular records (Leads, Contacts, Accounts, Deals, plus custom modules). The Automize Zoho CRM connector covers module-agnostic record CRUD, search, mass-update, lead conversion, tags, notes, attachments, and bulk upsert via the v6 REST API.
- Regions: Zoho operates separate data centres (US, EU, IN, CN, AU, JP, CA, SA). The API endpoint differs per DC – connector picks the right one from your account at OAuth time.
- Plans: Free, Standard, Professional, Enterprise, Ultimate, CRM Plus – all expose the API. Custom modules and advanced workflows need Professional or above.
Setting up the connection
Auth type: OAuth 2.0 (Authorization Code).
- Go to api-console.zoho.com → Add Client → Server-based Applications.
- Set Authorized Redirect URI to the one shown in the Automize Zoho CRM connector dialog.
- Pick the appropriate Data Center (matches your Zoho account).
- Copy the Client ID and Client Secret.
- In Automize, open Settings → Connectors → Zoho CRM → Add connection. Paste credentials + data center, click Connect with Zoho, sign in, approve scopes.
Scopes required:
ZohoCRM.modules.ALLZohoCRM.settings.READZohoCRM.users.READZohoCRM.bulk.ALL
Find your credentials at https://api-console.zoho.com/.
Rate limits
Zoho enforces a daily request quota that scales by plan (5k–50k+/day) plus per-minute throttling (~10/sec). Heavy reads should use COQL (Search) or Bulk endpoints – both count as one API request per batch. The connector retries 429 with exponential backoff.
Data model
Zoho's CRM is built around modules – pre-defined (Leads, Contacts,
Accounts, Deals, Tasks, Calls, Meetings, Cases) and custom (CustomModule
__c style). Most operations take a module parameter so the same op
works against any record type.
Module ─┬─ Records (Leads, Contacts, etc.)
│ ├─ Notes
│ ├─ Attachments
│ ├─ Tags
│ └─ Related Lists (parent/child + look-ups)
└─ Fields (schema for that module)
Users (workspace members)
Lead Conversion: Lead → Contact + Account + Deal (atomic)Available operations
22 operations available. Click any row to jump to its detail.
| Operation | Category | What it does |
|---|---|---|
| Add related record | General | Link a related record in Zoho CRM. |
| Add tags | General | Add tags to a Zoho CRM record. |
| Convert lead | General | Convert a Zoho CRM lead to contact/account/deal. |
| Create note | General | Add a note to a Zoho CRM record. |
| Create record | General | Create a new record in Zoho CRM. |
| Delete record | General | Delete a record from Zoho CRM. |
| Download attachment | General | Download an attachment by ID from Zoho CRM. |
| Get record | General | Get a record by ID from Zoho CRM. |
| Get user | General | Get a Zoho CRM user by ID. |
| List attachments | General | List attachments on a Zoho CRM record. |
| List fields | General | List fields for a Zoho CRM module. |
| List modules | General | List all available Zoho CRM modules. |
| List notes | General | List notes on a Zoho CRM record. |
| List records | General | List records from any Zoho CRM module (Leads, Contacts, Accounts, Deals, etc.). |
| List related records | General | List related records in Zoho CRM (e.g. Contacts related to an Account). |
| List users | General | List Zoho CRM users. |
| Mass update | General | Mass update multiple Zoho CRM records at once. |
| Remove tags | General | Remove tags from a Zoho CRM record. |
| Search records | General | Search Zoho CRM records by criteria, email, phone, or word. |
| Update record | General | Update a record in Zoho CRM. |
| Upload attachment | General | Upload an attachment to a Zoho CRM record. |
| Upsert records | General | Insert or update records in bulk in Zoho CRM (upsert). |
Operations
Add related record
Link a related record in Zoho CRM.
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text | |
Record ID recordId | Yes | text | |
Related module relatedModule | Yes | text | |
Related record ID relatedId | Yes | text | |
Record Id record_id | Yes | text | |
Related Module related_module | Yes | text | |
Related Id related_id | Yes | text |
Tips
- Link an existing record to another via a relationship (many-to-many lookup).
Add tags
Add tags to a Zoho CRM record.
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text | |
Record ID recordId | Yes | text | |
Tags (comma-separated) tags | Yes | text | |
Record Id record_id | Yes | text |
Tips
- module + recordId + tags (array of tag names – created if not existing).
Convert lead
Convert a Zoho CRM lead to contact/account/deal.
| Parameter | Required | Type | Description |
|---|---|---|---|
Lead ID recordId | Yes | text | |
Conversion data (JSON) data | Yes | textarea | |
Record Id record_id | Yes | text |
Tips
- Atomic operation – creates Contact + Account (optionally Deal) from a Lead, then deletes the Lead.
- data: array of objects controlling each created entity (assign_to user_id, deal info).
Create note
Add a note to a Zoho CRM record.
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text | |
Record Id record_id | Yes | text | |
Data data | Yes | textarea |
Tips
- module + record_id + data:[{Note_Title,Note_Content}].
Create record
Create a new record in Zoho CRM.
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text | |
Data data | Yes | textarea |
Tips
- module + data (array of one or more records). Bulk-create up to 100 records per call.
- Last_Name is required for Leads/Contacts.
Errors
MANDATORY_NOT_FOUND– A required field on the module is missing. Check List Fields for required ones.DUPLICATE_DATA– Layout has unique-field rules (e.g. Email). Use Upsert instead.
Delete record
Delete a record from Zoho CRM.
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text | |
Record Id record_id | Yes | text |
Tips
- Soft-deletes (moves to Recycle Bin). Restorable for 60 days.
Download attachment
Download an attachment by ID from Zoho CRM.
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text | |
Record ID recordId | Yes | text | |
Attachment ID attachmentId | Yes | text | |
Record Id record_id | Yes | text | |
Attachment Id attachment_id | Yes | text |
Tips
- module + recordId + attachmentId. Returns binary bytes.
Get record
Get a record by ID from Zoho CRM.
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text | |
Record Id record_id | Yes | text |
Tips
- module + record_id (numeric).
- Returns full record incl. all fields the user has access to.
Get user
Get a Zoho CRM user by ID.
| Parameter | Required | Type | Description |
|---|---|---|---|
User ID userId | Yes | text | |
User Id user_id | Yes | text |
Tips
- user_id (numeric).
List attachments
List attachments on a Zoho CRM record.
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text | |
Record ID recordId | Yes | text | |
Record Id record_id | Yes | text |
Tips
- Metadata only. Use Download Attachment for bytes.
List fields
List fields for a Zoho CRM module.
No input parameters.
Tips
- Per-module schema. Use to discover field API names + types before crafting create/update payloads.
List modules
List all available Zoho CRM modules.
No input parameters.
Tips
- Discovery – returns all modules (standard + custom) with API names. Use api_name (e.g. Leads, Accounts, Custom_Module__c) in subsequent calls.
List notes
List notes on a Zoho CRM record.
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text | |
Record ID recordId | Yes | text | |
Record Id record_id | Yes | text |
Tips
- Notes on a record. ordered newest-first.
List records
List records from any Zoho CRM module (Leads, Contacts, Accounts, Deals, etc.).
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text |
Tips
- module: api name (Leads, Contacts, Accounts, etc.).
- Pages via page + per_page (max 200). Pass fields=Email,Last_Name to project.
- sort_by + sort_order for ordered results.
List related records
List related records in Zoho CRM (e.g. Contacts related to an Account).
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text | |
Record ID recordId | Yes | text | |
Related module relatedModule | Yes | text | |
Record Id record_id | Yes | text | |
Related Module related_module | Yes | text |
Tips
- module + recordId + relatedModule. E.g. Contacts → Deals returns deals owned by that contact.
List users
List Zoho CRM users.
No input parameters.
Tips
- Filter by type (AllUsers, ActiveUsers, DeactiveUsers, NewUsers, NotConfirmedUsers, ConfirmedUsers, AdminUsers, ActiveConfirmedAdmins, CurrentUser).
Mass update
Mass update multiple Zoho CRM records at once.
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text | |
Update data (JSON) data | Yes | textarea | |
Record IDs (comma-separated) ids | Yes | text | |
Cvid cvid | No | text |
Tips
- Same data applied to many records. ids: array of record IDs (max 500). Or cvid: criteria view ID to scope.
Remove tags
Remove tags from a Zoho CRM record.
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text | |
Record ID recordId | Yes | text | |
Tags (comma-separated) tags | Yes | text | |
Record Id record_id | Yes | text |
Tips
- Same shape as Add. Tags become unreferenced if not on any other record.
Search records
Search Zoho CRM records by criteria, email, phone, or word.
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text |
Tips
- module + criteria (COQL-like: '(Email:equals:foo@bar.com) and (Last_Name:starts_with:S)').
- Faster than List Records for filtered lookups. Phone/email/word shortcuts: pass phone=, email=, word= instead of criteria.
Update record
Update a record in Zoho CRM.
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text | |
Record Id record_id | Yes | text | |
Data data | Yes | textarea |
Tips
- PATCH-style. Send only fields to change.
- Trigger workflows / approval rules: pass trigger=['workflow','approval'] in data.
Upload attachment
Upload an attachment to a Zoho CRM record.
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text | |
Record ID recordId | Yes | text | |
Record Id record_id | Yes | text |
Tips
- multipart upload – file content + filename.
Upsert records
Insert or update records in bulk in Zoho CRM (upsert).
| Parameter | Required | Type | Description |
|---|---|---|---|
Module module | Yes | text | |
Records data (JSON) data | Yes | textarea | |
Duplicate Check Fields duplicate_check_fields | No | text |
Tips
- Insert or update keyed by duplicate_check_fields (e.g. Email).
- Up to 100 records per call. Idempotent – safe to retry.
FAQ
- Which data center am I on?
- Zoho CRM URL: zoho.com (US), zoho.eu (EU), zoho.in (IN), zoho.com.au (AU), zoho.com.cn (CN), zoho.jp (JP). Pick the matching DC when creating the OAuth app.
- Custom modules – how?
- Custom modules are exposed via the same module parameter. Find the API name via List Modules. Custom field API names use __c suffix (or whatever the org set).
- Why is my Search returning 0 when records exist?
- Search is index-backed and updates async – new records take ~30-60s to appear. For immediate lookups by known fields, use Get Record or List Records with criteria.
- Trigger workflows on Update?
- By default, API updates skip workflows. Pass trigger=['workflow', 'approval', 'blueprint'] in the data payload to invoke them.