# ESP Integrations

> Overview of email service provider integrations in Broadcast, including webhook setup and feature comparison.

Source: https://sendbroadcast.net/docs/esp-integrations

Broadcast integrates with popular email service providers (ESPs) to send emails and receive real-time delivery notifications. This page provides an overview of supported providers and their capabilities.

## Supported Providers

| Provider | SMTP | API | Webhooks | Auto-Setup | Suppression Sync |
| --- | --- | --- | --- | --- | --- |
| [AWS SES](https://sendbroadcast.net/docs/esp-integrations/aws-ses) |  |  |  |  |  |
| [Postmark](https://sendbroadcast.net/docs/esp-integrations/postmark) |  |  |  |  | — |
| [Mailgun](#mailgun-setup) |  |  |  |  | — |
| [SendGrid](#sendgrid-setup) |  |  |  |  | — |
| [Resend](#resend-setup) |  | — |  | — | — |
| [SMTP.com](#smtpcom-setup) |  | — |  | — | — |
| [Inboxroad](#inboxroad-setup) |  | — |  | — |  |

## Guided Setup (Recommended)

The easiest way to add an email server is via the **Guided Setup** wizard. Navigate to **Settings** → **Email Servers**, click **Add email server**, and choose **Guided Setup**. Select your provider and paste your API key: Broadcast will automatically configure domains, senders, and webhooks for you.

![Guided Setup provider picker showing Postmark, AWS SES, SendGrid, and Mailgun](https://sendbroadcast.net/assets/docs/setup/provider-picker-6a3c3b79.png)

Guided Setup is available for **Postmark**, **AWS SES**, **SendGrid**, and **Mailgun**.

After a provider is set up, Broadcast continues to monitor the domain's SPF, DKIM, and DMARC records and alerts you if they change. See [Domain DNS Health](https://sendbroadcast.net/docs/dns-health) for details.

## Quick Links

### Full Documentation

- **[AWS SES Integration](https://sendbroadcast.net/docs/esp-integrations/aws-ses):** Complete guide including automatic setup, suppression sync, and IAM configuration
- **[Postmark Integration](https://sendbroadcast.net/docs/esp-integrations/postmark):** Setup guide with API delivery and message streams

### Manual Setup

For providers without guided setup (Resend, SMTP.com, Inboxroad, or custom SMTP), use the **Manual Setup** option to configure SMTP settings directly. See the provider-specific instructions below.

---

## Why Use ESP Webhooks?

While Broadcast can track opens and clicks natively, ESP webhooks provide additional benefits:

| Feature | Native Tracking | ESP Webhooks |
| --- | --- | --- |
| Open tracking |  |  |
| Click tracking |  |  |
| Delivery confirmation | — |  |
| Bounce detection | — |  |
| Spam complaints | — |  |
| Auto-suppression | — |  |

#### Recommendation

We recommend setting up ESP webhooks for all providers. This ensures accurate delivery tracking and automatic handling of bounces and complaints.

---

## Finding Your Webhook URLs

Webhook URLs are shown on each email server's detail page. Navigate to **Settings** → **Email Servers** and click on a server to view its webhook URL.

Each provider has a unique webhook URL that you'll configure in your ESP's dashboard.

---

## Mailgun Setup

### Guided Setup (Recommended)

Use the **Guided Setup** wizard for the easiest experience:

1. Navigate to **Settings** → **Email Servers**
2. Click **Add email server** → **Guided Setup**
3. Select **Mailgun**
4. Enter your **Mailgun API key** and select your region (US or EU)
5. Broadcast will automatically detect your verified domains, configure API delivery, and set up webhooks

### Manual Webhook Setup

If you're using SMTP delivery instead, configure webhooks manually:

1. Log into your Mailgun account
2. Navigate to **Sending** → **Webhooks**
3. For each event type, add your Broadcast webhook URL:

   ```
   https://your-domain.com/wh/mailgun
   ```

4. Select events to track:
   - Delivered
   - Opened
   - Clicked
   - Bounced (Permanent Failure)
   - Complained
   - Unsubscribed

### Webhook Signing Key

For webhook verification:

1. In Mailgun, find your **Webhook Signing Key** in the dashboard
2. In Broadcast, go to your email server's detail page
3. Enter the signing key

---

## SendGrid Setup

### Guided Setup (Recommended)

Use the **Guided Setup** wizard for the easiest experience:

1. Navigate to **Settings** → **Email Servers**
2. Click **Add email server** → **Guided Setup**
3. Select **SendGrid**
4. Enter your **SendGrid API key**
5. Broadcast will automatically configure API delivery, domain authentication, and event webhooks

### Manual Webhook Setup

If you're using SMTP delivery instead, configure webhooks manually:

1. Log into your SendGrid account
2. Navigate to **Settings** → **Mail Settings** → **Event Webhook**
3. Enter your webhook URL with your channel ID:

   ```
   https://your-domain.com/wh/sendgrid?broadcast_channel_id=YOUR_CHANNEL_ID
   ```

4. Select events to track:
   - Processed
   - Delivered
   - Opened
   - Clicked
   - Bounced
   - Spam Report
   - Unsubscribe

5. Enable **Signed Event Webhook Requests**
6. Copy the **Verification Key**
7. In Broadcast, go to your email server's detail page
8. Enter the verification key

---

## Resend Setup

1. Log into your Resend dashboard
2. Navigate to **Webhooks**
3. Click **Add Webhook**
4. Enter your Broadcast webhook URL:

   ```
   https://your-domain.com/wh/resend
   ```

5. Select events:
   - email.sent
   - email.delivered
   - email.bounced
   - email.complained
   - email.opened
   - email.clicked

6. Save your webhook configuration

---

## SMTP.com Setup

Contact SMTP.com support to configure webhook callbacks to your Broadcast endpoint:

```
https://your-domain.com/wh/smtp_com
```

---

## Inboxroad Setup

Inboxroad provides API-based sync for bounces and complaints:

1. In Broadcast, go to **Settings** → **Email Servers**
2. Edit your Inboxroad email server
3. Enable **Inboxroad API Sync**
4. Enter your **Inboxroad API Token**
5. Save the configuration

### Manual Sync

To sync bounces and complaints from Inboxroad:

1. Go to **Settings** → **Email Servers**
2. Find your Inboxroad server
3. Click **Sync Now**

---

## Auto-Suppression

When Broadcast receives bounce or complaint webhooks, it automatically:

1. **Deactivates the subscriber:** Prevents future email sends
2. **Adds to global suppression:** Blocks the email across all channels

This protects your sender reputation and ensures compliance with anti-spam regulations.

---

## Troubleshooting

### Webhooks Not Received

1. Verify the webhook URL is correct
2. Check that your Broadcast instance is publicly accessible (HTTPS)
3. Review your ESP's webhook logs for delivery failures
4. Ensure firewalls aren't blocking incoming webhook requests

### Events Not Appearing

1. Check that the correct events are selected in your ESP
2. Verify the email server has the correct vendor selected in Broadcast
3. Look for errors on the email server's detail page

### Authentication Errors

1. Verify any signing keys or verification tokens are correct
2. Check that credentials haven't expired
3. Regenerate keys if needed and update both sides

---

## Next Steps

- [AWS SES Integration](https://sendbroadcast.net/docs/esp-integrations/aws-ses): Full setup guide with automatic configuration
- [Postmark Integration](https://sendbroadcast.net/docs/esp-integrations/postmark): Complete Postmark integration guide
- [Email Metrics](https://sendbroadcast.net/docs/email-metrics): Understanding tracking and analytics
- [Suppression Lists](https://sendbroadcast.net/docs/suppression-lists): Managing email suppressions
