Zoho CRM API
Manage contacts, leads, accounts, deals and other CRM data with Zoho CRM’s comprehensive customer relationship management platform.
Overview
The Zoho CRM skill provides comprehensive functionality for:
- Managing contacts and their detailed information
- Creating and tracking leads through the sales pipeline
- Handling deals and opportunities
- Managing user accounts and permissions
- Searching and filtering CRM data
- Performing CRUD operations on all CRM entities
Connection Requirements
This skill requires a Zoho CRM connection configured through:
- PinkConnect Proxy: PC_BASE_URL + “crm/v2/”
- Authentication: Handled automatically by the proxy
- API Version: Uses CRM API v2
Basic Usage
// Get all contacts
GET: contacts
// Create a new contact
POST: contacts
{
"data": [
{
"First_Name": "John",
"Last_Name": "Doe",
"Email": "john.doe@example.com"
}
]
}
Key Features
- List Contacts: Retrieve all contacts with pagination
- Contact Details: Get detailed information for specific contacts
- Create Contacts: Add new contacts with complete information
- Update Contacts: Modify existing contact details
- Search Contacts: Find contacts using various criteria
Lead Management
- Lead Tracking: Monitor leads through the sales pipeline
- Lead Status: Track qualification and conversion status
- Lead Sources: Identify where leads originated
- Lead Assignment: Assign leads to sales representatives
Deal Management
- Opportunity Tracking: Monitor sales opportunities and deals
- Deal Stages: Track deals through sales pipeline stages
- Revenue Forecasting: Manage expected revenue and closing dates
- Deal Association: Link deals to contacts and accounts
Common Operations
GET: contacts/{contactId}
POST: contacts
{
"data": [
{
"First_Name": "Jane",
"Last_Name": "Smith",
"Email": "jane.smith@example.com",
"Phone": "+1 555-987-6543",
"Mailing_Street": "456 Oak Ave",
"Mailing_City": "New York",
"Mailing_State": "NY",
"Mailing_Zip": "10001",
"Title": "CTO"
}
],
"trigger": ["approval", "workflow", "blueprint"]
}
PUT: contacts/{contactId}
{
"data": [
{
"Phone": "+1 555-111-2222",
"Title": "VP of Engineering",
"Mailing_City": "San Francisco"
}
],
"trigger": ["approval", "workflow", "blueprint"]
}
GET: contacts/search?criteria=(Email:equals:jane.smith@example.com)
Response Structures
{
"output": {
"data": [
{
"id": "123456789",
"First_Name": "John",
"Last_Name": "Doe",
"Email": "john.doe@example.com",
"Phone": "+1 555-123-4567",
"Account_Name": {
"id": "987654321",
"name": "Example Company"
},
"Owner": {
"id": "112233445",
"name": "Sales Rep"
},
"Created_Time": "2023-01-15T10:30:00-08:00",
"Modified_Time": "2023-02-20T14:45:00-08:00"
}
],
"info": {
"per_page": 200,
"count": 15,
"page": 1,
"more_records": false
}
}
}
Create/Update Response
{
"output": {
"data": [
{
"code": "SUCCESS",
"details": {
"id": "456789123",
"Created_Time": "2023-03-10T09:15:00-08:00",
"Modified_Time": "2023-03-10T09:15:00-08:00",
"Created_By": {
"id": "112233445",
"name": "Sales Rep"
},
"Modified_By": {
"id": "112233445",
"name": "Sales Rep"
}
},
"message": "record added",
"status": "success"
}
]
}
}
Lead Management
Get All Leads
Lead Response Structure
{
"output": {
"data": [
{
"id": "334455667",
"First_Name": "Michael",
"Last_Name": "Johnson",
"Email": "michael.johnson@example.com",
"Phone": "+1 555-222-3333",
"Company": "Prospect Inc",
"Lead_Status": "Qualified",
"Lead_Source": "Website",
"Owner": {
"id": "112233445",
"name": "Sales Rep"
},
"Created_Time": "2023-02-05T13:20:00-08:00",
"Modified_Time": "2023-02-10T09:45:00-08:00"
}
],
"info": {
"per_page": 200,
"count": 10,
"page": 1,
"more_records": false
}
}
}
Deal Management
Create New Deal
POST: deals
{
"data": [
{
"Deal_Name": "New Enterprise License",
"Account_Name": {
"id": "987654321"
},
"Stage": "Qualification",
"Amount": 50000,
"Closing_Date": "2023-06-30",
"Contact_Name": {
"id": "456789123"
},
"Pipeline": "Standard",
"Expected_Revenue": 45000,
"Description": "Enterprise license deal with Example Company"
}
],
"trigger": ["approval", "workflow", "blueprint"]
}
User Management
Get Users
User Response Structure
{
"output": {
"users": [
{
"id": "6421284000000479001",
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com",
"role": {
"name": "Sales Manager",
"id": "6421284000000026005"
},
"profile": {
"name": "Administrator",
"id": "6421284000000026011"
},
"status": "active",
"created_time": "2024-09-07T05:27:36-07:00",
"time_zone": "America/Los_Angeles"
}
],
"info": {
"per_page": 200,
"count": 1,
"page": 1,
"more_records": false
}
}
}
Search and Filtering
Search Criteria
// Email search
GET: contacts/search?criteria=(Email:equals:john@example.com)
// Multiple criteria
GET: contacts/search?criteria=((First_Name:equals:John)and(Last_Name:equals:Doe))
// Date range search
GET: deals/search?criteria=(Created_Time:between:2023-01-01T00:00:00-08:00,2023-12-31T23:59:59-08:00)
Search Operators
- equals: Exact match
- contains: Partial match
- starts_with: Begins with specified value
- between: Range search (for dates and numbers)
- greater_than: Greater than specified value
- less_than: Less than specified value
Data Management
Triggers
{
"trigger": ["approval", "workflow", "blueprint"]
}
Trigger Types
- approval: Trigger approval processes
- workflow: Execute workflow rules
- blueprint: Run blueprint transitions
{
"info": {
"per_page": 200, // Records per page
"count": 15, // Records in current response
"page": 1, // Current page number
"more_records": false // Whether more pages exist
}
}
Important Notes
- API Version: Uses Zoho CRM API v2
- Rate Limits: Respect Zoho CRM API rate limits
- Time Zones: All timestamps include timezone information
- Required Fields: Some fields may be required based on your CRM configuration
- Custom Fields: Support for custom fields specific to your organization
- Bulk Operations: Can create/update multiple records in single requests
Best Practices
- Data Validation: Validate required fields before creating records
- Error Handling: Check response status and handle errors appropriately
- Pagination: Handle paginated responses for large datasets
- Search Optimization: Use specific search criteria to improve performance
- Bulk Operations: Use bulk operations for multiple record operations
- Field Mapping: Understand your CRM’s field configuration and requirements
- Trigger Management: Use appropriate triggers for business process automation
- Rate Limiting: Implement appropriate delays between API calls
Responses are generated using AI and may contain mistakes.