An event drain is a streamed feed of webhook lifecycle events delivered to an external observability sink. Instead of webhook telemetry living only in the relay's dashboard, drains push the same events into Datadog, Axiom, your OTLP collector, or an S3 bucket — alongside the rest of your application telemetry.
What flows through a drain
The standard lifecycle events:
delivery.created— an event was ingested and a delivery was scheduledattempt.completed— a delivery attempt finished (success or failure)delivery.succeeded— one attempt succeeded and the delivery is completedelivery.failed— all attempts failed (terminal)delivery.dlq_entered— a delivery moved to the DLQ
Each event includes the metadata needed to correlate it with the originating webhook, source, and destination.
Why drains matter
Most teams already have an observability stack. Webhook telemetry is most useful inside that stack — alongside application logs, infra metrics, and alerting rules — not in a separate dashboard.
Drains make this happen without your application doing the integration work. The relay streams to your sink directly; your existing dashboards add panels for webhook delivery; your existing alerts trigger on webhook anomalies.
Hooksbase drains support five sink types: HTTP (custom endpoints), Axiom, Datadog, S3-compatible object storage, and OTLP HTTP (any OpenTelemetry collector). Drains start on the Pro tier — 1 drain on Pro, 3 on Business, unlimited on Enterprise.
For the practical setup: Stream agent event lifecycle to your observability stack.
Related terms
- Observability
Knowing what arrived, what was attempted, what succeeded, and what failed — without grepping logs.
Read - Webhook
An HTTP request one service sends to another to notify it that something happened.
Read - DLQ (Dead-Letter Queue)
A holding area for messages that failed terminally so they can be inspected and recovered.
Read - Attempt
One HTTP request within a delivery's retry chain.
Read