How we compare
Different approaches to webhooks: tunnels, queue-push services, and self-hosted proxies. Here's how the agent-based pull model compares.
| AgentWebhook (pull) | ngrok (tunnel) | Hookdeck (queue-push) | Self-hosted proxy | |
|---|---|---|---|---|
| Model | Store-and-forward; you pull | Real-time tunnel; push | Queue then push to your URL | Real-time proxy; push |
| Local server required? | No | Yes | Yes | Yes |
| Public IP / open port? | No | No | Yes | Yes |
| Handles endpoint downtime? | Yes — queued | No — events lost | Yes | No (unless you build queueing) |
| Connection direction | Outbound-only | Inbound | Inbound | Inbound |
| Replay / history | Yes | No | Yes | No (build it) |
| Setup | Simple | Very simple | Simple | Complex |
| Production-ready | Yes | No | Yes (but inbound) | Depends on you |
AgentWebhook (pull)
ModelStore-and-forward; you pull
Local server?No
Public IP?No
Downtime?Queued
DirectionOutbound-only
ReplayYes
SetupSimple
Production-readyYes
ngrok (tunnel)
ModelReal-time tunnel; push
Local server?Yes
Public IP?No
Downtime?Events lost
DirectionInbound
ReplayNo
SetupVery simple
Production-readyNo
Hookdeck (queue-push)
ModelQueue then push to your URL
Local server?Yes
Public IP?Yes
Downtime?Yes
DirectionInbound
ReplayYes
SetupSimple
Production-readyYes (but inbound)
Self-hosted proxy
ModelReal-time proxy; push
Local server?Yes
Public IP?Yes
Downtime?No (unless you build it)
DirectionInbound
ReplayNo (build it)
SetupComplex
Production-readyDepends on you
The trade-off
Tunnels are for development. Queue-push services improve reliability but still require a public endpoint. Self-hosting shifts the burden to you. The agent-based pull model gives you a persistent queue, outbound-only security, and no requirement for a listening server—all in one managed platform.