multiwoven icon indicating copy to clipboard operation
multiwoven copied to clipboard

Sendgrid: Destination Connector

Open Mohith93 opened this issue 1 year ago • 6 comments

**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_email for specifying a reply-to address.
  • Connector Features:
    The destination connector should be able to:

    1. Send the following types of data to SendGrid:
      • Email messages.
      • Email campaigns.
      • Transactional emails.
    2. Map data fields from Multiwoven to SendGrid email templates (e.g., recipient lists, subject lines, message content, etc.).
    3. Handle both individual and bulk email sends.
  • 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

  1. Authentication Setup:

    • Implement API Key authentication to interact with SendGrid's API.
  2. Connector Configuration:

    • Create a config file that accepts the necessary parameters such as api_key, from_email, and optionally reply_to_email.
  3. 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).
  4. 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.
  5. Error Handling & Logging:

    • Ensure comprehensive error handling for scenarios like invalid data or API limits.
    • Provide detailed logs for successful and failed sends.
  6. 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).
  7. Documentation:

    • Provide a detailed README.md that explains how to configure and use the connector.
    • Include examples of sending different types of emails via SendGrid.

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

Mohith93 avatar Sep 30 '24 17:09 Mohith93

Hey @Mohith93 can pick this to work on, kindly assign to me

deveshchatuphale7 avatar Oct 12 '24 16:10 deveshchatuphale7

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!

Mohith93 avatar Oct 21 '24 08:10 Mohith93

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

deveshchatuphale7 avatar Oct 23 '24 06:10 deveshchatuphale7

Hey @deveshchatuphale7

Checking in with you for any updates that you might have. Let us know on our slack for any questions or concerns.

Mohith93 avatar Nov 28 '24 05:11 Mohith93

Hey @Mohith93 Apologies for the delay. sure will ping you

deveshchatuphale7 avatar Dec 08 '24 18:12 deveshchatuphale7