-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
Summary
Save meeting transcripts to Azure Blob Storage so they:
- Persist beyond meeting end (solves Transcript pane is cleared when switching panes #41 - transcript lost when switching panes)
- Enable post-meeting summary generation
Design Decisions
- Storage: Azure Blob Storage (JSON files)
- Retention: 30 days (lifecycle policy)
- Summary timing: Auto-generate at meeting end + on-demand via
/summarycommand
Architecture
During Meeting:
Audio → SpeechTranscriptionService → Async write to Blob
Meeting End:
1. Save final transcript to Blob
2. Generate summary via Pennie
3. Post summary to Teams chat
On-Demand:
/summary command → Fetch from Blob → Generate via Pennie → Post to Teams
Blob Structure
transcripts/
{meetingId}/
transcript.json # Array of TranscriptionResult
summary.txt # Generated summary
metadata.json # Meeting start/end times, participants
Implementation Tasks
Infrastructure
- Add
transcriptscontainer to existing storage account (infra/modules/monitoring.bicep) - Add 30-day lifecycle policy for automatic cleanup
Bot Services
- Create
ITranscriptStorageServiceinterface - Create
TranscriptStorageService(Azure.Storage.Blobs) - Modify
SpeechTranscriptionServiceto persist on each recognition - Add
GenerateMeetingSummaryAsync()toPennieAgentClient
Bot Commands
- Add auto-summary generation on meeting end (
MediaBot.OnMembersRemovedAsync) - Add
/summarycommand handler
Configuration
- Add storage config to
appsettings.json - Register
ITranscriptStorageServicein DI
Files to Modify
| File | Change |
|---|---|
infra/modules/monitoring.bicep |
Add transcripts container + lifecycle policy |
bot/Services/TranscriptStorageService.cs |
NEW - Blob storage service |
bot/Services/ITranscriptStorageService.cs |
NEW - Interface |
bot/Services/SpeechTranscriptionService.cs |
Add blob persistence |
bot/Services/PennieAgentClient.cs |
Add GenerateMeetingSummaryAsync() |
bot/Bots/MediaBot.cs |
Auto-summary + /summary command |
bot/Program.cs |
Register new service |
bot/appsettings.json |
Add storage config |
Related Issues
- Closes Transcript pane is cleared when switching panes #41 (Transcript pane cleared when switching panes)
Future Enhancements (not in scope)
- Export transcript as PDF/Word
- Link work items to specific transcript lines
- Search across all meeting transcripts
- Email summary to participants
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels