Quickstart
Get your first webhook routing in under 3 minutes. You'll need a Hookman account — sign up free.
1. Create a project
A project in Hookman maps to one webhook integration — for example, your Stripe setup, your GitHub webhooks, or your Paddle integration. Each project gets a unique endpoint URL.
Go to your dashboard, click New project, and choose a slug. The slug becomes part of your endpoint URL and can't be changed later.
https://hookman.dev/w/{org}/{project}For example:
https://hookman.dev/w/acme/payments 2. Register your deployments
Tell Hookman where each branch deployment lives. You can do this from the dashboard, the CLI, or the GitHub Action (recommended for teams).
Via CLI
Install the CLI and authenticate:
## Install globally
npm install -g hookman
## Authenticate (opens browser)
hookman login
## Register a deployment
hookman register \
--org acme \
--project payments \
--branch feature/checkout \
--url https://pr-42.myapp.com/api/webhooks/stripe
The register command is idempotent —
running it again with the same branch updates the URL rather than creating
a duplicate. This makes it safe to call on every deploy.
HOOKMAN_API_KEY
environment variable and drop the --key
flag entirely. Key resolution order: --key
flag → HOOKMAN_API_KEY env →
~/.hookman/config.json.
Via GitHub Action
Add this to your repository to register deployments automatically when Vercel, Netlify, or Cloudflare Pages posts a preview URL:
name: Hookman webhook routing
on:
deployment_status:
pull_request:
types: [closed]
jobs:
hookman:
runs-on: ubuntu-latest
steps:
- uses: hookman-dev/register-deployment@v1
with:
api-key: ${{ secrets.HOOKMAN_API_KEY }}
org: acme
project: payments
webhook-path: /api/webhooks/stripe
The action uses deployment_status events —
these fire after the deployment platform posts the preview URL back
to GitHub. Your PR URL is available the moment it's live.
On PR close, the deployment is automatically removed.
3. Configure your webhook provider
Set your Hookman endpoint as the webhook URL in your provider. You'll do this once and never need to change it again.
Stripe
# Stripe CLI
stripe webhooks update wh_xxx \
--url https://hookman.dev/w/acme/payments
# Or set it in the Stripe dashboard:
# Developers → Webhooks → your endpoint → Update Paddle
In the Paddle dashboard, go to Notifications and set the endpoint URL to your Hookman endpoint. Paddle supports one URL per notification destination — Hookman is the one URL you'll ever set.
4. Switch the active branch
When you want webhooks to go to a different deployment, flip the switch.
Dashboard
Open your project in the dashboard and use the active deployment dropdown. The change takes effect immediately.
CLI
hookman switch \
--org acme \
--project payments \
--branch feature/checkout