| name | zoho |
| description | Zoho CRM API integration with managed OAuth. Create and update records, search contacts and deals, manage leads, tags, attachments, and module metadata. Use this skill when users want to manage CRM records, search leads and contacts, convert leads, organize data with tags, or discover module schemas. |
Zoho CRM

Unified Zoho CRM suite from chat -- manage leads, contacts, deals, accounts, custom modules, tags, attachments, and record relationships.
Powered by ClawLink, an integration hub for OpenClaw that handles hosted OAuth flows and credentials so you don't need to configure Zoho CRM API access yourself.
Setup in 3 Steps
| Step 1: Install | Step 2: Pair Account | Step 3: Connect Zoho CRM |
|---|
 |  | App-specific connection GIF coming soon |
| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Zoho CRM |
How It Works
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ OpenClaw │────▶│ ClawLink │────▶│ Zoho CRM API │
│ (User Chat) │ │ (OAuth) │ │ │
└─────────────────┘ └──────────────┘ └──────────────────┘
Install
openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
Quick Start
- Discover modules:
zoho_list_modules -- see all available CRM modules including custom ones.
- Get records:
zoho_get_zoho_records -- retrieve records from any module (Leads, Contacts, Deals, etc.).
- Search records:
zoho_search_zoho_records -- find specific records by criteria, email, or keyword.
Authentication
Zoho CRM uses managed OAuth via ClawLink. No API keys needed. Connect your Zoho account at claw-link.dev/dashboard?add=zoho and authorize access through the hosted flow.
Connection Management
List connections: clawlink_list_integrations -- confirm Zoho is connected.
Verify: Call zoho_list_modules to test access.
Reconnect: If you see auth errors, reconnect at claw-link.dev/dashboard?add=zoho.
Security & Permissions
Read operations (list records, search, get metadata) run safely. Write operations (create, update, convert) require confirmation. Bulk operations may partially succeed -- inspect each item's status field.
Tool Reference
Record Operations
| Tool | Description | Mode |
|---|
zoho_get_zoho_records | Retrieve records from a module with pagination | Read |
zoho_search_zoho_records | Search records by criteria, email, phone, or keyword | Read |
zoho_create_zoho_record | Create new records in a module (supports bulk, up to 100) | Write |
zoho_update_zoho_record | Update existing records (up to 100 per call, id required) | Write |
zoho_convert_zoho_lead | Convert a lead into a contact, account, and optionally a deal | Write |
Module Metadata Operations
| Tool | Description | Mode |
|---|
zoho_list_modules | List all available modules (standard + custom) | Read |
zoho_get_module_fields | Get field metadata (names, types, picklists) for a module | Read |
Related Records Operations
| Tool | Description | Mode |
|---|
zoho_get_related_lists | Get related list metadata for a module | Read |
zoho_get_related_records | Fetch related records (Notes, Attachments, Emails) for a parent record | Read |
zoho_update_related_records | Associate or update relationships between records | Write |
Tag Operations
| Tool | Description | Mode |
|---|
zoho_create_zoho_tag | Create a new tag for a module (up to 100 tags per module) | Write |
Attachment Operations
| Tool | Description | Mode |
|---|
zoho_list_record_attachments | List attachment metadata for a record | Read |
zoho_upload_attachment | Upload a file or URL attachment to a record | Write |
User Operations
| Tool | Description | Mode |
|---|
zoho_get_zoho_users | Retrieve users with IDs, names, emails, roles | Read |
Code Examples
List modules to discover available slugs
{ "tool": "zoho_list_modules" }
Search contacts by email
{
"tool": "zoho_search_zoho_records",
"args": {
"module_api_name": "Contacts",
"email": "john@example.com"
}
}
Create a new lead
{
"tool": "zoho_create_zoho_record",
"args": {
"module_api_name": "Leads",
"data": [{ "Last_Name": "Smith", "Company": "Acme Corp", "Email": "smith@acme.com" }]
}
}
Get field metadata for a module
{
"tool": "zoho_get_module_fields",
"args": { "module_api_name": "Deals" }
}
Discovery Workflow
- Call
clawlink_list_integrations to confirm zoho is connected.
- Call
clawlink_list_tools --integration zoho to see the live catalog.
- Call
zoho_list_modules to discover module API names.
- Call
zoho_get_module_fields to learn correct field names before creating/updating records.
Execution Workflow
Read Flow: User asks for records → clawlink resolves connection → Zoho CRM API → results displayed
Write Flow: User wants to create lead → confirmation prompt → clawlink resolves connection → Zoho CRM API → record created
Notes
- Always use field API names (not display names) for create/update operations. Use
zoho_get_module_fields to discover them.
- Discrete pagination is limited to the first 2,000 records. Use
page_token for records beyond that.
- Bulk operations may partially succeed. Inspect each item's
status field in the response.
- Related record associations may silently succeed without creating the relationship if IDs don't match exactly.
- Each module can have up to 100 tags; each record can have up to 10 tags.
Related Skills
- Zoho Bigin (
zoho-bigin) -- Small business CRM
- Zoho Desk (
zoho-desk) -- Customer support
- Zoho Inventory (
zoho-inventory) -- Stock and order management
- Zoho Invoice (
zoho-invoice) -- Invoicing and billing
- Zoho Mail (
zoho-mail) -- Business email
Error Handling
| Status / Error | Meaning |
|---|
| 401 Unauthorized | Token expired; reconnect at the dashboard |
| INVALID_MODULE | Module API name is incorrect; use zoho_list_modules |
| INVALID_DATA | Field API names or values are incorrect; use zoho_get_module_fields |
| 400 Bad Request | Missing required fields or malformed data |
Troubleshooting
Tools Not Visible
Run openclaw gateway restart after installing the plugin. Start a fresh chat session.
INVALID_MODULE Errors
Use zoho_list_modules to discover correct module API names, especially for custom modules.
INVALID_DATA Errors
Use zoho_get_module_fields to verify correct field API names and data types before creating or updating records.
Resources
Powered by ClawLink -- an integration hub for OpenClaw
