Klaviyo webhooks
Klaviyo webhooks deliver real-time event notifications from your Klaviyo account to InboxEagle. Without webhooks, InboxEagle relies on periodic polling to sync your campaign and list data. Webhooks give you near-instant data and ensure campaign metrics appear in InboxEagle within seconds of events occurring in Klaviyo.
What webhooks deliver
Section titled “What webhooks deliver”Once configured, Klaviyo sends the following event types to InboxEagle via webhook:
| Event type | Description |
|---|---|
| Campaign sent | Triggered when a campaign is dispatched |
| Campaign opened | Open event for a specific recipient |
| Campaign clicked | Click event for a specific recipient |
| Campaign bounced | Bounce event (hard or soft) |
| Campaign unsubscribed | Unsubscribe event |
| Campaign marked as spam | Spam complaint event |
| List subscribe | New subscriber added to a list |
| List unsubscribe | Subscriber removed from a list |
These real-time events feed into InboxEagle’s campaign analytics, list health metrics, and (if Bot Finder is connected) the Klaviyo bot analysis.
Setting up webhooks
Section titled “Setting up webhooks”-
Open the Klaviyo integration settings
In the InboxEagle app, go to Integrations → Klaviyo → Webhooks tab.
-
Generate a webhook endpoint URL
Click Generate webhook URL. InboxEagle creates a unique endpoint URL tied to your account. Copy this URL.
-
Register the webhook in Klaviyo
In your Klaviyo account:
- Go to Integrations → Webhooks
- Click Add webhook
- Paste the InboxEagle webhook URL into the Endpoint URL field
- Under Events, select all event types you want to send (recommend selecting all campaign and list events)
- Click Save
-
Verify the webhook is active
Back in InboxEagle, the Webhooks tab shows the webhook status. After Klaviyo sends a test ping, the status changes to Active. If it remains Pending, click Send test event and check the Klaviyo webhook logs for errors.
Webhook status indicators
Section titled “Webhook status indicators”| Status | Meaning |
|---|---|
| Active | Webhook is receiving events successfully |
| Pending | Endpoint registered but no events received yet |
| Error | Recent deliveries have failed; see error details |
| Disabled | Webhook has been manually disabled or the Klaviyo integration was disconnected |
Webhook security
Section titled “Webhook security”Klaviyo signs webhook payloads using ECDSA with P-256 (for newer endpoints). InboxEagle verifies this signature on every incoming request to ensure payloads are authentic and have not been tampered with.
Additionally, InboxEagle enforces a 5-minute replay window — webhook events older than 5 minutes are rejected to prevent replay attacks.
You do not need to configure security settings manually; InboxEagle handles verification automatically.
Troubleshooting failed webhooks
Section titled “Troubleshooting failed webhooks”No events arriving
Section titled “No events arriving”- Confirm the webhook URL in Klaviyo matches exactly what InboxEagle generated (no trailing slash differences, no copy-paste truncation)
- In Klaviyo’s webhook dashboard, check the Delivery log for any HTTP errors
- Confirm the Klaviyo integration is still connected in InboxEagle (Integrations → Klaviyo → Connection tab)
- Try clicking Send test event in InboxEagle to trigger a test delivery
Events arriving but data is missing
Section titled “Events arriving but data is missing”- Confirm you selected all relevant event types when registering the webhook in Klaviyo
- Some events require specific Klaviyo subscription tiers. Verify that your Klaviyo plan supports the event types you selected.
- Check the InboxEagle webhook log for any payload parsing errors
Webhook status shows “Error”
Section titled “Webhook status shows “Error””In InboxEagle, click the error status indicator to see the error details:
- 401 Unauthorized — The webhook endpoint URL has changed or been regenerated. Re-register the new URL in Klaviyo.
- 404 Not Found — The endpoint no longer exists. Re-generate the webhook URL in InboxEagle and update Klaviyo.
- Signature verification failed — Klaviyo’s signing key may have rotated. Disconnect and reconnect the Klaviyo integration to refresh the key.
- Timeout — InboxEagle took too long to respond (>5 seconds). This is usually transient; check if there were recent service incidents.
Manual sync vs webhooks
Section titled “Manual sync vs webhooks”If webhooks are not configured or are temporarily unavailable, InboxEagle falls back to daily scheduled syncing. This means campaign data may be up to 24 hours behind.
To trigger an immediate manual sync:
- Go to Integrations → Klaviyo
- Click Sync now
- Wait for the sync to complete
Webhooks are recommended for real-time data and for use cases where fresh campaign data matters (e.g., monitoring a campaign immediately after sending).
Next steps
Section titled “Next steps”- Klaviyo setup — Connect your Klaviyo account
- Klaviyo analytics — Use campaign and list analytics
- Bot Finder dashboard — Cross-reference Klaviyo campaign data with bot detection