Skip to main content

Zoho CRM

Let agents work a Zoho CRM: find and upsert contacts and accounts, link them together, attach notes, log task activities, and reach into any other module with the generic record tools.

Every tool on this page requires a Zoho CRM connector (see Connectors); pass its ID as connectorId. Zoho identifies everything by module (Contacts, Accounts, Deals, Leads, ...) and record ID, and field names use Zoho's API names with underscores (First_Name, Account_Name). The search tools paginate with limit (default 20, max 200 per page) and a 1-based page number.

Search contacts TOOLZOHO_CRM_SEARCH_CONTACTS​

Searches the Contacts module. query is a free-text word search across the record; the optional email, phone, and lastName filters do exact criteria matching when the agent already knows a specific attribute. Returns matching contacts with their Zoho record IDs for use in the get, note, and task tools.

Example​

Tool config
{
"toolType": "ZOHO_CRM_SEARCH_CONTACTS",
"connectorId": "V1StGXR8Z5",
"query": "@@{CONTACT_NAME}",
"email": "@@{CONTACT_EMAIL}",
"limit": 20
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    query
    Type
    string
    Description
    Free-text search (maps to Zoho criteria word search)
  • Name
    email
    Type
    string · optional
    Description
    Optional: filter by email
  • Name
    phone
    Type
    string · optional
    Description
    Optional: filter by phone
  • Name
    lastName
    Type
    string · optional
    Description
    Optional: filter by last name
  • Name
    limit
    Type
    integer · optional
    Description
    Optional: max results per page (default 20, max 200)
  • Name
    page
    Type
    integer · optional
    Description
    Optional: page number (1-based)

Get a contact TOOLZOHO_CRM_GET_CONTACT​

Fetches a single contact by its Zoho record ID. By default the full record comes back; set fields to a comma-separated list of API field names to trim the response to just what the agent needs.

Example​

Tool config
{
"toolType": "ZOHO_CRM_GET_CONTACT",
"connectorId": "V1StGXR8Z5",
"contactId": "@@{ZOHO_CONTACT_ID}",
"fields": "First_Name,Last_Name,Email,Phone,Account_Name"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    contactId
    Type
    string
    Description
    Zoho record ID of the contact
  • Name
    fields
    Type
    string · optional
    Description
    Optional: comma-separated field names to return

Upsert a contact TOOLZOHO_CRM_UPSERT_CONTACT​

Creates a contact, or updates an existing one when duplicateCheckFields is set and a record matches on those fields — checking ["Email"] is the usual choice. fields is an object of Zoho API field names to values. The response reports whether the record was inserted or updated, along with its Zoho record ID.

Example​

Tool config
{
"toolType": "ZOHO_CRM_UPSERT_CONTACT",
"connectorId": "V1StGXR8Z5",
"fields": {
"First_Name": "@@{FIRST_NAME}",
"Last_Name": "@@{LAST_NAME}",
"Email": "@@{CONTACT_EMAIL}",
"Phone": "@@{CONTACT_PHONE}"
},
"duplicateCheckFields": ["Email"]
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    fields
    Type
    object
    Description
    Contact field values (e.g. First_Name, Last_Name, Email, Phone)
  • Name
    duplicateCheckFields
    Type
    array<string> · optional
    Description
    Optional: fields to check for duplicates (e.g. ["Email"])

Search accounts TOOLZOHO_CRM_SEARCH_ACCOUNTS​

Searches the Accounts module by free-text query, with an optional accountName filter for matching on the company name specifically. Use it to resolve a company name to the account record ID before linking contacts or logging activity against the account.

Example​

Tool config
{
"toolType": "ZOHO_CRM_SEARCH_ACCOUNTS",
"connectorId": "V1StGXR8Z5",
"query": "@@{COMPANY_NAME}",
"limit": 20
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    query
    Type
    string
    Description
    Free-text search
  • Name
    accountName
    Type
    string · optional
    Description
    Optional: filter by account/company name
  • Name
    limit
    Type
    integer · optional
    Description
    Optional: max results per page (default 20, max 200)
  • Name
    page
    Type
    integer · optional
    Description
    Optional: page number (1-based)

Get an account TOOLZOHO_CRM_GET_ACCOUNT​

Fetches a single account by its Zoho record ID, optionally restricted to a comma-separated list of fields.

Example​

Tool config
{
"toolType": "ZOHO_CRM_GET_ACCOUNT",
"connectorId": "V1StGXR8Z5",
"accountId": "@@{ZOHO_ACCOUNT_ID}",
"fields": "Account_Name,Phone,Website,Industry"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    accountId
    Type
    string
    Description
    Zoho record ID of the account
  • Name
    fields
    Type
    string · optional
    Description
    Optional: comma-separated field names to return

Upsert an account TOOLZOHO_CRM_UPSERT_ACCOUNT​

Creates or updates an account, deduplicating on duplicateCheckFields — typically ["Account_Name"]. Works the same way as the contact upsert: fields carries the Zoho API field values, and the response says whether the account was inserted or updated.

Example​

Tool config
{
"toolType": "ZOHO_CRM_UPSERT_ACCOUNT",
"connectorId": "V1StGXR8Z5",
"fields": {
"Account_Name": "@@{COMPANY_NAME}",
"Website": "@@{COMPANY_WEBSITE}",
"Phone": "@@{COMPANY_PHONE}"
},
"duplicateCheckFields": ["Account_Name"]
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    fields
    Type
    object
    Description
    Account field values (e.g. Account_Name, Phone, Website)
  • Name
    duplicateCheckFields
    Type
    array<string> · optional
    Description
    Optional: fields to check for duplicates (e.g. ["Account_Name"])

Add contact to account TOOLZOHO_CRM_ADD_CONTACT_TO_ACCOUNT​

Links an existing contact to an existing account by setting the contact's Account_Name lookup to the account. Both records must already exist — pair this with the upsert tools when building out a new company and its people.

Example​

Tool config
{
"toolType": "ZOHO_CRM_ADD_CONTACT_TO_ACCOUNT",
"connectorId": "V1StGXR8Z5",
"contactId": "@@{ZOHO_CONTACT_ID}",
"accountId": "@@{ZOHO_ACCOUNT_ID}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    contactId
    Type
    string
    Description
    Zoho record ID of the contact
  • Name
    accountId
    Type
    string
    Description
    Zoho record ID of the account to link to

Add a note TOOLZOHO_CRM_ADD_NOTE​

Attaches a text note to any record — pass the parentModule (e.g. "Contacts", "Accounts") and the parent's record ID. Handy for agents that summarize a call or conversation and file the summary on the CRM record.

Example​

Tool config
{
"toolType": "ZOHO_CRM_ADD_NOTE",
"connectorId": "V1StGXR8Z5",
"parentModule": "Contacts",
"parentId": "@@{ZOHO_CONTACT_ID}",
"noteTitle": "Call summary",
"noteContent": "@@{CALL_SUMMARY}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    parentModule
    Type
    string
    Description
    Module the note is attached to (e.g. "Contacts", "Accounts")
  • Name
    parentId
    Type
    string
    Description
    Zoho record ID of the parent record
  • Name
    noteTitle
    Type
    string · optional
    Description
    Optional: title of the note
  • Name
    noteContent
    Type
    string
    Description
    Content/body of the note

Log a task TOOLZOHO_CRM_LOG_TASK​

Creates a Tasks record associated with a contact or account — the CRM-native way to log an activity like "Trade Show Visit" or a follow-up reminder. status is a Zoho task status such as "Not Started", "In Progress", or "Completed", and dueDate (YYYY-MM-DD) is optional.

Example​

Tool config
{
"toolType": "ZOHO_CRM_LOG_TASK",
"connectorId": "V1StGXR8Z5",
"subject": "Follow up after demo",
"status": "Not Started",
"description": "@@{FOLLOW_UP_NOTES}",
"relatedModule": "Contacts",
"relatedRecordId": "@@{ZOHO_CONTACT_ID}",
"dueDate": "@@{DUE_DATE}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    subject
    Type
    string
    Description
    Task subject/title (e.g. "Trade Show Visit")
  • Name
    status
    Type
    string
    Description
    Task status (e.g. "Not Started", "In Progress", "Completed")
  • Name
    description
    Type
    string · optional
    Description
    Optional: task description/notes
  • Name
    relatedModule
    Type
    string
    Description
    Module to associate with (e.g. "Contacts", "Accounts")
  • Name
    relatedRecordId
    Type
    string
    Description
    Zoho record ID to associate this task with
  • Name
    dueDate
    Type
    string · optional
    Description
    Optional: due date in YYYY-MM-DD format

Get a record TOOLZOHO_CRM_GET_RECORD​

Fetches any record from any module by ID — the escape hatch for modules without a dedicated tool, such as Deals, Leads, or custom modules. Returns the full record.

Example​

Tool config
{
"toolType": "ZOHO_CRM_GET_RECORD",
"connectorId": "V1StGXR8Z5",
"module": "Deals",
"recordId": "@@{ZOHO_DEAL_ID}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    module
    Type
    string
    Description
    Zoho CRM module (e.g. "Contacts", "Accounts", "Deals", "Leads")
  • Name
    recordId
    Type
    string
    Description
    Zoho record ID

Search records TOOLZOHO_CRM_SEARCH_RECORDS​

Searches any module with Zoho's criteria syntax — e.g. (Email:equals:jane@example.com) or (Account_Name:starts_with:Acme) — or plain text, which falls back to a word search. Use it whenever the dedicated contact and account search tools don't cover the module or the filter you need.

Example​

Tool config
{
"toolType": "ZOHO_CRM_SEARCH_RECORDS",
"connectorId": "V1StGXR8Z5",
"module": "Leads",
"criteria": "(Email:equals:@@{LEAD_EMAIL})",
"limit": 20
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    module
    Type
    string
    Description
    Zoho CRM module (e.g. "Contacts", "Accounts", "Deals", "Leads")
  • Name
    criteria
    Type
    string · optional
    Description
    Optional: Zoho search criteria (e.g. "(Email:equals:test)") or free-text word search
  • Name
    limit
    Type
    integer · optional
    Description
    Optional: max results per page (default 20, max 200)
  • Name
    page
    Type
    integer · optional
    Description
    Optional: page number (1-based)