Skip to content

Add SendGrid email provider (WASM module) #216

@jeroenrinzema

Description

@jeroenrinzema

Goal

Add a new sendgrid provider so Lunogram can send email through SendGrid, following the same provider model as existing modules (e.g. resend).

Scope

  • New provider module under modules/providers/sendgrid/
  • Email channel support only (providers.ChannelEmail)
  • Config schema for required credentials (at minimum SendGrid API key)
  • Send implementation mapping Lunogram email payload -> SendGrid API request
  • Provider validation for required config
  • (If feasible) webhook handling for delivery events mapped to canonical provider webhook events

Implementation notes

  • Mirror structure and conventions from modules/providers/resend/
  • Expose standard exports: manifest, send, validate, and optionally webhook, init, destroy if webhook lifecycle is implemented
  • Include provider metadata (id, title, icon/color, website, rate limit)

Acceptance criteria

  • Provider appears in provider metadata/list endpoints with module id sendgrid
  • Creating a provider with valid config succeeds
  • Email send works end-to-end for HTML/text payloads
  • Clear permanent/transient error classification is implemented
  • Tests added/updated for core send + validation behavior

Out of scope

  • SMS or push support
  • Advanced SendGrid features (templates, marketing campaigns, etc.) in first version

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions