enhancementgood first issueintegrationnew-featurenew-integration
Repository metrics
- Stars
- (1,930 stars)
- PR merge metrics
- (Avg merge 3h 2m) (10 merged PRs in 30d)
Description
Description
Add Zoho CRM integration to sync leads, contacts, accounts, deals, and CRM activity into CORE.
Reference Implementations
Existing Integrations (use as templates)
integrations/hubspot/- Similar CRM integrationintegrations/zoho-mail/- Existing Zoho product integration (reuse OAuth patterns)integrations/linear/- For reference
Required Files Structure
integrations/zoho-crm/
├── src/
│ ├── index.ts # Main entry, OAuth spec
│ ├── schedule.ts # Sync logic
│ ├── utils.ts # Zoho CRM API utilities
│ ├── account-create.ts # OAuth setup
│ └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md
Zoho CRM API Integration
OAuth Setup
- Use OAuth 2.0 for authentication (same pattern as existing
integrations/zoho-mail/) - Zoho CRM API v7 is the latest version
- Base URL varies by data center domain (
.com,.eu,.in,.com.au,.jp, etc.)
Key Endpoints
GET /crm/v7/Leads- List and manage leadsGET /crm/v7/Contacts- List and manage contactsGET /crm/v7/Accounts- List and manage accounts/companiesGET /crm/v7/Deals- List and manage deals/opportunitiesGET /crm/v7/Tasks- List and manage tasksGET /crm/v7/Events- List and manage calendar eventsGET /crm/v7/Calls- List and manage call logsGET /crm/v7/Notes- List and manage notesGET /crm/v7/users- List usersGET /crm/v7/settings/modules- List available modules- Feature-specific Info API for module metadata
SDK Support
- Official SDKs for Node.js, JavaScript, C#, Ruby, and more for v7
Events to Track
- Leads - Lead created, updated, converted, status changed
- Contacts - Contact created, updated, merged
- Deals - Deal created, stage changed, won, lost, amount updated
- Accounts - Account created, updated
- Tasks - Task created, completed, assigned
- Events - Calendar event created, updated
- Calls - Call logged, scheduled
- Notes - Note created, updated on records
Implementation Tasks
- Set up basic integration structure following
integrations/github/src/index.tspattern - Implement OAuth 2.0 flow in
account-create.ts(reference existingintegrations/zoho-mail/for Zoho OAuth patterns) - Create API utilities in
utils.tsfor v7 API with multi-domain support - Implement sync logic in
schedule.tsfor leads, contacts, deals, and accounts - Set up webhook/notification handling for real-time CRM events
- Convert Zoho CRM events to CORE activity format
- Add error handling and rate limiting
- Create integration documentation
- Add to
integrations/README.md
Technical Notes
- Existing
integrations/zoho-mail/can be referenced for Zoho OAuth 2.0 patterns and domain handling - Zoho CRM API v7 is the latest version with improved documentation and SDK support
- Must handle multiple Zoho data center domains (similar to Zoho Invoice)
- Official SDKs available for Node.js (
zohocrm-nodejs-sdk-7.0) and JavaScript (zohocrm-javascript-sdk-7.0) - V7 APIs include enhanced documentation with detailed guides, code examples, and best practices
- Module-based architecture -- each CRM module (Leads, Contacts, Deals, etc.) follows similar API patterns
Resources
- Zoho CRM Developer Resources
- Zoho CRM API Directory
- Zoho CRM V7 APIs Announcement
- Zoho CRM Node.js SDK v7 (GitHub)
- Zoho CRM JavaScript SDK v7 (GitHub)
- Zoho CRM Feature-specific Info API
Labels
enhancement, integration, new-feature