---
title: SendGrid
description: Configure SendGrid as an email provider in Notiflows
---

SendGrid is a cloud-based email delivery platform with analytics and deliverability tools.

## Prerequisites

Before configuring SendGrid in Notiflows, you need:

1. A [SendGrid account](https://signup.sendgrid.com/)
2. A verified sender identity (domain or single sender)
3. An API key with Mail Send permissions

## Configuration

| Field | Required | Description |
|-------|----------|-------------|
| API Key | Yes | SendGrid API key with Mail Send permissions |
| From Email | Yes | A verified sender email address |
| From Name | No | Display name shown to recipients (e.g., `My App`) |
| Click Tracking | No | Track when recipients click links in your emails |
| Open Tracking | No | Track when recipients open your emails |

## Step 1: Verify a sender identity

SendGrid requires you to verify the domain or email address you send from. Domain authentication is recommended for production because it improves deliverability and covers all addresses on that domain.

### Option A: Authenticate a domain (recommended)

1. Log in to the [SendGrid dashboard](https://app.sendgrid.com)
2. In the left navigation, click **Settings** > **Sender Authentication**
3. In the **Domain Authentication** section, click **Get Started**
4. Select your DNS provider from the dropdown (or choose **Other Host** if not listed)
5. Enter your root domain (e.g., `example.com` — do not include `www` or a subdomain)
6. Ensure **Use automated security** is checked — this generates CNAME records that SendGrid manages for you
7. Click **Next**
8. SendGrid provides three CNAME records — add these to your DNS provider
9. Return to SendGrid and click **Verify**

<Callout>
DNS changes can take up to 48 hours to propagate. If verification fails, wait and try again. Contact SendGrid support if it's still unverified after 48 hours.
</Callout>

### Option B: Verify a single sender

Use this for quick testing or if you don't control the sending domain.

1. In the SendGrid dashboard, go to **Settings** > **Sender Authentication**
2. Click **Verify a Single Sender**
3. Click **Create New Sender**
4. Fill in the required fields: **From Name**, **From Email Address**, **Reply To**, **Business Address**, and **Nickname**
5. Click **Create**
6. Check your inbox for a confirmation email and click the verification link

<Callout>
Single sender verification is not recommended for production. Free email addresses (gmail.com, yahoo.com, etc.) may fail DMARC checks and get rejected by recipient mail servers.
</Callout>

## Step 2: Create an API key

1. In the SendGrid dashboard, click **Settings** > **API Keys**
2. Click **Create API Key**
3. Enter a name (e.g., `Notiflows`)
4. Select **Restricted Access**
5. Under **Mail Send**, toggle **Mail Send** to full access
6. Click **Create & View**
7. Copy the API key immediately

<Callout>
SendGrid only shows the API key once. Copy it now and store it securely. If you lose it, you'll need to create a new key.
</Callout>

## Step 3: Set up in Notiflows

1. Navigate to **Channels** in your project
2. Click **Create Channel**
3. Select **Email** as the channel type
4. Select **SendGrid** as the provider
5. Paste your **API Key**
6. Enter your verified **From Email** and optionally a **From Name**
7. Optionally enable **Click Tracking** and **Open Tracking**
8. Save the channel

## Templates

Email templates support three content types:
- **Visual** - Drag-and-drop editor for rich HTML emails
- **HTML** - Raw HTML with full control
- **Plaintext** - Simple text emails

Use Liquid templating for dynamic content:

```liquid
Hi {{ recipient.first_name }},

{{ data.message }}
```

Available variable contexts:
- `recipient.*` - Recipient user data (first_name, last_name, email, etc.)
- `actor.*` - User who triggered the notification
- `data.*` - Custom payload passed when triggering the notiflow
