Skip to content

[Suggestion] Microsoft Teams Bot with real-time meeting transcription and speaker diarization (Node.js) #299

Description

@deepgram-robot

What to build

A Microsoft Teams bot that joins meetings and provides real-time transcription with speaker diarization, delivering live captions and a post-meeting transcript using Deepgram's streaming STT API.

Why this matters

Microsoft Teams is the dominant enterprise meeting platform with over 320 million monthly active users. Teams developers and enterprise IT teams frequently need custom transcription solutions that go beyond Teams' built-in captions — for compliance recording, real-time translation, meeting summarization, or integration with internal knowledge systems. A working Teams bot example removes the significant integration complexity (Bot Framework, Azure registration, media platform) and lets developers focus on building meeting intelligence features on top of Deepgram's accurate transcription.

Suggested scope

  • Language: Node.js / TypeScript
  • Platform: Microsoft Teams (Bot Framework SDK v4)
  • Deepgram APIs: Streaming STT (WebSocket), speaker diarization
  • What to include:
    • Teams bot registration and Azure Bot Service configuration
    • Media platform integration for receiving meeting audio streams
    • Real-time streaming to Deepgram with speaker diarization enabled
    • Live transcript display via Adaptive Cards in the meeting chat
    • Post-meeting summary with speaker-labeled transcript export
    • README with step-by-step Azure and Teams setup guide

Acceptance criteria

  • Runnable with documented setup steps (Azure registration, Teams app manifest, API keys)
  • README explains the Teams bot registration and deployment process clearly
  • Uses current SDK version
  • Demonstrates real-time transcription during a live Teams meeting
  • Includes speaker diarization in the transcript output
  • Provides post-meeting transcript export (JSON and plain text)

Raised by the DX intelligence system.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions