Prerequisites
Before setting up the SparkPost integration, ensure you have:1. SparkPost Account
- An active SparkPost account
- API key with appropriate permissions
2. SparkPost API Key
To create an API key in SparkPost:1
Log in to SparkPost
Log in to your SparkPost Dashboard
2
Navigate to API Keys
Go to Configuration → API Keys
3
Create API Key
Click Create API Key
4
Set Permissions
Configure the following permissions:
- Transmissions: Read/Write (required for sending)
- Webhooks: Read/Write (required for event tracking)
5
Save Your Key
Click Create API Key and copy your API key (you won’t be able to see it again)
3. SendPost Account
- A SendPost account with admin access
- At least one sub-account created
Setting Up SparkPost Integration
Step 1: Navigate to Providers
- Log in to your SendPost Dashboard
- Go to Settings → Providers (or navigate to the Providers page)
- Click the NEW button
Step 2: Configure SparkPost Provider
- Name: Enter a descriptive name (e.g., “Production SparkPost”, “Marketing SparkPost”)
- Type: Select SparkPost from the dropdown
- Key: Paste your SparkPost API key
- Click Save
Step 3: Automatic Webhook Configuration
When you save the provider, SendPost automatically:Registers a webhook with SparkPost
Configures the webhook to receive all supported events
Creates the necessary processing infrastructure
https://api.sendpost.io/tpsp/sparkpost/account/{your-account-id}
Events Configured:
- Injection (sent)
- Delivery
- Bounce
- Out of Band (async bounces)
- Delay
- Policy Rejection
- Spam Complaint
- Open / Initial Open
- Click
- List Unsubscribe / Link Unsubscribe
Step 4: Configure IP Pool for SparkPost Routing
Before sending emails via SparkPost, you need to configure an IP Pool in SendPost that routes traffic to your SparkPost provider.Why IP Pools?
IP Pools in SendPost allow you to control how your email traffic is distributed between SendPost’s native infrastructure and third-party providers like SparkPost. This enables:- Volume-based routing: Split your email volume between SparkPost and SendPost infrastructure
- Easy traffic management: Adjust the percentage of emails sent via SparkPost vs SendPost at any time
- Gradual migration: Start with a small percentage on SparkPost and increase as needed
- Failover capability: Route traffic to SparkPost when SendPost IPs are warming up
Setting Up IP Pool for SparkPost
1
Create IP Pool
- Go to Settings → IP Pools in your SendPost dashboard
- Click Create New IP Pool
- Enter a descriptive name (e.g., “sparkpost-pool” or “transactional-sparkpost”)
2
Configure Routing
- In the IP Pool settings, configure the routing to use your SparkPost provider
- Set the volume percentage you want to route through SparkPost
- You can easily adjust this percentage later to control traffic distribution
3
Save Configuration
Save your IP Pool configuration. The pool name will be used in your API calls.
Volume-Based Routing
You can configure what percentage of your email volume goes through SparkPost vs SendPost’s native infrastructure:| Configuration | SparkPost | SendPost Infrastructure |
|---|---|---|
| 100% SparkPost | All emails via SparkPost | None |
| 50/50 Split | 50% of emails | 50% of emails |
| SparkPost Backup | 0% (failover only) | 100% primary |
You can change the volume distribution at any time through the SendPost UI without any code changes.
Step 5: Whitelist Your Sending Domain
You must whitelist the same sending domain in SendPost that you use in SparkPost.- Go to Settings → Domains in your SendPost dashboard
- Click Add Domain
- Enter the same domain you have configured in SparkPost (e.g.,
yourdomain.com) - Complete the domain verification process
If you’re using multiple sending domains in SparkPost, you need to whitelist each domain in SendPost.
Next Steps
Once your SparkPost integration is set up, you can:- Send emails via SparkPost using the SendPost API
- Understand event types for tracking email status
- View analytics for your SparkPost emails