| name | customerio-webhooks-events |
| description | Implement Customer.io webhook and reporting event handling.
Use when processing email delivery events, click/open tracking,
bounce handling, or streaming to a data warehouse.
Trigger: "customer.io webhook", "customer.io events",
"customer.io delivery status", "customer.io bounces", "customer.io open tracking".
|
| allowed-tools | Read, Write, Edit, Bash(npm:*), Bash(npx:*), Glob, Grep |
| version | 1.14.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","customer-io","webhooks","events","delivery"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Customer.io Webhooks & Events
Overview
Implement Customer.io reporting webhook handling: receive real-time delivery events (sent, delivered, opened, clicked, bounced, complained, unsubscribed), verify HMAC-SHA256 signatures, process events reliably with queuing, and stream to a data warehouse.
How Reporting Webhooks Work
Customer.io Your Server Data Warehouse
โโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโโโโ
Email sent โ POST /webhooks/cio โ Verify signature
Email opened โ POST /webhooks/cio โ Parse event type
Link clicked โ POST /webhooks/cio โ Route to handler โ INSERT INTO events
Email bounced โ POST /webhooks/cio โ Suppress user
Configure at: Data & Integrations > Integrations > Reporting Webhooks
Prerequisites
- Public HTTPS endpoint for webhook receiver
- Webhook signing key from Customer.io dashboard
- Express or similar HTTP framework
Instructions
Step 1: Define Webhook Event Types
type CioMetric =
| "sent"
| "delivered"
| "opened"
| "clicked"
| "converted"
| "bounced"
| "spammed"
| "unsubscribed"
| "dropped"
| "deferred"
| "failed";
{
: ;
: ;
: ;
: ;
?: ;
?: ;
?: ;
?: ;
?: ;
?: ;
?: ;
?: ;
?: ;
}