SendGrid delivers this environment's authentication email: verification, invitations, magic links, and one-time codes. A newly connected provider becomes the one that sends. Other connected email providers stay as fallbacks after a hard failure. Authdog's managed provider sends when none of yours is active.

## Prepare the API key

In [SendGrid API keys](https://app.sendgrid.com/settings/api_keys), create a key that can send mail. It starts with `SG.`. Restrict it to mail send. Do not reuse an account-owner key.

Verify the From address or domain in SendGrid, and publish the SPF and DKIM records SendGrid gives you. Authdog does not verify domain ownership for you. A sender SendGrid has not verified still fails at send time.

## Connect SendGrid

In the [Authdog console](https://console.authdog.com):

1. Select the project and environment.
2. Open **Notifications > Providers**.
3. Select the **Email** channel.
4. Choose **SendGrid** and select **Connect**.
5. Enter:

| Field | Value |
| --- | --- |
| **API key** | Starts with `SG.` |
| **From email** | A verified sender, for example `no-reply@yourdomain.com` |

6. Save. SendGrid becomes the active provider.
7. Select **Test**, enter a recipient outside your own domain, and confirm delivery.

The API key is encrypted and is not loaded back into the browser. On a later edit, leave it blank to keep the stored key. Enter a new value only to replace it.

Use **Set active** if you connected SendGrid but another provider is still in use. **Use managed** returns delivery to Authdog.

Set the visible **From name** and **Reply-to** under **Notifications > Configuration**. Those defaults apply to every template, independent of which provider sends.

## Test it

1. Send the provider test and inspect the message headers for SPF and DKIM.
2. Trigger a real template, such as a magic link or an invitation, in the same environment.
3. Confirm the send appears under **Notifications > Events**.

Use a separate SendGrid key and from-address for production. Provider configuration does not copy between environments.

## Related

| Read | To learn how to |
| --- | --- |
| [Email providers](/docs/email-providers) | Active provider, fallbacks, and sender-domain checks |
| [Notifications](/docs/console/notifications) | Templates, from name, and the Events tab |
| [Marketplace](/marketplace/sendgrid) | The listing for this integration |
