Meetings
Built-in video meetings with live AI assistance, system audio recording, real-time transcription, and post-call analysis — no external tools needed.
Controls
The meetings page has four main controls in the header:
| Control | Function |
|---|---|
| Live Assistant | toggles the AI meeting companion (screenshot analysis, quick insights) |
| Record Meeting | captures system audio for transcription (Tauri system_audio_start) |
| Template Select | choose a meeting template before starting |
| Video Call | starts a LiveKit video room |
Meeting Templates
Select a template before starting to guide the AI's analysis:
| Template | Focus |
|---|---|
| General | all-purpose meeting notes |
| Sales | objections, opportunities, follow-ups |
| One-on-One | agenda items, action items |
| Standup | blockers, accomplishments, next steps |
| Interview | candidate evaluation |
| Knowledge | knowledge capture and transfer |
Custom templates can be created and saved via goSvc.listMeetingTemplates().
Live Assistant
When active, the AI companion provides real-time support:
Quick Actions
- Screenshot — captures the screen via
invoke('meeting_capture_screenshot'), then analyzes it withinvoke('meeting_analyze_screenshot', { image, context }) - Quick Insight — generates contextual insight via
invoke('meeting_quick_insight', { context })
Meeting Insights
Insights are categorized into four types:
| Type | Icon | Description |
|---|---|---|
| Objection | — | concerns or pushback raised |
| Follow-up | — | items requiring later attention |
| Action item | — | concrete tasks identified |
| Opportunity | — | positive signals or openings |
Each insight has an urgency level (high / medium / low), a title, suggestion, and conversation context.
Recording & Transcription
Click Record Meeting to start capturing system audio.
Pipeline
- System audio captured via Tauri IPC (
system_audio_start) - Audio buffered and segmented in real time
- Each segment sent to Whisper for transcription
- Transcribed chunks appear in the live transcript panel
Live Transcript Panel
Shown on the right side (38.2% width) during recording:
- Timestamp per chunk
- Confidence score
- Cumulative cost estimate
- Speaker text
Audio Status Indicators
| State | Meaning |
|---|---|
| idle | no recording active |
| buffering | audio being captured |
| transcribing | segment being processed by Whisper |
VAD (Voice Activity Detection) status shows mic readiness, speaking/listening state, and segment recording progress.
Video Calls
Click Video Call to create a LiveKit room.
- HD video and audio via LiveKit
- Guest join via shareable link (no account required)
- Server-side recording via
goSvc.startServerRecording(meetingId, roomName) - Dark-themed fullscreen overlay with invite link
Post-Call Analysis
When a meeting ends, the full transcript is sent to goSvc.meetingAnalyze(transcriptText, meetingTitle, template). The AI generates:
- Summary — key points and decisions
- Action items — extracted as checkable tasks
The AgentActionApproval modal presents extracted action items for review. Check the ones you want to keep and click approve — each selected item is created as a task via goSvc.createTask({ title, description, priority }).
A meeting document is automatically created via docsService.createDocument({ title, content, tags }) with the summary and transcript.
Meeting History
Below the controls, the Meeting Intelligence section shows:
- Search bar — search past meetings via
goSvc.meetingSearch(query) - History list — all past meetings via
goSvc.meetingHistory(), showing title, date, summary preview, and task count - Expanded view — click a meeting to see its extracted tasks
Audio Pipeline Debugger
A toggleable debug panel (via Show Debug button) displays the full audio pipeline state for troubleshooting recording issues.
Error Recovery
If audio capture fails, the UI offers recovery options:
- Restart App — relaunches the Tauri app
- Fix Permissions — opens system microphone permissions
- Reset — clears audio pipeline state