Skip to main content

Dashboard anatomy

Running wi opens the dashboard. It is a single screen, built with OpenTUI and Solid, with four regions and a couple of overlays. This page names every part so the rest of the documentation can refer to them.

The webhook-it dashboard with its four regions

The dashboard: header, Endpoints pane, Events pane, footer.

The header

The top bar shows the product name on the left and the daemon status on the right. The status is color-coded and tells you the mode and, when running, the public base URL:

StatusMeaning
stopped (local) / stopped (tunnel)The daemon is not running. The word in parentheses is the mode it will start in.
starting (...)The daemon — and, in tunnel mode, the ngrok tunnel — is coming up.
running (local) — http://127.0.0.1:4505Up in local mode.
running (tunnel) — https://you.ngrok-free.appUp in tunnel mode, with the public URL.
error (...)The daemon failed to start. The footer carries the reason.

See The daemon and The two modes.

The Endpoints pane

The left pane lists your endpoints. The selected one is highlighted; move the selection with the / arrows (or k / j).

Below the list, the selected endpoint shows its detail:

  • target — the local URL events are forwarded to.
  • public url — the full /w/<name> URL to give a provider. Before the daemon starts it reads (start the daemon to get a URL).

When there are no endpoints yet, the pane prompts: no endpoints — press 'n'.

The Events pane

The right pane is a live feed of webhooks received by the selected endpoint, newest first. The title reflects the selection — Events — stripe-dev.

Each row is one event:

14:32:09 k4m2p9x1c7 POST 200
│ │ │ │
time id method+suffix delivery status

Rows are color-coded by delivery status:

  • Normal — delivered with a 2xx / 3xx code.
  • Red — delivered, but the local app returned 4xx / 5xx.
  • Dim — not delivered yet (shown as ···).

The feed updates as webhooks arrive — webhook-it re-reads the database a few times a second, so the pane always reflects current state. See Events & replay.

The bottom bar has two halves:

  • Left — the keybindings, always visible: up/down select - u start/stop - t mode - n new - c domain - d delete - r replay - q quit.
  • Right — the status line: the latest message from webhook-it. It reports what just happened — an endpoint created, a webhook delivered, a replay result, an error.

The status line is where the daemon's per-event log surfaces, so keep an eye on it while debugging.

Overlays

Two kinds of modal overlay appear on top of the dashboard.

Prompts (forms)

A prompt is a small form — used to create an endpoint (n) and to set the ngrok domain (c).

The new-endpoint prompt

Inside a prompt:

  • tab moves between fields.
  • enter confirms.
  • esc cancels.

The active field is marked with < and an accent-colored label. If you submit invalid input, the prompt stays open and shows the error.

Confirmations

A confirmation asks a yes/no question — used before deleting an endpoint (d) and before applying a project config.

The delete confirmation

Inside a confirmation:

  • y confirms.
  • n or esc cancels.

Next