Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

Introduction

The SendGrid is a communication platform for transactional and marketing emails.

User

...

  • Automation
  • Single Sends
  • Senders
  • Contacts
  • Segments
  • Schedule *

...

  • Global Stats
  • Category Stats
  • Advanced Stats

...

  • Bounces
  • Global Unsubscribes
  • Group Unsubscribes
  • Spam Reports **
  • Blocks **

* is present as state in the list of Automation/Single Send, but could be parsed as separate list of both entities to represent the current schedule and be a dynamic entity
** currently no way to test or get info about those endpoints as for that, test account should have been reported for spam and have some blocks

User Configurations

Storie(s)

  • As a pipeline developer, I would like to query analytical data for marketing emails sent through Sendgrid, so that I can analyze and combine that data with other data sources.
  • As a pipeline developer, I would like to bulk send marketing emails to target customers through Sendgrid, so that I can effectively target them in marketing campaigns.

Plugin Type

  •  Batch Source
  •  Batch Sink 
  •  Real-time Source
  •  Real-time Sink
  •  Action
  •  Post-Run Action
  •  Aggregate
  •  Join
  •  Spark Model
  •  Spark Compute

Configurables

Batch source

Section

User Configuration Label

Label Description

Options

Default

Variable

User Widget

StandardAuthentication typeThe way, how user would like to be authenticated to the SendGrid acoount

Basic

Api Key

Basicauth-typeradio-group

API KeyThe SendGrid API Key taken from the SendGrid account of choiceShows if "Authentication type" is set to "apikey"
sendgrid-api-keytextbox

UsernameLogin name for SendGridShows if "Authentication type" is set to "basic"
usernametextbox

PasswordLogin password for the username specified aboveShows if "Authentication type" is set to "basic"
passwordpassword

Data Source TypesList of data source groups
  • Marketing Campaigns Fields
  • Stats Fields
  • Suppressions Fields

data-source-typesmulti-select

Data SourceOne of the above sources picked from list
  • Marketing Campaigns Fields
    • Automation
    • Single Sends
    • Senders
    • Contacts
    • Segments
  • Stats
    • Global Stats
    • Category Stats
    • Advanced Stats
  • Suppressions
    • Bounces
    • Global Unsubscribes
    • Group Unsubscribes

data-sourcemulti-select

Data Source FieldsList of fields to be retrievedsee "Data sources description" section below
data-source-fieldsmulti-select








Start Date(required by some SG API Endpoints)

The date in format YYYY-MM-DD, starting from which the data is requested.
Displayed depends on list of the selected data sourcesnot setstart-datetextbox

End Date(required by some SG API Endpoints)
The date in format YYYY-MM-DD, the end date for the requested data
Displayed depends on list of the selected data sourcesnot setend-datetextbox
Error HandlingOn Record ErrorHow to handle error in record processing
  • Skip error
  • Send to error port
  • Fail pipeline
Skip erroron-errorRadio Button (layout: block)

Plugin Type

  •  Batch Source
  •  Batch Sink 
  •  Real-time Source
  •  Real-time Sink
  •  Action
  •  Post-Run Action
  •  Aggregate
  •  Join
  •  Spark Model
  •  Spark Compute

Design Tips and references

...

SendGrid supports API v2 and v3 legacy and and SendGrid v3 API . As v2 and v3 legacy are outdated, we going to support and use the latest SendGrid v3 API.

User Expectations

  • User will retrieve API Keys (Restricted Access) from their SendGrid account for Event Notification, Marketing Campaigns, Suppressions and Tracking. 
  • User will enable Active Tracking in their account - Click, Open and Subscription tracking is enabled.
  • Uses SendGrid v3 REST API and Webhooks to sync your data. 
  • Retrieves 
    • Marketing Campaigns
      • Automation
      • Single Sends
      • Senders
      • Contacts
      • Segments
      • Schedule *
    • Stats
      • Global Stats
      • Category Stats
      • Advanced Stats
    • Suppressions
      • Bounces
      • Global Unsubscribes
      • Group Unsubscribes
      • Spam Reports **
      • Blocks **


    * is present as state in the list of Automation/Single Send, but could be parsed as separate list of both entities to represent the current schedule and be a dynamic entity
    ** currently no way to test or get info about those endpoints as for that, test account should have been reported for spam and have some blocks

Data source reference

...