Daily LiveKit voice AI activity digest in Slack

By General Input

Every weekday at 9am ET, post a plain summary of active rooms, recordings, and agent workers to Slack and log the row in Google Sheets.

Integrations

  • LiveKit
  • Google Sheets
  • Slack

Type

Deterministic Code

Categories

  • Operations
  • Engineering

Build a deterministic code workflow that runs on a cron every weekday at 9am America/New_York to publish a daily voice AI activity digest for our LiveKit project. It should not run on Saturday or Sunday and should skip a configurable list of holiday dates. This is a fixed sequence of list-then-format-then-write steps against known APIs, so it belongs as a code workflow and not an agent.

Data collection. On each run: (1) Call LiveKit List Rooms and count both the number of active rooms and the total number of participants across them right now. (2) Call LiveKit List Egress with a 24 hour window (i.e. filter the results to those created in the last 24 hours based on created_at) and bucket them by status into egress_complete_24h, egress_failed_24h, and egress_active. Also sum the recorded duration across the complete egresses into total_recorded_minutes. (3) For each currently active room, call LiveKit List Agent Dispatches for that room and sum the results into a single agent_dispatches_24h count, filtering to dispatches created in the last 24 hours.

Sheet write. Use Google Sheets Append Values to append one row to a configurable spreadsheet id and tab name. The row columns, in order, are: date (YYYY-MM-DD in America/New_York), active_rooms, active_participants, egress_complete_24h, egress_failed_24h, egress_active, agent_dispatches_24h, total_recorded_minutes. After the append, keep the link to the appended row so we can include it in the Slack message.

Slack summary. Use Slack Send a Message to post to a configurable leadership channel. Render the same eight numbers as a compact summary that stays under 15 lines total, plus a link to the Google Sheets tracker. If egress_failed_24h is greater than zero, list the top three failed egresses with their room name and error message so on-call can jump in. If there are no failures, omit the failure block entirely.

Configuration inputs the workflow should expose: LiveKit credential (project url, api key, api secret), Google Sheets credential, target spreadsheet id and tab name, Slack credential, target channel, timezone (default America/New_York), and a list of holiday dates to skip.

Operations to use: livekit.list_rooms, livekit.list_egress, livekit.list_agent_dispatches, google-sheets.append_values, slack.send_message.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageWin back LiveChat visitors whose chats went unansweredLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveLiveKit live operations console for room moderationiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client account