Forwarding
Forwarding lets CatchHook automatically deliver every incoming webhook to your own server in real time. Webhooks are still stored for inspection — forwarding happens in addition to storage, not instead of it.
Requires Pro or Business plan.
Setting up a forwarding target
- Open an endpoint and go to the Forwarding Targets tab.
- Click Add forwarding target.
- Configure the target:
- URL (required) — the destination where webhooks should be forwarded (e.g.,
https://api.example.com/webhooks). - Name (optional) — a label for this target.
- Enabled — toggle forwarding on or off without deleting the target.
- URL (required) — the destination where webhooks should be forwarded (e.g.,
- Save.
Every new webhook that arrives at this endpoint will now be forwarded to your target URL with the original method, headers, and body.
Optional path/query append
Each forwarding target can optionally:
- Append original path — forwards the inbound webhook path onto the target URL path.
- Append original query — merges inbound query parameters into the target URL query string.
Both options are off by default for backward compatibility.
Multiple targets
| Plan | Targets per endpoint |
|---|---|
| Pro | 1 |
| Business | Unlimited |
Business accounts can forward the same webhook to multiple destinations simultaneously — useful for sending to both production and a logging service.
Retries and timeouts
If a forwarding attempt fails (non-2xx response or timeout), CatchHook retries automatically. You can see the delivery status, response code, and response time for each attempt on the forwarding target's detail view.
Forwarding normalizes Rack-style headers (for example HTTP_X_HUB_SIGNATURE_256 -> X-Hub-Signature-256) before delivery so downstream signature verification works consistently.
Circuit breaker
To protect your downstream services, CatchHook uses a circuit breaker pattern:
- If a target fails repeatedly, it is automatically disabled.
- After a 30-minute cooldown, the target is re-enabled and delivery resumes.
- You'll be notified when a target is disabled so you can investigate.
Forwarding health
On the forwarding target detail view, you can see:
- Success rate — percentage of successful deliveries.
- Response time — average response time from your server.
- Last delivery — timestamp and result of the most recent attempt.
Manual replay vs. automatic forwarding
| Feature | Replay | Forwarding |
|---|---|---|
| Trigger | Manual (click per request) | Automatic (every incoming request) |
| Destination | Any URL you enter | Pre-configured target(s) |
| Plan required | Any | Pro or Business |
Both replay and forwarding send the original method, headers, and body.