enhancementgood first issueintegrationnew-featurenew-integration
Repository metrics
- Stars
- (1,930 stars)
- PR merge metrics
- (PR metrics pending)
Description
Description
Add Close CRM integration to sync leads, contacts, opportunities, activities (calls, emails, notes), and sales pipeline data into CORE.
Reference Implementations
Existing Integrations (use as templates)
integrations/hubspot/- Similar CRM systemintegrations/linear/- Project management integrationintegrations/slack/- For reference
Required Files Structure
integrations/close-crm/
├── src/
│ ├── index.ts # Main entry, OAuth spec
│ ├── schedule.ts # Sync logic
│ ├── utils.ts # Close CRM API utilities
│ ├── account-create.ts # OAuth/API key setup
│ └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md
Close CRM API Integration
Authentication Setup
- Use OAuth 2.0 for public applications (recommended for integrations)
- API Key authentication via HTTP Basic Auth (suitable for internal scripts)
- API keys generated in Close settings
Key Endpoints
GET /api/v1/lead/- List leadsPOST /api/v1/lead/- Create a leadGET /api/v1/lead/{id}/- Get lead detailsPUT /api/v1/lead/{id}/- Update a leadGET /api/v1/contact/- List contactsGET /api/v1/opportunity/- List opportunitiesGET /api/v1/activity/- List activities (calls, emails, notes, meetings)GET /api/v1/activity/call/- List call activitiesGET /api/v1/activity/email/- List email activitiesGET /api/v1/activity/note/- List note activitiesGET /api/v1/activity/meeting/- List meeting activitiesGET /api/v1/pipeline/- List sales pipelinesGET /api/v1/status/lead/- List lead statusesGET /api/v1/custom_field/lead/- List custom fieldsGET /api/v1/user/- List users/team members
Events to Track
- Lead Management - New leads created, lead status changes, lead assignments
- Activities - Calls logged, emails sent/received, notes added, meetings scheduled
- Opportunities - New opportunities, stage changes, won/lost deals
- Pipeline Updates - Pipeline stage movements, deal value changes
- Contact Updates - New contacts added, contact information changes
Implementation Tasks
- Set up basic integration structure following
integrations/github/src/index.tspattern - Implement OAuth 2.0 authentication flow in
account-create.ts - Create API utilities in
utils.tswith pagination support - Implement sync logic in
schedule.tsfor leads, activities, and opportunities - Convert CRM events to CORE activity format
- Add error handling and rate limiting
- Create integration documentation
- Add to
integrations/README.md
Technical Notes
- Close API follows REST conventions with standard HTTP methods
- Uses predictable URL structures:
/api/v1/{resource}/ - Supports cursor-based pagination for large datasets
- Custom fields can be defined for leads, contacts, opportunities, and activities
- Webhooks are available for real-time event notifications
- API keys use HTTP Basic Auth with the API key as the username and empty password
Resources
Labels
enhancement, integration, new-feature