Send Webhooks
Hookbase helps you build webhook infrastructure for your customers. Instead of building webhook delivery from scratch, use our SDK and Portal to provide a polished webhook experience.
What You Get
- Reliable Delivery - Automatic retries, exponential backoff, and dead letter queues
- Customer Portal - Embeddable React components for endpoint management
- Event Types - Define and organize the events your customers can subscribe to
- Signature Verification - HMAC-SHA256 signatures for secure webhooks
- Delivery Logs - Full visibility into delivery attempts and failures
Architecture
Your Application Hookbase Your Customer
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ │ Send webhook │ │ Deliver │ │
│ Backend │ ─────────────────▶│ API │──────────────▶│ Endpoint │
│ │ via SDK │ │ │ │
└─────────────┘ └─────────────┘ └─────────────┘
│
│
┌─────────────┐ ┌─────────────┐
│ │ Embed portal │ │
│ Frontend │ ◀─────────────────│ Portal │
│ │ components │ │
└─────────────┘ └─────────────┘Quick Start
1. Install the SDK
bash
npm install @hookbase/sdk2. Send Your First Webhook
typescript
import { Hookbase } from '@hookbase/sdk';
const hookbase = new Hookbase({
apiKey: process.env.HOOKBASE_API_KEY,
});
// Create an application for your customer
const app = await hookbase.applications.create({
name: 'Acme Corp',
uid: 'customer_123',
});
// Send a webhook
await hookbase.messages.send(app.id, {
eventType: 'order.created',
payload: {
orderId: 'ord_123',
amount: 99.99,
},
});3. Embed the Portal
tsx
import { HookbasePortal, EndpointList, EndpointForm } from '@hookbase/portal';
import '@hookbase/portal/styles.css';
function WebhookSettings({ portalToken }) {
return (
<HookbasePortal token={portalToken}>
<EndpointForm />
<EndpointList />
</HookbasePortal>
);
}