Back to docs
Recipe

CSAT Dashboard

Build a real-time customer satisfaction scoreboard with Meridian events and a single SQL view.

5 min
Time to ship
1 table
Schema surface
Live
Update cadence

Overview

Pipe post-interaction survey events into Meridian, aggregate scores per agent or team, and render a live dashboard with trailing-7-day NPS and CSAT averages. No polling, no cron — Meridian pushes deltas to your frontend over a single WebSocket.

Step 1 — Ingest events

Fire a csat.rated event from your support tool with score, agent_id, and ticket_id in the payload. Meridian auto-creates the stream if it doesn't exist.

Step 2 — Materialize

Define a SQL view that windows scores over 7 days, grouped by agent. Meridian keeps the view hot — every new event triggers a micro-batch recompute and pushes the diff to subscribers.

Step 3 — Render

Subscribe to the view from your React dashboard. Meridian delivers initial state on mount, then streams row-level patches. Wire the data into a simple card grid — agent name, average score, response count, and a sparkline of the last 24 hours.

Need the full SQL and React hook? Grab the complete recipe with copy-paste snippets.