Work with Zoho CRM from your agents. Create and update leads, contacts, and deals, convert leads, move deals between stages, log calls with their outcome, create follow-up tasks and notes, and look records up by ID, search, list, or COQL query. Connect any Zoho data center, including India. Zoho CRM can also start workflows when records are created, edited, or deleted.
Create a lead in Zoho CRM.
| Parameter | Type | Required | Description |
|---|
lastName | string | Yes | Last name (Last_Name), mandatory in Zoho |
firstName | string | No | First name (First_Name) |
company | string | No | Company name (Company) |
email | string | No | Email |
phone | string | No | Phone |
mobile | string | No | Mobile |
leadSource | string | No | Lead source picklist value (Lead_Source), e.g. Web Download |
leadStatus | string | No | Lead status picklist value (Lead_Status), e.g. Contacted |
description | string | No | Description |
additionalFields | json | No | Extra fields as a JSON object of field API names to values, including custom fields, e.g. {"Lead_Source":"Web","Custom_Score":80} |
skipAutomation | boolean | No | Skip workflow, approval, and blueprint rules for this write |
| Parameter | Type | Description |
|---|
id | string | ID of the created, updated, or fetched record |
code | string | Zoho result code, e.g. SUCCESS |
message | string | Zoho result message |
status | string | Zoho result status |
createdTime | string | Creation time (ISO 8601) |
modifiedTime | string | Last modified time (ISO 8601) |
createdBy | json | Creator (id, name) |
modifiedBy | json | Last modifier (id, name) |
record | json | Fetched record: field API names to values; lookups are { id, name } |
records | json | Records from a list, search, or COQL query (id plus requested fields) |
count | number | Number of records returned |
moreRecords | boolean | Whether more records are available |
page | number | Page number returned |
perPage | number | Page size used |
nextPageToken | string | Token for the next page of a list |
previousPageToken | string | Token for the previous page of a list |
contact | json | Contact a converted lead became (id, name) |
account | json | Account a converted lead became (id, name) |
deal | json | Deal created on conversion (id, name) |
Update fields on an existing Zoho CRM lead.
| Parameter | Type | Required | Description |
|---|
recordId | string | Yes | ID of the lead to update |
lastName | string | No | Last name (Last_Name) |
firstName | string | No | First name (First_Name) |
company | string | No | Company name (Company) |
email | string | No | Email |
phone | string | No | Phone |
mobile | string | No | Mobile |
leadSource | string | No | Lead source picklist value (Lead_Source), e.g. Web Download |
leadStatus | string | No | Lead status picklist value (Lead_Status), e.g. Contacted |
description | string | No | Description |
additionalFields | json | No | Extra fields as a JSON object of field API names to values, including custom fields, e.g. {"Lead_Source":"Web","Custom_Score":80} |
skipAutomation | boolean | No | Skip workflow, approval, and blueprint rules for this write |
| Parameter | Type | Description |
|---|
id | string | ID of the created, updated, or fetched record |
code | string | Zoho result code, e.g. SUCCESS |
message | string | Zoho result message |
status | string | Zoho result status |
createdTime | string | Creation time (ISO 8601) |
modifiedTime | string | Last modified time (ISO 8601) |
createdBy | json | Creator (id, name) |
modifiedBy | json | Last modifier (id, name) |
record | json | Fetched record: field API names to values; lookups are { id, name } |
records | json | Records from a list, search, or COQL query (id plus requested fields) |
count | number | Number of records returned |
moreRecords | boolean | Whether more records are available |
page | number | Page number returned |
perPage | number | Page size used |
nextPageToken | string | Token for the next page of a list |
previousPageToken | string | Token for the previous page of a list |
contact | json | Contact a converted lead became (id, name) |
account | json | Account a converted lead became (id, name) |
deal | json | Deal created on conversion (id, name) |
Get one record by ID from any Zoho CRM module.
| Parameter | Type | Required | Description |
|---|
module | string | Yes | Module API name, e.g. Leads, Contacts, Deals |
recordId | string | Yes | ID of the record |
fields | string | No | Comma-separated field API names to return. Leave empty for all fields. |
| Parameter | Type | Description |
|---|
id | string | Record ID |
record | json | The record: field API names to values. Lookups are { id, name } objects; the fields depend on the module and layout. |
Search a Zoho CRM module by criteria, email, phone, or word. Returns up to 200 records per page and 2,000 in total. Records created in the last few seconds may not be indexed yet; use COQL for those.
| Parameter | Type | Required | Description |
|---|
module | string | Yes | Module API name, e.g. Leads, Contacts, Deals |
criteria | string | No | Criteria such as ((Last_Name:equals:Sharma)and(Lead_Source:equals:Web)). Operators: equals, not_equal, starts_with, in, greater_than, greater_equal, less_than, less_equal, between. Up to 10 conditions. |
email | string | No | Match any email field |
phone | string | No | Match any phone field |
word | string | No | Search text across the module fields |
fields | string | No | Comma-separated field API names to return |
page | number | No | Page number, starting at 1 |
perPage | number | No | Records per page, 1-200 (default 200) |
| Parameter | Type | Description |
|---|
count | number | Number of records in this page (0 when none match) |
moreRecords | boolean | Whether more matching records are available |
page | number | Page number returned |
perPage | number | Page size used |
List records from a Zoho CRM module, up to 200 per page. Use the page token to read past 2,000 records.
| Parameter | Type | Required | Description |
|---|
module | string | Yes | Module API name, e.g. Leads, Contacts, Deals |
fields | string | Yes | Comma-separated field API names to return (Zoho requires this, max 50), e.g. Last_Name,Email,Phone |
page | number | No | Page number, starting at 1. Cannot be combined with a page token. |
perPage | number | No | Records per page, 1-200 (default 200) |
pageToken | string | No | nextPageToken from a previous call, needed beyond 2,000 records |
sortBy | string | No | Sort field: id, Created_Time, or Modified_Time. Cannot be combined with a view. |
sortOrder | string | No | Sort order: asc or desc (default desc) |
cvid | string | No | Custom view ID to list records from |
| Parameter | Type | Description |
|---|
count | number | Number of records in this page |
moreRecords | boolean | Whether more records are available |
page | number | Page number returned |
perPage | number | Page size used |
nextPageToken | string | Token for the next page, when Zoho returns one |
previousPageToken | string | Token for the previous page, when Zoho returns one |
Convert a Zoho CRM lead into a contact and account, optionally creating a deal for it.
| Parameter | Type | Required | Description |
|---|
leadId | string | Yes | ID of the lead to convert |
overwrite | boolean | No | Overwrite the existing account or contact with the lead details |
notifyLeadOwner | boolean | No | Email the lead owner about the conversion |
accountId | string | No | Existing account to associate instead of creating one |
contactId | string | No | Existing contact to associate instead of creating one |
assignTo | string | No | User ID to own the new records |
dealName | string | No | Name of a deal to create on conversion |
dealClosingDate | string | No | Deal closing date (YYYY-MM-DD), required with a deal |
dealStage | string | No | Deal stage, required with a deal, e.g. Qualification |
dealPipeline | string | No | Deal pipeline, required with a deal, e.g. Standard (Standard) |
| Parameter | Type | Description |
|---|
message | string | Zoho result message |
status | string | Zoho result status |
contact | object | Contact the lead converted into |
account | object | Account the lead converted into |
deal | object | Deal created on conversion, when requested |
Create a contact in Zoho CRM, optionally linked to an account.
| Parameter | Type | Required | Description |
|---|
lastName | string | Yes | Last name (Last_Name), mandatory in Zoho |
firstName | string | No | First name |
email | string | No | Email |
phone | string | No | Phone |
mobile | string | No | Mobile |
title | string | No | Job title |
accountId | string | No | ID of the account to link (Account_Name lookup) |
leadSource | string | No | Lead source picklist value |
description | string | No | Description |
additionalFields | json | No | Extra fields as a JSON object of field API names to values, including custom fields, e.g. {"Lead_Source":"Web","Custom_Score":80} |
skipAutomation | boolean | No | Skip workflow, approval, and blueprint rules for this write |
| Parameter | Type | Description |
|---|
id | string | ID of the created, updated, or fetched record |
code | string | Zoho result code, e.g. SUCCESS |
message | string | Zoho result message |
status | string | Zoho result status |
createdTime | string | Creation time (ISO 8601) |
modifiedTime | string | Last modified time (ISO 8601) |
createdBy | json | Creator (id, name) |
modifiedBy | json | Last modifier (id, name) |
record | json | Fetched record: field API names to values; lookups are { id, name } |
records | json | Records from a list, search, or COQL query (id plus requested fields) |
count | number | Number of records returned |
moreRecords | boolean | Whether more records are available |
page | number | Page number returned |
perPage | number | Page size used |
nextPageToken | string | Token for the next page of a list |
previousPageToken | string | Token for the previous page of a list |
contact | json | Contact a converted lead became (id, name) |
account | json | Account a converted lead became (id, name) |
deal | json | Deal created on conversion (id, name) |
Create a deal in Zoho CRM.
| Parameter | Type | Required | Description |
|---|
dealName | string | Yes | Deal name (Deal_Name) |
stage | string | Yes | Stage picklist value, e.g. Qualification |
pipeline | string | No | Pipeline name, required when pipelines are enabled |
closingDate | string | No | Expected closing date (YYYY-MM-DD) |
amount | number | No | Amount |
accountId | string | No | ID of the account to link (Account_Name lookup) |
contactId | string | No | ID of the contact to link (Contact_Name lookup) |
description | string | No | Description |
additionalFields | json | No | Extra fields as a JSON object of field API names to values, including custom fields, e.g. {"Lead_Source":"Web","Custom_Score":80} |
skipAutomation | boolean | No | Skip workflow, approval, and blueprint rules for this write |
| Parameter | Type | Description |
|---|
id | string | ID of the created, updated, or fetched record |
code | string | Zoho result code, e.g. SUCCESS |
message | string | Zoho result message |
status | string | Zoho result status |
createdTime | string | Creation time (ISO 8601) |
modifiedTime | string | Last modified time (ISO 8601) |
createdBy | json | Creator (id, name) |
modifiedBy | json | Last modifier (id, name) |
record | json | Fetched record: field API names to values; lookups are { id, name } |
records | json | Records from a list, search, or COQL query (id plus requested fields) |
count | number | Number of records returned |
moreRecords | boolean | Whether more records are available |
page | number | Page number returned |
perPage | number | Page size used |
nextPageToken | string | Token for the next page of a list |
previousPageToken | string | Token for the previous page of a list |
contact | json | Contact a converted lead became (id, name) |
account | json | Account a converted lead became (id, name) |
deal | json | Deal created on conversion (id, name) |
Move a Zoho CRM deal to a new stage, optionally updating its pipeline.
| Parameter | Type | Required | Description |
|---|
dealId | string | Yes | ID of the deal |
stage | string | Yes | New stage picklist value, e.g. Negotiation/Review or Closed Won |
pipeline | string | No | Pipeline the stage belongs to, when pipelines are enabled |
closingDate | string | No | New closing date (YYYY-MM-DD) |
amount | number | No | New amount |
additionalFields | json | No | Extra fields as a JSON object of field API names to values, including custom fields, e.g. {"Lead_Source":"Web","Custom_Score":80} |
skipAutomation | boolean | No | Skip workflow, approval, and blueprint rules for this write |
| Parameter | Type | Description |
|---|
id | string | ID of the created, updated, or fetched record |
code | string | Zoho result code, e.g. SUCCESS |
message | string | Zoho result message |
status | string | Zoho result status |
createdTime | string | Creation time (ISO 8601) |
modifiedTime | string | Last modified time (ISO 8601) |
createdBy | json | Creator (id, name) |
modifiedBy | json | Last modifier (id, name) |
record | json | Fetched record: field API names to values; lookups are { id, name } |
records | json | Records from a list, search, or COQL query (id plus requested fields) |
count | number | Number of records returned |
moreRecords | boolean | Whether more records are available |
page | number | Page number returned |
perPage | number | Page size used |
nextPageToken | string | Token for the next page of a list |
previousPageToken | string | Token for the previous page of a list |
contact | json | Contact a converted lead became (id, name) |
account | json | Account a converted lead became (id, name) |
deal | json | Deal created on conversion (id, name) |
Log a completed call in Zoho CRM with its type, start time, duration, result, and notes, linked to a lead, contact, account, or deal.
| Parameter | Type | Required | Description |
|---|
subject | string | Yes | Call subject, e.g. Qualification call |
callType | string | Yes | Inbound, Outbound, or Missed |
callStartTime | string | Yes | Call start time in ISO 8601 with an offset, e.g. 2026-10-26T10:30:00+05:30 |
callDuration | string | Yes | Call duration in Zoho two-part format, e.g. 10:00 (Zoho documents it as HH:mm). Inbound and outbound calls cannot be 00:00. |
callResult | string | No | Outcome of the call (Call_Result), e.g. Interested or Requested call back |
callPurpose | string | No | Call purpose picklist value (Call_Purpose), e.g. Prospecting |
outboundCallStatus | string | No | Outbound call status (Outbound_Call_Status), e.g. Completed |
description | string | No | Call notes, such as an AI call summary or transcript excerpt |
relatedModule | string | No | Module of the related record: Leads, Contacts, Accounts, or Deals |
relatedRecordId | string | No | ID of the related lead, contact, account, or deal |
additionalFields | json | No | Extra fields as a JSON object of field API names to values, including custom fields, e.g. {"Lead_Source":"Web","Custom_Score":80} |
skipAutomation | boolean | No | Skip workflow, approval, and blueprint rules for this write |
| Parameter | Type | Description |
|---|
id | string | ID of the created, updated, or fetched record |
code | string | Zoho result code, e.g. SUCCESS |
message | string | Zoho result message |
status | string | Zoho result status |
createdTime | string | Creation time (ISO 8601) |
modifiedTime | string | Last modified time (ISO 8601) |
createdBy | json | Creator (id, name) |
modifiedBy | json | Last modifier (id, name) |
record | json | Fetched record: field API names to values; lookups are { id, name } |
records | json | Records from a list, search, or COQL query (id plus requested fields) |
count | number | Number of records returned |
moreRecords | boolean | Whether more records are available |
page | number | Page number returned |
perPage | number | Page size used |
nextPageToken | string | Token for the next page of a list |
previousPageToken | string | Token for the previous page of a list |
contact | json | Contact a converted lead became (id, name) |
account | json | Account a converted lead became (id, name) |
deal | json | Deal created on conversion (id, name) |
Create a follow-up task in Zoho CRM, optionally linked to a lead, contact, account, or deal.
| Parameter | Type | Required | Description |
|---|
subject | string | Yes | Task subject, e.g. Send pricing to customer |
dueDate | string | No | Due date (YYYY-MM-DD) |
status | string | No | Status picklist value, e.g. Not Started or In Progress |
priority | string | No | Priority picklist value, e.g. High |
description | string | No | Task details |
relatedModule | string | No | Module of the related record: Leads, Contacts, Accounts, or Deals |
relatedRecordId | string | No | ID of the related lead, contact, account, or deal |
additionalFields | json | No | Extra fields as a JSON object of field API names to values, including custom fields, e.g. {"Lead_Source":"Web","Custom_Score":80} |
skipAutomation | boolean | No | Skip workflow, approval, and blueprint rules for this write |
| Parameter | Type | Description |
|---|
id | string | ID of the created, updated, or fetched record |
code | string | Zoho result code, e.g. SUCCESS |
message | string | Zoho result message |
status | string | Zoho result status |
createdTime | string | Creation time (ISO 8601) |
modifiedTime | string | Last modified time (ISO 8601) |
createdBy | json | Creator (id, name) |
modifiedBy | json | Last modifier (id, name) |
record | json | Fetched record: field API names to values; lookups are { id, name } |
records | json | Records from a list, search, or COQL query (id plus requested fields) |
count | number | Number of records returned |
moreRecords | boolean | Whether more records are available |
page | number | Page number returned |
perPage | number | Page size used |
nextPageToken | string | Token for the next page of a list |
previousPageToken | string | Token for the previous page of a list |
contact | json | Contact a converted lead became (id, name) |
account | json | Account a converted lead became (id, name) |
deal | json | Deal created on conversion (id, name) |
Add a note to a Zoho CRM record such as a lead, contact, account, or deal.
| Parameter | Type | Required | Description |
|---|
parentModule | string | Yes | Module of the record the note belongs to, e.g. Leads or Deals |
parentRecordId | string | Yes | ID of the record the note belongs to |
noteContent | string | Yes | Note text |
noteTitle | string | No | Note title |
| Parameter | Type | Description |
|---|
id | string | ID of the created, updated, or fetched record |
code | string | Zoho result code, e.g. SUCCESS |
message | string | Zoho result message |
status | string | Zoho result status |
createdTime | string | Creation time (ISO 8601) |
modifiedTime | string | Last modified time (ISO 8601) |
createdBy | json | Creator (id, name) |
modifiedBy | json | Last modifier (id, name) |
record | json | Fetched record: field API names to values; lookups are { id, name } |
records | json | Records from a list, search, or COQL query (id plus requested fields) |
count | number | Number of records returned |
moreRecords | boolean | Whether more records are available |
page | number | Page number returned |
perPage | number | Page size used |
nextPageToken | string | Token for the next page of a list |
previousPageToken | string | Token for the previous page of a list |
contact | json | Contact a converted lead became (id, name) |
account | json | Account a converted lead became (id, name) |
deal | json | Deal created on conversion (id, name) |
Run a read-only COQL (SQL-like) SELECT query across Zoho CRM records. LIMIT defaults to 200 and allows at most 2,000.
| Parameter | Type | Required | Description |
|---|
query | string | Yes | COQL SELECT query, e.g. select Last_Name, Email from Leads where Lead_Status = 'Contacted' limit 0, 50 |
| Parameter | Type | Description |
|---|
count | number | Number of records returned |
moreRecords | boolean | Whether more records match; raise the LIMIT offset to read them |
Update fields on a record in any Zoho CRM module.
| Parameter | Type | Required | Description |
|---|
module | string | Yes | Module API name, e.g. Contacts, Deals, or a custom module |
recordId | string | Yes | ID of the record to update |
fields | json | Yes | Fields to change as a JSON object of field API names to values, e.g. {"Phone":"+919876543210"} |
skipAutomation | boolean | No | Skip workflow, approval, and blueprint rules for this write |
| Parameter | Type | Description |
|---|
id | string | ID of the created, updated, or fetched record |
code | string | Zoho result code, e.g. SUCCESS |
message | string | Zoho result message |
status | string | Zoho result status |
createdTime | string | Creation time (ISO 8601) |
modifiedTime | string | Last modified time (ISO 8601) |
createdBy | json | Creator (id, name) |
modifiedBy | json | Last modifier (id, name) |
record | json | Fetched record: field API names to values; lookups are { id, name } |
records | json | Records from a list, search, or COQL query (id plus requested fields) |
count | number | Number of records returned |
moreRecords | boolean | Whether more records are available |
page | number | Page number returned |
perPage | number | Page size used |
nextPageToken | string | Token for the next page of a list |
previousPageToken | string | Token for the previous page of a list |
contact | json | Contact a converted lead became (id, name) |
account | json | Account a converted lead became (id, name) |
deal | json | Deal created on conversion (id, name) |
A Trigger is a block that starts a workflow when an event happens in this service.
Trigger a workflow when Zoho CRM records are created, edited, or deleted in the chosen modules.
| Parameter | Type | Required | Description |
|---|
triggerCredentials | string | Yes | The trigger enables and renews a notification channel in this Zoho CRM org. |
triggerModules | string | No | Modules whose record changes start the workflow. |
triggerCustomModules | string | No | API names of custom modules to watch as well. |
triggerOperations | string | Yes | Which record changes start the workflow. |
| Parameter | Type | Description |
|---|
module | string | Module API name of the changed records, e.g. Leads |
operation | string | Operation Zoho reports for the change, e.g. insert |
recordIds | json | IDs of the changed records (array of strings) |
recordId | string | ID of the first changed record |
channelId | string | Zoho notification channel ID |
serverTime | number | Zoho server time of the change (epoch ms) |
resourceUri | string | API URL of the module |
affectedFields | json | Fields Zoho reports as changed (empty unless Zoho includes them) |