Convex component for reliable webhook delivery with Ed25519 signing, automatic retries, exponential backoff, and complete delivery tracking.
npm install convex-webhook-sender**Reliable outbound webhook delivery as a drop-in Convex component.**
Send webhooks without building your own retry logic, signing, or delivery pipeline.
- Ed25519 signing with HMAC-SHA256 fallback & public key exposure
- Automatic retries with exponential backoff on 5xx and network failures
- Per-destination rate limiting (configurable req/s)
- Parallel or serialized (FIFO) delivery modes
- Full attempt history: status codes, timestamps, errors
- Signature verification utility included
The convex-webhook-sender component lets you send webhooks directly from Convex mutations using webhooks.send(). Register webhook destinations with webhooks.registerDestination() and the component handles HMAC signing, retries, and delivery tracking automatically.
The convex-webhook-sender component provides automatic retry logic with exponential backoff for 5xx responses and network failures. Configure maxRetries and retryWindowMs per destination to control retry behavior without building custom retry infrastructure.
The component automatically signs webhooks using HMAC-SHA256 with Standard Webhooks compatible secrets. It includes signature verification utilities for recipients and exposes signing secrets through getSigningSecret() for webhook validation.
Track webhook delivery status with getWebhookStatus() and view complete attempt history using getDeliveryHistory(). The component logs all delivery attempts including status codes, timestamps, and error details for debugging failed webhooks.
The convex-webhook-sender component uses HMAC-SHA256 signing with Standard Webhooks compatible secrets prefixed with 'whsec_'. It automatically adds webhook-signature headers and includes verification utilities for recipients to validate webhook authenticity.
The component automatically retries webhooks on 5xx status codes and network failures using exponential backoff. You can configure maxRetries and retryWindowMs per destination, with parallel or serialized (FIFO) delivery modes available.
Yes, convex-webhook-sender provides complete delivery tracking through getWebhookStatus(), getDeliveryHistory(), and getFailedWebhooks() methods. The component logs all delivery attempts with status codes, timestamps, and error details for comprehensive monitoring.
The convex-webhook-sender component includes per-destination rate limiting with configurable requests per second. This prevents overwhelming webhook endpoints while maintaining reliable delivery through the built-in retry mechanism.