integrations

Implements webhooks, OAuth flows, background job queues, and third-party API clients.

2|Updated Jun 8, 2026
One-click install
npx skills add https://github.com/lunaticwithaduck/easytech3d --skill integrations-lunaticwithaduck
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: integrations
Source: https://github.com/lunaticwithaduck/easytech3d/tree/main/.claude/skills/integrations
Command: npx skills add https://github.com/lunaticwithaduck/easytech3d --skill integrations-lunaticwithaduck

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building reliable connections to external services is error-prone: unverified webhooks create security holes, missing idempotency causes duplicate processing, and synchronous API calls slow down requests. This Skill provides production patterns for webhooks, OAuth, background jobs, and rate-limited API clients. ## Core Features & Use Cases - Webhook Handling: Signature verification for Stripe, GitHub, Slack, and HubSpot, plus idempotent handlers and outbound delivery with exponential backoff retries. - Background Jobs: BullMQ queue setup with delayed, scheduled, prioritized, and rate-limited jobs, plus Bull Board monitoring dashboards. - OAuth & CRM Integration: Complete OAuth 2.0 authorization code flow with encrypted token storage and refresh logic, plus HubSpot sync and Zapier/n8n trigger-action endpoints. - Use Case: When a user asks to receive Stripe payment events, the Skill guides building a signature-verified, idempotent webhook endpoint that queues events to BullMQ instead of processing synchronously. ## Quick Start Ask the assistant to build a signature-verified webhook endpoint with idempotent processing and a BullMQ retry queue for your chosen provider.

Frequently Asked Questions about integrations

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify webhook signatures in Node.js?▼

Verify webhook signatures by computing an HMAC-SHA256 of the raw request body with your secret and comparing it to the signature header using crypto.timingSafeEqual. Each provider uses a different header, such as stripe-signature or x-hub-signature-256.

How do I make webhook handlers idempotent?▼

Store each incoming event's unique ID in a database table with a unique constraint before processing. When a duplicate delivery arrives, look up the event ID and return a 200 response without reprocessing, preventing double charges or duplicate records.

What is the best way to handle third-party API rate limits?▼

Respect the Retry-After header on 429 responses, apply exponential backoff with jitter on retries, and check X-RateLimit-Remaining headers to slow down proactively. For known limits, use a BullMQ rate limiter to cap requests per second.

Should I call external APIs synchronously in a request handler?▼

No. Synchronous external calls cause slow responses and timeouts. Queue the work with BullMQ and return immediately, letting a worker process the job with retries, timeouts, and a circuit breaker for failing services.

How do I store OAuth tokens securely?▼

Encrypt access and refresh tokens before storing them in the database, keyed per user and provider. Implement automatic refresh before expiry and use the state parameter during the authorization flow to prevent CSRF attacks.