Connect SparkPost

Bird SparkPost. Event webhooks authenticated by the URL token; inbound domain and relay webhook created for you by Dextel.

Where this lives in Dextel

Agency: Agency → Integrations → Email Service (outbound only). Sub-account: Settings → Integrations → Email Integration (outbound + inbound). The modal shows the exact webhook URLs to paste into SparkPost; this page explains what to do with them.

Prerequisites

  • A SparkPost account and a domain you control (you'll add DNS records).
  • Owner or admin access to the Dextel agency or sub-account.
  • Credentials you'll enter in Dextel: API key, Region (US or EU).

1. Create the API credentials

  1. Open Configuration → API Keys → Create API Key.
  2. Grant Transmissions, Webhooks, Inbound Domains and Relay Webhooks (Read/Write).
  3. Copy the key into Dextel and pick your region.

SparkPost docs: API keys

2. Verify your sending domain

  1. Open Configuration → Sending Domains → Add a Domain.
  2. Add the DKIM TXT record and verify ownership.
  3. Optionally add a tracking domain under Configuration → Tracking Domains.

Then in Dextel enter a From email on that domain (for example hello@yourdomain.com) and a From name, and click Validate & Connect. Dextel checks the credentials against SparkPost before saving.

SparkPost docs: domains

3. Delivery events

Delivered, opened, clicked, bounced and spam events feed the Email Event workflow trigger and automatically unsubscribe contacts after a hard bounce or complaint. Copy the Webhook URL from the Delivery events tab in Dextel, then:

  1. Open Configuration → Webhooks → Create Webhook.
  2. Set the Target URL to <your delivery-events webhook URL> and Authentication to None.
  3. Tick Delivery, Delay, Bounce, Out of Band, Policy Rejection, Spam Complaint, Open, Initial Open and Click, then Create. SparkPost sends a test batch and expects a 200.
This provider does not sign its webhooks. The webhook URL Dextel gives you contains a private token that authenticates each post — never share the URL.

Use Send a test email in the same tab to confirm outbound works; the events pill turns green once the first event arrives.

SparkPost docs: webhooks

4. Inbound email (sub-accounts only)

Inbound turns contact replies into Inbox conversations and fires the Contact Replied — Email trigger. Mail is received at your saved From address, so when a contact hits Reply the message comes back through SparkPost to Dextel. The MX record routes all mail for that domain to SparkPost: if you already receive mail on the domain, send from an address on a subdomain (for example hello@mail.yourdomain.com).

DNS records

TypeHostValuePriority
MXyourdomain.comrx1.sparkpostmail.com (EU: rx1.eu.sparkpostmail.com)10
MXyourdomain.comrx2.sparkpostmail.com (EU: rx2.eu.sparkpostmail.com)10
MXyourdomain.comrx3.sparkpostmail.com (EU: rx3.eu.sparkpostmail.com)10

Steps

  1. Add the three MX records below to yourdomain.com (all priority 10) and wait for DNS to propagate.
  2. In Dextel's Inbound tab click Register with SparkPost — Dextel creates the inbound domain and a relay webhook.
  3. Send a test email to your From address.

Registered by Dextel

SparkPost only exposes inbound configuration through its API, so the Inbound tab has a Register with SparkPost button that creates the route with your stored key once the DNS records are live.

SparkPost docs: inbound

Troubleshooting

  • Register fails with "MX records not found" — SparkPost checks DNS before creating the inbound domain; wait for propagation and retry.
  • Webhook creation fails — the key needs Webhooks Read/Write; SparkPost also requires the target to answer 200 to its test batch.
  • Still stuck? Compare with another provider on the Email Providers overview.