If you're handling email events from Resend, this gives you working webhook handlers with proper signature verification using Svix under the hood. It covers the essential pattern: raw body parsing (critical for verification), checking those svix-id/timestamp/signature headers, and handling events like email.sent, email.delivered, and email.bounced. The manual verification code is useful if you're not using the SDK or working in another language. One thing to note: it references a separate webhook-handler-patterns skill for idempotency and retry logic, which you'll definitely want since email webhooks can duplicate. Ships with Express, Next.js, and FastAPI examples plus a Hookdeck CLI command for local testing without ngrok.

skills.sh installs
266
GitHub stars
100
last updated
Aug 21, 2026

Install

$ npx -y skills add hookdeck/webhook-skills --skill resend-webhooks --agent claude-code

Installs into .claude/skills of the current project.

Files

Resend Webhooks

When to Use This Skill

  • Setting up Resend webhook handlers
  • Debugging signature verification failures
  • Understanding Resend event types and payloads
  • Handling email delivery events (sent, delivered, bounced, etc.)
  • Processing inbound emails via email.received events

Essential Code (USE THIS)

Express Webhook Handler (Using Resend SDK)

const express = require('express');
const { Resend } = require('resend');

const resend = new Resend(process.env.RESEND_API_KEY);
const app = express();

// CRITICAL: Use express.raw() for webhook endpoint - Resend needs raw body
app.post('/webhooks/resend',
  express.raw({ type: 'application/json' }),
  async (req, res) => {
    try {
      // Verify signature using Resend SDK (uses Svix under the hood)
      const event = resend.webhooks.verify({
        payload: req.body.toString(),
        headers: {
          id: req.headers['svix-id'],           // Note: short key names
          timestamp: req.headers['svix-timestamp'],
          signature: req.headers['svix-signature'],
        },
        webhookSecret: process.env.RESEND_WEBHOOK_SECRET  // whsec_xxxxx
      });

Sponsors

Details

Repository
github.com/hookdeck/webhook-skills
Category
Debugging
First seen
Jun 3, 2026

More from hookdeck/webhook-skills

All 7

Recommended

More Debugging
1martinholovsky avatarrustmartinholovsky/claude-skills-generatorSystems programming expertise for Tauri desktop application backend development with memory safety and performance optimization266skills.sh installs
2nucliweb avatarwebperf-medianucliweb/webperf-snippetsIntelligent media optimization with automated workflows for images, videos, and SVGs. Includes decision trees that detect LCP images (triggers format/lazy-loadi266skills.sh installs
3octagonai avatarincome-statement-growthoctagonai/skillsRetrieve year-over-year growth in income statement items including Revenue, Gross Profit, Operating Income, Net Income, and EPS Diluted. Use when analyzing comp266skills.sh installs
4cinience avataralicloud-ai-recommend-aireccinience/alicloud-skillsManage Alibaba Cloud AIRec (Airec) via OpenAPI/SDK. Use whenever the user needs recommendation-engine resource operations in Alibaba Cloud, including list/creat265skills.sh installs
5martinholovsky avatarfastapi-expertmartinholovsky/claude-skills-generatorExpert FastAPI developer specializing in production-ready async REST APIs with Pydantic v2, SQLAlchemy 2.0, OAuth2/JWT authentication, and comprehensive securit265skills.sh installs
6cinience avataralicloud-ai-cloud-call-centercinience/alicloud-skillsManage Alibaba Cloud Cloud Call Center (CCC) via OpenAPI/SDK. Use whenever the user is working on CCC operations such as instance/resource management, configura264skills.sh installs