Stupid question. Does LiveKit help summarize calls...
# ask-ai
f
Stupid question. Does LiveKit help summarize calls after you are done finishing your session?
✅ 1
t
Thanks for reaching out, Ganesh. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Thanks — not a stupid question at all. Regarding summarizing calls after a session: yes. LiveKit’s Agent Builder includes an end-of-call Call Summary feature that can automatically generate a summary using a chosen LLM and send it (via HTTP POST) to an endpoint you specify. The summary payload includes fields like
job_id
,
room_id
,
started_at
,
ended_at
, and
summary
. You can customize summary instructions, select the LLM/thinking effort, add headers (for secrets/metadata), and preview a summary during live testing without ending the call. Would you like steps to enable this for your agent or help configuring the webhook/summary instructions? Sources: Agent Builder | LiveKit Documentation, with interactive elements
f
I would like steps to enable this. But once I finish the call how do I access it? And let's say people login with their emails (i.e. John.smith @yahoo.com), does it have the capacity to send the summarization to those emails? Right now my current set up is people go to a Landing page, put their name, and join the LiveKit room. I am trying to envision how we should show the participants or the clients that are organizing the session the summary. Any thoughts on this would be appreciated?
t
Thanks — good details. I’ll walk you through enabling Call Summary, how to access the summary after the call, and practical delivery/presentation options for participants (including email). I’ll also ask one quick question to tailor instructions: are you using the no-code Agent Builder or a custom code setup? 1) Enabling Call Summary (Agent Builder) • Open the Agent Builder for your agent and enable the Call Summary feature. • Choose the LLM and thinking effort you want the agent to use. • Configure summary instructions (you can use template variables like
{{metadata.key}}
to include session metadata). • Set the destination by providing a webhook URL where LiveKit will POST the summary. Optionally add HTTP headers (for secrets/metadata). • Save settings. You can generate a preview summary during live testing without ending the call. 2) What the summary contains and how it’s delivered • The summary POST payload includes
job_id
,
room_id
,
room
,
started_at
,
ended_at
, and
summary
. • LiveKit sends the summary to your configured webhook as an HTTP POST when the session ends (or when the summary job completes). 3) How to access the summary after the call • Your webhook endpoint receives the summary and should persist it (database, object storage, etc.) keyed by
room_id
or
job_id
. • From your app, query that storage to show summaries on a session detail page, organizer dashboard, or user account area. 4) Sending summaries to participant emails • LiveKit does not send emails directly; it delivers the summary to your webhook. • Implement an email-sending step in your webhook handler: ◦ Look up participant info (emails) for the
room_id
from your records. ◦ Format the
summary
and metadata into an email. ◦ Send via your chosen email provider (SendGrid, SES, Mailgun, etc.) with personalized fields (participant name, room link). • If users currently join by entering a name on a landing page, capture and persist their email at join time (or require login) so you can map participants to emails later. 5) UX options for presenting summaries • Email: Send a short summary plus a link to the full session page. • Session/Organizer Dashboard: Show a list of past sessions with summaries, timestamps, and download/export buttons. • Participant View in-app: On login, show "Your recent sessions" with inline summaries and an option to request full transcript or export. • Webhook-driven notifications: Besides email, push to Slack, CRM, or ticketing systems if organizers prefer. 6) Recommended implementation sequence 1. Enable Call Summary in Agent Builder and configure webhook. 2. Build a simple webhook that: ◦ Receives POST, validates signature/headers if used. ◦ Stores summary by `room_id`/`job_id`. ◦ Looks up participant emails and sends notification emails. 1. Add a session detail page in your app that queries stored summaries. 2. Optionally add preview/testing and retry logic for failed deliveries. If you want, I can provide: • A sample webhook payload format. • A minimal webhook handler (Node/Express) that stores the summary and sends emails. • UI layout suggestions for the organizer/session page. Which of those would you like next, and are you using Agent Builder or a custom code setup? , with interactive elements
f
To answer your question, I vibe coded with Claude Code an agent moderator. I wasn’t aware there is no-code Agent Builder. I would have done that if that option was back in January 2026. Listen I am thinking about it. I don’t want to send emails. I just want to send this to a Tableau Dashboard. Is that possible?
t
Thanks — helpful context. Yes, you can send summaries to Tableau. I’ll explain how this works with your custom Claude Code agent and ask one quick question to tailor the steps. Quick question: • Which storage method will your Tableau connect to for dashboards: a SQL database (Postgres/MySQL), cloud data warehouse (BigQuery/Redshift/Snowflake), flat files (CSV in S3), or a Tableau Web Data Connector (REST endpoint)? How it will work (high level) • Enable Call Summary for your agent so LiveKit generates a summary at call end and POSTs JSON to your configured webhook. • Build a webhook receiver that: a. Validates the request (check Authorization header / signed JWT). b. Parses the JSON (fields:
job_id
,
room_id
,
room
,
started_at
,
ended_at
,
summary
). c. Persists the record into whatever storage Tableau reads (DB, warehouse, S3, or an API). • Connect Tableau to that storage and build visuals (session list, summary text, timestamps, search/filters). Implementation options (pick one) • SQL DB: Insert each summary row into a table. Tableau connects directly to the DB. • Data warehouse: Batch or stream summaries into BigQuery/Redshift/Snowflake for analytics at scale. • CSV/S3: Write JSON→CSV to S3 and point Tableau (or refresh ETL) to that file. • Tableau Web Data Connector: Expose a REST endpoint that returns summaries; Tableau pulls them on refresh. Recommended steps to implement now 1. Configure your agent to POST summaries to your webhook URL. 2. Implement webhook receiver that validates signature and stores the payload. 3. Choose one storage option (answer my quick question and I’ll give exact steps). 4. Hook Tableau to the storage and create a simple dashboard showing session metadata and summary text. If you tell me which storage method you prefer, I’ll provide a minimal webhook example (Node or Python) and the exact table/JSON schema and Tableau connection steps. Sources: Agent Builder | LiveKit Documentation | Best practices for managing webhook event streams | LiveKit | server-sdk-go | livekit/livekit_composite | DeepWiki, with interactive elements