Skip to main content

Replaying Webhooks

Learn how to replay, forward, and resend webhook requests using app.h00k.dev's forwarding features and cURL export.

Overview

app.h00k.dev provides multiple ways to replay webhook requests:

  1. Automatic Forwarding - Forward new requests automatically to a target URL
  2. Manual Forwarding - Manually replay individual requests
  3. cURL Export - Generate cURL commands to replay requests manually

These features are essential for:

  • Testing webhooks against your local development server
  • Debugging webhook handlers
  • Reproducing issues
  • Integration testing

Automatic Request Forwarding

Overview

Automatic forwarding sends new incoming requests to a configured target URL in real-time. This is perfect for development when you want webhooks to reach your local server.

Configuration

Access Forwarding Settings

Click the forwarding icon in the bin header:

Forwarding disabled

Forwarding active

Setup Steps

1. Enable Forwarding

Toggle the "Enable Forwarding" switch.

2. Set Target URL

Enter your destination URL.

Examples:

https://localhost:3000/webhooks
http://192.168.1.100:8000/api/hooks
https://myapp.ngrok.io/callbacks
https://api.example.com/webhooks/test

Important: URL must start with http:// or https://

3. Select HTTP Methods

Choose which methods to forward.

Default: GET, POST, PUT, PATCH, DELETE

4. Configure Headers

Specify which headers to forward (comma-separated):

Options:

  • Empty (default): Forward all headers
  • Specific headers: Only forward listed headers (case-insensitive)

Manual Request Forwarding

Forward Single Request

Forward a previously received request using this button:

Use Cases:

  • Replay specific test cases
  • Debug individual requests
  • Re-trigger webhook handlers
  • Test error handling

Forwarding Results

Results are displayed in the request details panel.

cURL Export

Generate cURL Command

Export any request as a cURL command. You can use the cURL command to send request via termial or via postman.

Example cURL Output

Simple GET:

curl -X GET 'https://hook.h00k.dev/x7k2m9p4q1/api/test?key=value'

POST with JSON:

curl -X POST 'https://hook.h00k.dev/x7k2m9p4q1/webhooks' \
-H 'Content-Type: application/json' \
-H 'User-Agent: Mozilla/5.0' \
-H 'X-Custom-Header: value' \
-d '{
"event": "user.created",
"user": {
"id": 123,
"email": "user@example.com"
}
}'

PUT with Authorization:

curl -X PUT 'https://hook.h00k.dev/x7k2m9p4q1/api/users/123' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' \
-d '{
"name": "Updated Name",
"email": "newemail@example.com"
}'

Troubleshooting

Forwarding Not Working

Check:

  1. ✅ Forwarding enabled in settings
  2. ✅ Target URL starts with http:// or https://
  3. ✅ Method filter includes request method
  4. ✅ Target server is running and accessible
  5. ✅ No firewall blocking requests

Solutions:

  • Verify target URL in browser
  • Check server logs for incoming requests
  • Test with curl directly to target
  • Inspect browser console for errors

Wrong Headers Forwarded

Issue: Some headers missing or unexpected headers included

Solutions:

  • Review header filter configuration
  • Use specific header list (not empty)
  • Check header names (case-insensitive matching)

CORS Errors

Issue: Browser blocks forwarding due to CORS

Note: Forwarding happens server-side (not affected by CORS)

If you see CORS errors:

  • They're from a different request
  • Forwarding itself doesn't trigger CORS
  • Target server CORS settings don't affect h00k.dev
  • Bins: Deep dive into bin management
  • Snapshot: Create snapshot to share with devs