Dashboard
An optional web UI built into the notifkit server and served automatically at /admin.
It is a window on a running server: watch delivery, read logs,
inspect queue health, and perform the few operational actions that are easier to click than to curl.
Templates and workflows are still authored in code.
Everything the dashboard shows is also available from the REST API and the MCP server. It exists for the times a graph answers the question faster than a query does.
Accessing it
The dashboard is automatically served by the notifkit server. Simply navigate to /admin
on your running server's base URL (e.g., http://localhost:3000/admin).
You will be prompted to log in. Use the ADMIN_EMAIL and ADMIN_PASSWORD
configured in your server environment to authenticate and access the dashboard.
What each page shows
| Page | Shows |
|---|---|
| Overview | A live feed of delivery events over server-sent events, straight from /v1/events/stream. |
| Logs | Per-attempt delivery history (channel, provider, status, timing) with a single notification's full trail on selection. |
| System Health | /v1/system/health and /v1/system/metrics: dependencies, worker heartbeats, and the Prometheus counters. |
| Analytics & Queue | Throughput and stream depth, for spotting a backlog before it becomes a page. |
| Dead Letters | The DLQ, with replay and discard. |
| Scheduled | Everything queued for a future sendAt, with cancel. |
| Workflows | Registered workflows and their runs, including which step a run is parked on. Triggering a run is available here. |
| Templates | What is currently synced, and what each template renders per channel. |
| Users | A user's contacts, channel and topic preferences, and quiet hours. |
| Projects & Keys | Projects, their API keys, and per-project rate limits. |
What it deliberately does not do
There is no template editor and no workflow builder. You cannot draw a sequence, and there is nothing to publish. Templates are synced from code on deploy and workflows are files in your repository, so that both stay in version control where they can be reviewed, diffed and reverted with the rest of your application.
The write actions the dashboard exposes are operational: replaying a dead letter, cancelling a scheduled send, triggering a workflow run, rotating a project key. Those are decisions you make once, in the moment, in response to something that already happened; none of them is a piece of behaviour worth keeping in a diff.