Webhook event handling patterns for email tracking (sent, delivered, bounced, opened, clicked). Use when implementing email event webhooks, signature verification, processing delivery events, logging email analytics, or building real-time email status tracking.
View on GitHubFebruary 1, 2026
Select agents to install to:
npx add-skill https://github.com/vanman2024/ai-dev-marketplace/blob/main/plugins/resend/skills/webhook-handlers/SKILL.md -a claude-code --skill webhook-handlersInstallation paths:
.claude/skills/webhook-handlers/# Webhook Handlers Skill
Comprehensive patterns and templates for implementing secure webhook handlers with Resend, covering event types, signature verification, and event processing strategies.
## Use When
- Implementing webhook endpoints for email events (sent, delivered, bounced, opened, clicked)
- Setting up signature verification for webhook authenticity
- Building email tracking and analytics systems
- Processing bounce and complaint events for list management
- Creating real-time email status dashboards
- Logging delivery events to database
- Implementing retry logic for webhook processing
- Handling multiple webhook events in parallel
## Webhook Event Types
### Resend Webhook Events
Resend sends webhooks for the following email events:
#### 1. Email Sent
Triggered when email is accepted by Resend.
```json
{
"type": "email.sent",
"created_at": "2024-01-15T10:30:00Z",
"data": {
"email_id": "123e4567-e89b-12d3-a456-426614174000",
"from": "notifications@example.com",
"to": "recipient@example.com",
"subject": "Welcome to Example",
"created_at": "2024-01-15T10:30:00Z"
}
}
```
#### 2. Email Delivered
Triggered when email reaches recipient's mail server.
```json
{
"type": "email.delivered",
"created_at": "2024-01-15T10:35:00Z",
"data": {
"email_id": "123e4567-e89b-12d3-a456-426614174000",
"from": "notifications@example.com",
"to": "recipient@example.com",
"created_at": "2024-01-15T10:35:00Z"
}
}
```
#### 3. Email Bounced
Triggered when email cannot be delivered (hard bounce).
```json
{
"type": "email.bounced",
"created_at": "2024-01-15T10:40:00Z",
"data": {
"email_id": "123e4567-e89b-12d3-a456-426614174000",
"from": "notifications@example.com",
"to": "invalid@example.com",
"reason": "Mailbox does not exist",
"created_at": "2024-01-15T10:40:00Z"
}
}
```
#### 4. Email Opened
Triggered when recipient opens the email (requires pixel tracking).
```json
{
"type": "email.ope