Support Customer.io as an email provider
- Dominant language
- TypeScript
- Stars
- 3
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Allow newsletters to send through Customer.io in addition to Resend.
## Acceptance Criteria
1. Customer.io SDK added with environment configuration for credentials.
2. Supabase stores provider credentials and defaults in `email_integrations`.
3. UI lets users configure Customer.io and choose the active provider.
4. Email logic abstracts providers into dedicated modules with shared interface.
5. API routes select provider dynamically and handle errors gracefully.
6. Patch note and subscriber UIs show which provider will deliver campaigns.
7. Playwright tests validate provider selection and successful email send flows against mocked APIs.
## Notes
- Ensure backwards compatibility with existing Resend setups.
- Follow Customer.io API guidance for transactional messaging and authentication: https://docs.customer.io/integrations/api/customerio-apis/
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the existing Resend integration, email_integrations schema, UI configuration, API routes, and Playwright tests. Read the current provider flow and run the existing email tests first. Done means Customer.io can be configured and selected, existing Resend setups still work, provider errors are handled, and mocked Playwright flows pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- playwright, supabase, typescript
- Domain
- api, database, full-stack, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100