faint-printer-85167
04/13/2026, 2:06 PMtall-airline-16756
04/13/2026, 2:06 PMtall-airline-16756
04/13/2026, 2:06 PMjob_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 elementsfaint-printer-85167
04/13/2026, 2:10 PMtall-airline-16756
04/13/2026, 2:10 PM{{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 elementsfaint-printer-85167
04/13/2026, 8:35 PMtall-airline-16756
04/13/2026, 8:36 PMjob_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