Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sendgrid: Destination Connector #390

Open
Mohith93 opened this issue Sep 30, 2024 · 6 comments
Open

Sendgrid: Destination Connector #390

Mohith93 opened this issue Sep 30, 2024 · 6 comments
Assignees
Labels
enhancement New feature or request feature_request

Comments

@Mohith93
Copy link

**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

Copy link

linear bot commented Sep 30, 2024

@deveshchatuphale7
Copy link

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

@Mohith93
Copy link
Author

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!

@deveshchatuphale7
Copy link

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

@Mohith93
Copy link
Author

Hey @deveshchatuphale7

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

@deveshchatuphale7
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request feature_request
Projects
None yet
Development

No branches or pull requests

2 participants