Quickstart

Get up and running with HooksDash in 5 minutes

Get started with HooksDash in 5 minutes or less.

What You'll Learn

  • Create a webhook endpoint
  • Receive your first webhook
  • Inspect webhook data
  • Forward webhooks to localhost

Step 1: Sign Up (1 minute)

  1. Go to hooksdash.ibadsiddiqui.dev
  2. Click "Sign Up"
  3. Sign in with your preferred method (Google, GitHub, or email)

Step 2: Create an Endpoint (30 seconds)

  1. After logging in, click "New Endpoint"
  2. Enter a name: my-first-endpoint
  3. (Optional) Add a description
  4. Click "Create"

You'll see your webhook URL:

https://hooksdash.ibadsiddiqui.dev/api/h/my-first-endpoint

Step 3: Send a Test Webhook (30 seconds)

Open your terminal and send a test webhook using cURL:

curl -X POST https://hooksdash.ibadsiddiqui.dev/api/h/my-first-endpoint \
  -H "Content-Type: application/json" \
  -d '{
    "event": "test",
    "message": "Hello from HooksDash!",
    "timestamp": 1234567890
  }'

Response:

{
  "success": true,
  "data": {
    "received": true,
    "requestId": "cmlo...",
    "timestamp": "2026-01-01T00:00:00.000Z"
  }
}

Step 4: Inspect Your Webhook (30 seconds)

  1. Go back to the HooksDash dashboard
  2. Click on your endpoint (my-first-endpoint)
  3. You'll see your webhook request listed
  4. Click on it to see:
    • Request method (POST)
    • Headers
    • Body/payload
    • Timestamp
    • Source IP

Step 5: Forward to Localhost (2 minutes)

Now let's forward webhooks to your local development server.

Install the CLI

npm install -g hooksdash

Login

hooksdash login

This opens your browser for authentication.

Start a Local Server

Create a simple server (or use your existing one):

// server.js
const express = require('express');
const app = express();

app.use(express.json());

app.post('/webhook', (req, res) => {
  console.log('Webhook received!', req.body);
  res.json({ received: true });
});

app.listen(3000, () => {
  console.log('Server running on http://localhost:3000');
});

Start it:

node server.js

Forward Webhooks

In a new terminal:

hooksdash forward --port 3000 --endpoint my-first-endpoint

Send Another Webhook

curl -X POST https://hooksdash.ibadsiddiqui.dev/api/h/my-first-endpoint \
  -H "Content-Type: application/json" \
  -d '{
    "event": "forwarded",
    "message": "This will reach localhost!"
  }'

Check your server terminal - you should see:

Webhook received! { event: 'forwarded', message: 'This will reach localhost!' }

What's Next?

Integrate with Real Services

Configure HooksDash in your favorite services:

Stripe:

  1. Go to Stripe Dashboard → Developers → Webhooks
  2. Add endpoint: https://hooksdash.ibadsiddiqui.dev/api/h/stripe-dev
  3. Select events to send
  4. Send test webhook

GitHub:

  1. Go to Repository → Settings → Webhooks
  2. Payload URL: https://hooksdash.ibadsiddiqui.dev/api/h/github-dev
  3. Content type: application/json
  4. Select events
  5. Add webhook

Twilio:

  1. Go to Twilio Console → Phone Numbers
  2. Webhook URL: https://hooksdash.ibadsiddiqui.dev/api/h/twilio-dev
  3. Save

Replay Webhooks

Test your webhook handler by replaying captured webhooks:

  1. Go to HooksDash dashboard
  2. Click on a request
  3. Click "Replay"
  4. Enter your localhost URL: http://localhost:3000/webhook
  5. Click "Send"

Explore Features

  • Multiple endpoints: Create separate endpoints for different services
  • Request filtering: Search and filter webhook requests
  • Endpoint management: Activate/deactivate endpoints as needed
  • API access: Use the HooksDash API programmatically

Common Use Cases

Local Development

# Start dev server
npm run dev

# Forward webhooks in another terminal
hooksdash forward --port 3000

Testing Webhook Signatures

// Verify Stripe signature
const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);

app.post('/webhook', express.raw({ type: 'application/json' }), (req, res) => {
  const sig = req.headers['stripe-signature'];

  try {
    const event = stripe.webhooks.constructEvent(req.body, sig, process.env.STRIPE_WEBHOOK_SECRET);

    console.log('Verified webhook:', event.type);
    res.json({ received: true });
  } catch (err) {
    console.error('Signature verification failed:', err.message);
    res.status(400).send(`Webhook Error: ${err.message}`);
  }
});

Debugging Webhook Issues

  1. Inspect headers: Check for signature headers, API versions, etc.
  2. Compare payloads: Replay with modified data to test edge cases
  3. Check timing: View exact timestamp when webhook was received
  4. Monitor responses: See how your local server responds

Troubleshooting

Webhook not appearing in dashboard

  • Check endpoint slug is correct
  • Verify endpoint is active (not paused)
  • Try sending webhook again
  • Check for typos in URL

CLI not forwarding

# Check you're logged in
hooksdash status

# Verify local server is running
curl http://localhost:3000

# Check firewall isn't blocking WebSocket

Replay not working

  • Ensure target URL is accessible
  • For localhost, make sure CLI tunnel is running
  • Check your local server logs for errors

Need Help?


Congratulations! 🎉 You're now ready to use HooksDash for webhook development and debugging.