Installation
Prerequisites
Section titled “Prerequisites”- Node.js 22+ (also supports Bun and Deno)
- PostgreSQL 13+, MySQL, or SQLite
- TypeScript 5+ (recommended, but not required)
- An existing application with a supported ORM and framework
Install the package
Section titled “Install the package”npm install @usebetterdev/webhookspnpm add @usebetterdev/webhooksyarn add @usebetterdev/webhooksbun add @usebetterdev/webhooksThe main package (@usebetterdev/webhooks) includes the core library and all adapters via subpath exports. The CLI (@usebetterdev/webhooks-cli) is used via npx for generating migrations and managing webhook data — no installation required.
Peer dependencies
Section titled “Peer dependencies”You need a database driver and (optionally) a framework. Install the ones you use:
ORM adapter
Section titled “ORM adapter”npm install drizzle-orm pgimport { drizzleWebhookAdapter } from "@usebetterdev/webhooks/drizzle";npm install drizzle-orm postgresimport { drizzleWebhookAdapter } from "@usebetterdev/webhooks/drizzle";npm install drizzle-orm better-sqlite3import { drizzleWebhookAdapter } from "@usebetterdev/webhooks/drizzle";npm install @prisma/clientRequires @prisma/client >= 5.0.0.
import { prismaWebhookAdapter } from "@usebetterdev/webhooks/prisma";npm install kysely pgimport { kyselyWebhookAdapter } from "@usebetterdev/webhooks/kysely";Framework adapter
Section titled “Framework adapter”npm install honoRequires hono >= 4.
import { betterWebhooksHono } from "@usebetterdev/webhooks/hono";npm install expressRequires express >= 4.
import { betterWebhooksExpress } from "@usebetterdev/webhooks/express";Next.js is already installed in your project.
import { betterWebhooksNext } from "@usebetterdev/webhooks/next";Run migrations
Section titled “Run migrations”The CLI reads your database connection from the DATABASE_URL environment variable. After installing, run it to create the required database tables:
npx @usebetterdev/webhooks-cli migrateExample output (may vary)
✔ Connected to database✔ Created table: webhook_events✔ Created table: webhook_endpoints✔ Created table: webhook_deliveries✔ Migrations completePeer dependency reference
| Adapter | Peer dependency | Minimum version |
|---|---|---|
@usebetterdev/webhooks/drizzle | drizzle-orm | 0.30+ |
@usebetterdev/webhooks/drizzle | pg or postgres or better-sqlite3 | — |
@usebetterdev/webhooks/prisma | @prisma/client | 5.0.0 |
@usebetterdev/webhooks/kysely | kysely | 0.27+ |
@usebetterdev/webhooks/kysely | pg | — |
@usebetterdev/webhooks/hono | hono | 4.0.0 |
@usebetterdev/webhooks/express | express | 4.0.0 |
@usebetterdev/webhooks/next | next | 14.0.0 |
Next steps
Section titled “Next steps” Quick Start Send your first webhook event.