Sendgrid: Destination Connector
**Feature Request: SendGrid Destination Connector
Issue Type: New Feature / Connector Request
Description
We need to build a SendGrid Destination Connector that allows users to send email and other messaging data from Multiwoven to SendGrid. This connector will help users automate email marketing, transactional emails, and other communications by integrating data from Multiwoven into SendGrid.
Requirements
-
Authentication:
The connector should support API Key authentication to interact with the SendGrid API. Users will need to generate an API key from their SendGrid account. -
Configuration:
The connector should require the following configuration parameters:api_key: SendGrid API key.from_email: The sender's email address.- Optional:
reply_to_emailfor specifying a reply-to address.
-
Connector Features:
The destination connector should be able to:- Send the following types of data to SendGrid:
- Email messages.
- Email campaigns.
- Transactional emails.
- Map data fields from Multiwoven to SendGrid email templates (e.g., recipient lists, subject lines, message content, etc.).
- Handle both individual and bulk email sends.
- Send the following types of data to SendGrid:
-
API Interaction:
The connector should use the SendGrid Web API for sending messages. API documentation can be found here:
SendGrid API Documentation -
Data Format:
The data sent to SendGrid must follow SendGrid’s required structure for emails, including recipients, subject, body, and other metadata (e.g., tracking and template IDs). -
Error Handling:
The connector should handle errors gracefully, providing meaningful error messages for common issues like invalid API keys, email addresses, or rate limits.
Steps to Implement
-
Authentication Setup:
- Implement API Key authentication to interact with SendGrid's API.
-
Connector Configuration:
- Create a config file that accepts the necessary parameters such as
api_key,from_email, and optionallyreply_to_email.
- Create a config file that accepts the necessary parameters such as
-
API Integration:
- Implement logic to send email messages via the SendGrid API. Support both:
- Transactional emails (e.g., order confirmations, password resets).
- Marketing campaigns (e.g., bulk newsletters, promotional emails).
- Implement logic to send email messages via the SendGrid API. Support both:
-
Field Mapping:
- Allow users to map data fields from Multiwoven to SendGrid templates. Users should be able to configure fields such as:
- Recipient email addresses.
- Subject lines.
- Message content.
- Allow users to map data fields from Multiwoven to SendGrid templates. Users should be able to configure fields such as:
-
Error Handling & Logging:
- Ensure comprehensive error handling for scenarios like invalid data or API limits.
- Provide detailed logs for successful and failed sends.
-
Testing:
- Write unit tests and integration tests to verify the connector’s functionality.
- Simulate API interactions using mocks to handle different types of messages (e.g., transactional vs. bulk).
-
Documentation:
- Provide a detailed
README.mdthat explains how to configure and use the connector. - Include examples of sending different types of emails via SendGrid.
- Provide a detailed
Acceptance Criteria
- The connector successfully sends emails via SendGrid (both transactional and bulk emails).
- Comprehensive error handling is in place, with detailed logging for failed sends.
- Unit and integration tests provide coverage for all key scenarios.
- The connector is accompanied by clear and comprehensive documentation.
Resources
Hey @Mohith93 can pick this to work on, kindly assign to me
Hi @deveshchatuphale7 ,
I hope you're doing well! I wanted to follow up on this issue, you've been working on.
Could you provide an update on the current status or let me know if you’re facing any challenges? I'm happy to assist or answer any questions you may have.
Thank you for your continued contributions to the project. Your efforts are greatly appreciated, and we’re excited to see your progress!
Hey @Mohith93 I have set up local environment & presently currently working on API integration & field mapping. Might need help in testing, will reach out on slack
Hey @deveshchatuphale7
Checking in with you for any updates that you might have. Let us know on our slack for any questions or concerns.
Hey @Mohith93 Apologies for the delay. sure will ping you