enhancementgood first issueintegrationnew-featurenew-integration
仓库指标
- 星标
- (1,930 个星标)
- PR 合并指标
- (PR 指标待抓取)
描述
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