About webhook-integration
A development skill for building webhook systems, covering event-driven integrations from delivery to testing. It includes guidance on verification, idempotency, retries, and reliable processing.
Key features
- 01TypeScript webhook sender guide
- 02Express receiver implementation
- 03Bull queue processing
- 04Webhook testing utilities
- 05Signature, retry, and idempotency practices
Use cases
- 01Integrating Stripe, GitHub, or Shopify
- 02Building event notifications and data sync
- 03Triggering automated workflows
- 04Handling payment callbacks and CI/CD notifications
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill webhook-integrationAfter installing, type/webhook-integrationin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/webhook-queue-with-bull.mdwebhook-receiver-express.mdwebhook-sender-typescript.mdwebhook-testing-utilities.mdscripts/validate-pipeline.shtemplates/pipeline.yamlDetails
From the project READMEWebhook Integration
Table of Contents
Overview
Implement robust webhook systems for event-driven architectures, enabling real-time communication between services and third-party integrations.
When to Use
- Third-party service integrations (Stripe, GitHub, Shopify)
- Event notification systems
- Real-time data synchronization
- Automated workflow triggers
- Payment processing callbacks
- CI/CD pipeline notifications
- User activity tracking
- Microservices communication
Quick Start
Minimal working example:
import crypto from "crypto";
import axios from "axios";
interface WebhookEvent {
id: string;
type: string;
timestamp: number;
data: any;
}
interface WebhookEndpoint {
url: string;
secret: string;
events: string[];
active: boolean;
}
interface DeliveryAttempt {
attemptNumber: number;
timestamp: number;
statusCode?: number;
error?: string;
duration: number;
}
// ... (see reference guides for full implementation)
Reference Guides
Detailed implementations in the references/ directory:
| Guide | Contents |
|---|---|
| Webhook Sender (TypeScript) | Webhook Sender (TypeScript) |
| Webhook Receiver (Express) | Webhook Receiver (Express) |
| Webhook Queue with Bull | Webhook Queue with Bull |
| Webhook Testing Utilities | Webhook Testing Utilities |
Best Practices
✅ DO
- Use HMAC signatures for verification
- Implement idempotency with event IDs
- Return 200 OK quickly, process asynchronously
- Implement exponential backoff for retries
- Include timestamp to prevent replay attacks
- Use queue systems for reliable delivery
- Log all delivery attempts
- Provide webhook testing tools
- Document webhook payload schemas
- Implement webhook management UI
- Allow filtering by event types
- Support webhook versioning
❌ DON'T
- Send sensitive data in webhooks
- Skip signature verification
- Block responses with heavy processing
- Retry indefinitely
- Expose internal error details
- Send webhooks to localhost (in production)
- Forget timeout handling
- Skip rate limiting
Comments
Markdown supported