Microsoft Teams Developer Forum

Open source Microsoft Teams recording software

Updated at:
February 2, 2026

There’s no official, supported open source “Microsoft Teams recorder” that can passively capture meeting audio. In Microsoft Teams, accessing meeting media is a bot problem, and the supported way to do it is a bot that joins the call/meeting and receives media through Microsoft Graph’s calling/meeting APIs (real-time media).

What many people actually want when they search “microsoft teams recording software open source” is one of these:

  • A self-hosted way to capture what was said (transcript)
  • A self-hosted way to capture audio (true recording)

Those are different levels of access, with different feasibility and tradeoffs.

The two common paths to get recordings from Microsoft Teams

1. Supported approach: real-time media bot

If your goal is to capture meeting audio (or a true recording pipeline), Microsoft’s supported path is an application-hosted media bot using APIs like the Microsoft Graph API. These bots join the call and can receive media streams. However, the Microsoft Graph API, while well documented, is often cumbersome to develop with due to the rules that govern access to meeting data.

To receive media, an app-hosted media scenario requires permissions such as Calls.AccessMedia.All (plus other calling permissions depending on how you join/create calls).

Microsoft also publishes a Policy Recording Bot sample that demonstrates receiving media streams for recording scenarios (you still implement storage/recording logic yourself).

This approach gives you direct access to meeting media via supported APIs, but requires that you complete Azure app registration, that you have admin consent, and that you have complex real-time media infrastructure.

2. Open source-friendly approach: join as a participant and record audio/scrape captions

If your goal is to avoid the Graph API's complexity, a common open source approach is a bot that: - joins the Teams meeting in the web client as a participant - enables captions - reads the captions from the page and streams them out - records the audio that it hears

This is not an official Teams API feature. It’s browser automation, which can work well for prototyping and but requires dedicated engineering support for production use cases.

If you go this route you get near real-time transcripts and audio without relying on Graph real-time media, but you must bear the burden of maintenance when the web client changes and captions availability varies by meeting/tenant settings.

If you are interested in this route, Recall.ai has an open source project that uses this caption-scraping approach and a blog to walk you through the entire process of building a Microsoft Teams bot without the audio recording.

Final thoughts

If you mean actual audio recording, Microsoft’s supported path is a Graph real-time media bot that joins the meeting and receives media streams.

If you mean “recording-like” in the sense of capturing what was said, an open source caption-scraping participant bot can be a practical approach, with the main tradeoff being ongoing maintenance and variability in caption availability. This approach can be expanded on to capture audio as well, but it much more complicated.

If you need recording or transcription across Teams, Zoom, and Google Meet without maintaining bots and meeting-join edge cases yourself, teams often use a Microsoft Teams meeting recording API instead. You get the benefits of the first approach, without the developer time spent and with access to more meeting data than building with the Graph API or scraping captions from the meeting can give you.