zoho-crm-automation
Original:🇺🇸 English
Not Translated
Automate Zoho CRM tasks via Rube MCP (Composio): create/update records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.
4installs
Added on
NPX Install
npx skill4agent add sickn33/antigravity-awesome-skills zoho-crm-automationSKILL.md Content
Zoho CRM Automation via Rube MCP
Automate Zoho CRM operations through Composio's Zoho toolkit via Rube MCP.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Zoho CRM connection via with toolkit
RUBE_MANAGE_CONNECTIONSzoho - Always call first to get current tool schemas
RUBE_SEARCH_TOOLS
Setup
Get Rube MCP: Add as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
https://rube.app/mcp- Verify Rube MCP is available by confirming responds
RUBE_SEARCH_TOOLS - Call with toolkit
RUBE_MANAGE_CONNECTIONSzoho - If connection is not ACTIVE, follow the returned auth link to complete Zoho OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Search and Retrieve Records
When to use: User wants to find specific CRM records by criteria
Tool sequence:
- - List available CRM modules [Prerequisite]
ZOHO_LIST_MODULES - - Get field definitions for a module [Optional]
ZOHO_GET_MODULE_FIELDS - - Search records by criteria [Required]
ZOHO_SEARCH_ZOHO_RECORDS - - Get records from a module [Alternative]
ZOHO_GET_ZOHO_RECORDS
Key parameters:
- : Module name (e.g., 'Leads', 'Contacts', 'Deals', 'Accounts')
module - : Search criteria string (e.g., 'Email:equals:john@example.com')
criteria - : Comma-separated list of fields to return
fields - : Number of records per page
per_page - : Page number for pagination
page
Pitfalls:
- Module names are case-sensitive (e.g., 'Leads' not 'leads')
- Search criteria uses specific syntax: 'Field:operator:value'
- Supported operators: equals, starts_with, contains, not_equal, greater_than, less_than
- Complex criteria use parentheses and AND/OR: '(Email:equals:john@example.com)AND(Last_Name:equals:Doe)'
- GET_ZOHO_RECORDS returns all records with optional filtering; SEARCH is for targeted lookups
2. Create Records
When to use: User wants to add new leads, contacts, deals, or other CRM records
Tool sequence:
- - Get required fields for the module [Prerequisite]
ZOHO_GET_MODULE_FIELDS - - Create a new record [Required]
ZOHO_CREATE_ZOHO_RECORD
Key parameters:
- : Target module name (e.g., 'Leads', 'Contacts')
module - : Record data object with field-value pairs
data - Required fields vary by module (e.g., Last_Name for Contacts)
Pitfalls:
- Each module has mandatory fields; use GET_MODULE_FIELDS to identify them
- Field names use underscores (e.g., 'Last_Name', 'Email', 'Phone')
- Lookup fields require the related record ID, not the name
- Date fields must use 'yyyy-MM-dd' format
- Creating duplicates is allowed unless duplicate check rules are configured
3. Update Records
When to use: User wants to modify existing CRM records
Tool sequence:
- - Find the record to update [Prerequisite]
ZOHO_SEARCH_ZOHO_RECORDS - - Update the record [Required]
ZOHO_UPDATE_ZOHO_RECORD
Key parameters:
- : Module name
module - : ID of the record to update
record_id - : Object with fields to update (only changed fields needed)
data
Pitfalls:
- record_id must be the Zoho record ID (numeric string)
- Only provide fields that need to change; other fields are preserved
- Read-only and system fields cannot be updated
- Lookup field updates require the related record ID
4. Convert Leads
When to use: User wants to convert a lead into a contact, account, and/or deal
Tool sequence:
- - Find the lead to convert [Prerequisite]
ZOHO_SEARCH_ZOHO_RECORDS - - Convert the lead [Required]
ZOHO_CONVERT_ZOHO_LEAD
Key parameters:
- : ID of the lead to convert
lead_id - : Deal details if creating a deal during conversion
deal - : Account details for the conversion
account - : Contact details for the conversion
contact
Pitfalls:
- Lead conversion is irreversible; the lead record is removed from the Leads module
- Conversion can create up to three records: Contact, Account, and Deal
- Existing account matching may occur based on company name
- Custom field mappings between Lead and Contact/Account/Deal modules affect the outcome
5. Manage Tags and Related Records
When to use: User wants to tag records or manage relationships between records
Tool sequence:
- - Create a new tag [Optional]
ZOHO_CREATE_ZOHO_TAG - - Update related/linked records [Optional]
ZOHO_UPDATE_RELATED_RECORDS
Key parameters:
- : Module for the tag
module - : Name of the tag
tag_name - : Parent record ID (for related records)
record_id - : Module of the related record
related_module - : Related record data to update
data
Pitfalls:
- Tags are module-specific; a tag created for Leads is not available in Contacts
- Related records require both the parent record ID and the related module
- Tag names must be unique within a module
- Bulk tag operations may hit rate limits
Common Patterns
Module and Field Discovery
1. Call ZOHO_LIST_MODULES to get all available modules
2. Call ZOHO_GET_MODULE_FIELDS with module name
3. Identify required fields, field types, and picklist values
4. Use field API names (not display labels) in data objectsSearch Criteria Syntax
Simple search:
criteria: '(Email:equals:john@example.com)'Combined criteria:
criteria: '((Last_Name:equals:Doe)AND(Email:contains:example.com))'Supported operators:
- ,
equalsnot_equal - ,
starts_withcontains - ,
greater_than,less_than,greater_equalless_equal - (for dates/numbers)
between
Pagination
- Set (max 200) and
per_pagestarting at 1page - Check response flag
info.more_records - Increment page until more_records is false
- Total count available in response info
Known Pitfalls
Field Names:
- Use API names, not display labels (e.g., 'Last_Name' not 'Last Name')
- Custom fields have API names like 'Custom_Field1' or user-defined names
- Picklist values must match exactly (case-sensitive)
Rate Limits:
- API call limits depend on your Zoho CRM plan
- Free plan: 5000 API calls/day; Enterprise: 25000+/day
- Implement delays between bulk operations
- Monitor 429 responses and respect rate limit headers
Data Formats:
- Dates: 'yyyy-MM-dd' format
- DateTime: 'yyyy-MM-ddTHH:mm:ss+HH:mm' format
- Currency: Numeric values without formatting
- Phone: String values (no specific format enforced)
Module Access:
- Access depends on user role and profile permissions
- Some modules may be hidden or restricted in your CRM setup
- Custom modules have custom API names
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| List modules | ZOHO_LIST_MODULES | (none) |
| Get module fields | ZOHO_GET_MODULE_FIELDS | module |
| Search records | ZOHO_SEARCH_ZOHO_RECORDS | module, criteria |
| Get records | ZOHO_GET_ZOHO_RECORDS | module, fields, per_page, page |
| Create record | ZOHO_CREATE_ZOHO_RECORD | module, data |
| Update record | ZOHO_UPDATE_ZOHO_RECORD | module, record_id, data |
| Convert lead | ZOHO_CONVERT_ZOHO_LEAD | lead_id, deal, account, contact |
| Create tag | ZOHO_CREATE_ZOHO_TAG | module, tag_name |
| Update related records | ZOHO_UPDATE_RELATED_RECORDS | module, record_id, related_module, data |