Build on the exact feed the dashboard uses
Subscribe to the same realtime channels the dashboard renders from: every captured request, device change and audit event, pushed the instant it happens. Polling is not a thing here.
import { createClient } from "@supabase/supabase-js";
const supabase = createClient("https://api.busymate.net", PUBLISHABLE_KEY, {
global: { headers: { Authorization: `Bearer ${oauthToken}` } },
});
supabase
.channel("ws:<workspace_id>")
.on("broadcast", { event: "entry" }, ({ payload }) => {
console.log("new request", payload.method, payload.url, payload.status);
})
.subscribe();Push, never poll
The dashboard is push-driven end to end. The same channels are open to your own code — react to traffic, state and audit events the moment they change.
The entries firehose
Every captured request is broadcast the moment it lands — on the very channel the dashboard itself consumes. Your monitor sees what the team sees, at the same instant.
Table changes as streams
Devices, settings, tags, service groups, the shared to-do board — all delivered as postgres_changes events. If it changed in the database, you hear about it. No timers, no refresh loops.
More than traffic
The live audit trail, memory-import progress, and device-control events are all subscribable too. Build alerting bots, wall dashboards, or automations that react to the platform itself.
Subscribe from the docs
The in-dashboard WS explorer joins real channels with your own token and pretty-prints events as they arrive. Watch the feed before you write a single line of code.
Related: the 405-tool MCP serverthe network-capture REST APIthe live audit trail
Wire up the live stream
See the Realtime channels and payload shapes in the docs, then subscribe from your app or the in-dashboard WS explorer.