Skip to content

feat: add SendGrid email provider with webhook support and configuration#221

Open
RickieeeDev wants to merge 6 commits into
mainfrom
feat/adding-sendgrid-email-provider
Open

feat: add SendGrid email provider with webhook support and configuration#221
RickieeeDev wants to merge 6 commits into
mainfrom
feat/adding-sendgrid-email-provider

Conversation

@RickieeeDev
Copy link
Copy Markdown
Contributor

  • Implement SendGrid email sending functionality with API integration.
  • Add webhook handling for SendGrid events and mapping to canonical events.
  • Create configuration schema for SendGrid provider including API key and webhook verification key.
  • Add tests for SendGrid email request composition and webhook event parsing.

- Implement SendGrid email sending functionality with API integration.
- Add webhook handling for SendGrid events and mapping to canonical events.
- Create configuration schema for SendGrid provider including API key and webhook verification key.
- Add tests for SendGrid email request composition and webhook event parsing.
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new SendGrid provider module (send + webhook) and updates the console to better support provider configuration fields (password inputs + rate limit override shape).

Changes:

  • Introduce a SendGrid WASM provider module with email sending, webhook parsing, and optional webhook signature verification.
  • Add SendGrid-focused unit tests and module build/config scaffolding (Makefile, go.mod/go.sum, README).
  • Update console integration setup to submit/consume the new rate_limit object shape and render schema fields with format: "password" as password inputs.

Reviewed changes

Copilot reviewed 11 out of 16 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
modules/providers/sendgrid/sendgrid_webhook.go SendGrid webhook parsing, event mapping, timestamp parsing, and signature verification.
modules/providers/sendgrid/sendgrid.go SendGrid request composition + error formatting + HTTP status classification helpers.
modules/providers/sendgrid/main.go Provider manifest, send implementation, webhook handler, and config validation export functions.
modules/providers/sendgrid/main_test.go Unit tests for request composition, webhook parsing/signature verification, rate classification, config validation.
modules/providers/sendgrid/go.mod New module definition + dependencies for the SendGrid provider.
modules/providers/sendgrid/go.sum Dependency checksums for the SendGrid provider module.
modules/providers/sendgrid/README.md Provider documentation and configuration fields.
modules/providers/sendgrid/Makefile TinyGo WASM build target for the SendGrid module.
modules/providers/apns/main.go Marks APNs Key ID schema field as password-formatted in the manifest.
internal/http/console/dist/index.html Updates bundled console asset references.
console/src/views/settings/IntegrationSetup.tsx Updates provider form typing + rate limit override UX to send rate_limit: {limit, interval}.
console/src/views/campaign/CreateCampaign.tsx Uses shared API client for template creation after campaign creation.
console/src/views/campaign/Campaigns.tsx Avoids sending empty string search values by using undefined.
console/src/components/schema-fields.tsx Renders schema string fields with format: "password" as <input type="password">.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread modules/providers/sendgrid/main.go Outdated
Comment thread modules/providers/sendgrid/sendgrid_webhook.go
Comment thread modules/providers/sendgrid/README.md
Comment thread modules/providers/sendgrid/README.md Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 11 out of 16 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread modules/providers/sendgrid/sendgrid_webhook.go Outdated
Comment thread modules/providers/sendgrid/main_test.go
Copy link
Copy Markdown
Contributor

@jeroenrinzema jeroenrinzema left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I noticed that some files outside of the sendgrid implementation have been affected. Could you please check.

Comment thread console/src/components/schema-fields.tsx Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you check why these binaries have been changed?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Honestly, I can't find any reason why this happened, might be my go version, my git history said i didn't even push this

Comment thread internal/http/console/dist/index.html Outdated
Comment thread modules/providers/sendgrid/main.go Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants