Dashboard Live Updates

The Hooksbase dashboard keeps delivery and DLQ views fresh as new events flow through your webhooks — you do not need to refresh the page to see new attempts, status changes, or new DLQ entries. This is a dashboard product feature and is not part of the Public API.

What you see in the dashboard

When you open a delivery or DLQ view, the dashboard streams updates in the background:

  • new deliveries appear at the top of the list as they are accepted
  • existing delivery rows update their status and attempt counts as retries run
  • new DLQ entries appear when a delivery exhausts retries and moves to the dead-letter queue
  • DLQ status changes (for example, after a successful re-drive) reflect in the list without a manual reload

Live updates are a short-window incremental refresh — they complement, and do not replace, the delivery list. Closing and reopening the view (or switching tabs and coming back) reloads the current state from scratch.

How to use it

Live updates are on by default in the dashboard — there is nothing to configure. Practical guidance:

  • leave the dashboard open on the deliveries or DLQ view while you are monitoring a cutover or triaging an incident
  • a hidden browser tab may briefly pause the stream; clicking back refreshes the current state before resuming
  • for long-horizon investigations, prefer the delivery list filters (time range, webhook, status, idempotency key, etc.) — live updates only reflect recent changes

Getting the same visibility from the Public API

The Public API does not expose a dashboard-style SSE endpoint. For machine automation, use the normal list routes with appropriate filters and polling:

  • GET /v1/deliveries with from and to to fetch changes in a rolling window
  • GET /v1/dlq with cursor pagination for DLQ inspection
  • GET /v1/webhooks/{id}/metrics and GET /v1/webhooks/{id}/backlog for health trends

If you need push-style delivery lifecycle events in your own system, set up event drains — they forward delivery.created, delivery.succeeded, delivery.failed, delivery.dlq_entered, and attempt.completed events to sinks you control.

Common mistakes

  • Assuming dashboard live updates are available as a public SSE endpoint. They are not — use the Public API list routes or an event drain for machine automation.
  • Treating the dashboard as a durable event archive. Persistent lifecycle streams belong in an event drain.
  • Relying on a hidden tab to stay caught up indefinitely. The dashboard prefers a fresh current view after long idle periods.

Was this page helpful?