Introduction
Channels
Templates
Contacts
Messages
API

sendgrid SendGrid

SendGrid is one of the leading Email Service Provider for transactional and marketing emails.

Signup for a free trial: https://sendgrid.com/

Features

Webhooks events Common ESP features
Delivered CC addresses
Dropped BCC addresses
Soft bounced ReplyTo address
Opened Tags / Categories
Clicked Test / Sandbox mode
Unsubscribed Campaigns allowed
Spam
SendGrid specific features
Bypass list management Bypass the normal unsubscribe / bounce / spam report checks and queue the email for delivery.
Open tracking substitution tag Move the "open tracking" pixel to a specific place of your emails.
Subscription tracking substitution tag Move the "unsubscribe" link to a specific place of your emails.
Google Analytics parameters Rewrite the URLs of your emails with custom GA parameters: utm_source, utm_medium, utm_term, utm_content & utm_campaign.
Spam check Automatically drop emails with a score above a defined limit. Receive a report on a specific URL (optionnal).
IP pools Select which one of your IP pools will route your messages.

Connect SendGrid

You need to create an API key to connect SendGrid with Notifuse.

Login into your SendGrid account and click the "Settings" tab on the left sidebar, then "Create API Key" and choose "General API Key". Give it a name (i.e: Notifuse) and a "full access" credentials.

Copy the API key into the Notifuse "Connect SendGrid" form and save.

Connect SendGrid's webhooks

  1. Grab your Notifuse webhooks URL from your SendGrid's channel settings.
  2. Connect to your SendGrid dashboard and go to "Settings" then "Mail Settings".
  3. Open the "Event Notification" panel and toggle the "On" switch.
  4. Past your Notifuse webhooks URL into the "HTTP POST URL" input and check all events (Processed, Opened, Clicked...).
  5. Save your settings by clicking the small blue check mark in the top corner.

Available settings

The SendGrid settings are defined at the template level from the Notifuse interface when you create/update a template.

If you don't plan to create your templates via API, or overwrite some settings at the last minute when you send a message (via API), you can skip the following table.

However it can be useful to overwrite some settings when you send a message from the API, like the email parameter to route an email to the secondary email address of the recipient (imagine he forgot his password and cannot reach his primary mailbox).

The settings you can overwrite when you send a message via API are marked in the Available in column.
Parameter Expected value Available in Description
email
required
string contact, message Email address of the recipient. Has to exist in the recipients contact profiles.
from
required
string template, message Email address of the sender.
name
required
string template, message Sender name.
subject
required
string template, message Subject of your email. Templating markup allowed.
text
required if no html
string template Text content of your email. Templating markup allowed.
textMacro
optional
string template Id of the page of macros used in the text content of your email.
html
required if no text
string template HTML content of your email. Templating markup allowed.
htmlMacro
optional
string template Id of the page of macros used in the html content of your email.
testData
optional
object template JSON object of fake data used to test your templates.
cc
optional
array template, message Array of email addresses to CC.
bcc
optional
array template, message Array of email addresses to BCC.
replyTo
optional
string template, message Email address.
clickTracking
optional
boolean template, message Enable click tracking via webhooks.
clickTrackingText
optional
boolean template, message Enable click tracking for text emails.
openTracking
optional
boolean template, message Enable open tracking via webhooks.
openTrackingTag
optional
string template, message Substitution tag to inject the "open tracking" pixel somewhere else in your email.
subscriptionTracking
optional
boolean template, message Enable subscriptions tracking via webhooks.
subscriptionTrackingTag
optional
string template, message Substitution tag to inject the "unsubscribe" link somewhere else in your email.
categories
optional
array of strings template, message Array of categories for your SendGrid dashboard.
bypassListManagement
optional
boolean template, message Bypass the normal unsubscribe / bounce / spam report checks and queue the email for delivery.
ipPoolName
optional
string template, message The IP Pool that you would like to send this email from..
spamCheck
optional
boolean template, message Enable spam checking. Automatically drop emails with a score above a defined limit.
spamThreshold
optional
integer: 1 -> 10 template, message Score after which the message will be dropped (default is 5, higher scores indicate higher likelihood of spam).
spamReportUrl
optional
string: URL template, message Optional url to POST the email and a copy of the report to. Refer to the SendGrid Spam Checker documentation for POST details.
ganalytics
optional
boolean template, message Enable Google Analytics URL rewrite.
utmSource
optional
string template, message GA utm_source parameter.
utmMedium
optional
string template, message GA utm_medium parameter.
utmTerm
optional
string template, message GA utm_term parameter.
utmContent
optional
string template, message GA utm_content parameter.
utmCampaign
optional
string template, message GA utm_campaign parameter.
testMode
optional
boolean connect, message Enable test / sandbox mode.
headers
optional
object: {key: value} message An object containing key/value pairs of header names and the value to substitute for them. You must ensure these are properly encoded if they contain unicode characters. Must not be any of the following reserved headers: x-sg-id, x-sg-eid, received, dkim-signature, Content-Type, Content-Transfer-Encoding, To, From, Subject, Reply-To, CC, BCC

Next: How to use the templates ยป