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 Mailchimp integration to sync email campaigns, audience data, automation workflows, and campaign analytics into CORE.
Reference Implementations
Existing Integrations (use as templates)
integrations/github/- OAuth-based API integrationintegrations/linear/- Project management integrationintegrations/slack/- For reference
Required Files Structure
integrations/mailchimp/
├── src/
│ ├── index.ts # Main entry, OAuth spec
│ ├── schedule.ts # Sync logic
│ ├── utils.ts # Mailchimp API utilities
│ ├── account-create.ts # OAuth setup
│ └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md
Mailchimp Marketing API Integration
OAuth Setup
- Use OAuth 2.0 Authorization Code flow
- API Version: 3.0 (v2.0 is deprecated)
- Base URL varies by data center:
https://<dc>.api.mailchimp.com/3.0/ - Alternative: API Key authentication (simpler but less secure)
- Required scopes determined during OAuth app registration
Key Endpoints
GET /campaigns- List all campaignsGET /campaigns/{campaign_id}- Get campaign detailsGET /campaigns/{campaign_id}/send-checklist- Pre-send checklistPOST /campaigns/{campaign_id}/actions/send- Send a campaignGET /lists- List audiences/listsGET /lists/{list_id}/members- List audience membersGET /automations- List automation workflowsGET /reports- List campaign reportsGET /reports/{campaign_id}- Get detailed campaign analyticsGET /reports/{campaign_id}/open-details- Open tracking detailsGET /reports/{campaign_id}/click-details- Click tracking details
Events to Track
- Campaigns - Campaign creation, sending, and completion
- Audience - Subscriber additions, removals, and segment changes
- Automations - Workflow triggers and completions
- Reports - Open rates, click rates, bounce rates, and revenue data
- Templates - Template creation and modifications
Implementation Tasks
- Set up basic integration structure following
integrations/github/src/index.tspattern - Implement OAuth 2.0 flow in
account-create.ts - Create API utilities in
utils.tsfor campaigns, audiences, automations, and reports - Implement sync logic in
schedule.tsfor polling campaign and audience data - Convert campaign/audience events to CORE activity format
- Add error handling and rate limiting (10 simultaneous connections max, 120s timeout)
- Create integration documentation
- Add to
integrations/README.md
Technical Notes
- API v3.0 is the current version; v2.0 is deprecated and no longer supported
- Base URL includes a data center prefix (e.g.,
us1,us2) that varies per account - Rate limit: 10 simultaneous connections per account; 429 error on exceeded limit
- API calls have a 120-second timeout
- Supports pagination, filtering, and partial responses
- Webhooks available for real-time event notifications
Resources
- Mailchimp Marketing API Documentation
- API Reference
- Quick Start Guide
- Mailchimp Developer Portal
- Tools and SDKs
Labels
enhancement, integration, new-feature