Skip to content

Quickstart

This guide takes you from zero to a working webhook routing setup. You’ll need a Hookman account — the free tier is enough for everything here.

Time to complete: ~3 minutes.


  1. Create a project

    A project maps to one webhook integration — for example, your Stripe checkout webhooks, or your GitHub repository webhooks. Each project gets its own Hookman endpoint.

    Go to your dashboard, click New project, and choose:

    • Name — human-readable, shown in the dashboard
    • Slug — used in your endpoint URL; lowercase, hyphens only; can’t be changed later

    Your endpoint will be:

    https://hookman.dev/w/{org}/{project}

    For example: https://hookman.dev/w/acme/payments

  2. Register your first deployment

    Tell Hookman where your branch deployment lives. Pick your preferred method:

    Install the CLI and register your deployment:

    Terminal window
    # Install globally
    npm install -g hookman
    # Authenticate — opens your browser
    hookman login
    # Register a deployment
    hookman register \
    --org acme \
    --project payments \
    --branch main \
    --url https://myapp.com/api/webhooks/stripe
  3. Set this as your webhook URL

    Configure your webhook provider to POST to your Hookman endpoint. Do this once — you’ll never need to change it.

    Terminal window
    # Stripe CLI
    stripe webhooks update wh_xxx \
    --url https://hookman.dev/w/acme/payments

    Or via the Stripe Dashboard: open your endpoint, click Update details, paste your Hookman URL.

  4. Switch to a branch deployment

    When you want webhooks to go to a specific branch, set it as active:

    In your project view, find the deployment you want to activate and click Set active. The green indicator moves to that deployment. All incoming webhooks are now forwarded there.


Verify it’s working

Send a test webhook from your provider and check the Logs tab in your project dashboard. You should see an entry with:

  • The routing method used (e.g. switch)
  • The deployment it was forwarded to
  • The response status from your target
  • The end-to-end latency

If the log shows a routing failure, check troubleshooting common errors.


What’s next