mcpField
W
webhook-integration

webhook-integration

github.com/aj-geddesDevelopment375458 installsUpdated 35w ago
Repository

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

  1. 01TypeScript webhook sender guide
  2. 02Express receiver implementation
  3. 03Bull queue processing
  4. 04Webhook testing utilities
  5. 05Signature, retry, and idempotency practices

Use cases

  1. 01Integrating Stripe, GitHub, or Shopify
  2. 02Building event notifications and data sync
  3. 03Triggering automated workflows
  4. 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-integration

After 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.md
webhook-receiver-express.md
webhook-sender-typescript.md
webhook-testing-utilities.md
scripts/
validate-pipeline.sh
templates/
pipeline.yaml

Details

From the project README

Webhook 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:

GuideContents
Webhook Sender (TypeScript)Webhook Sender (TypeScript)
Webhook Receiver (Express)Webhook Receiver (Express)
Webhook Queue with BullWebhook Queue with Bull
Webhook Testing UtilitiesWebhook 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