# Microsoft Teams Bot API | Record & Transcribe from $0.35/hr

> Build a Microsoft Teams meeting bot with one API call. Record audio, capture per-participant video, and get real-time transcripts from $0.35/hr. $5 free credit.

Source: https://meetstream.ai/meeting-bot-api/microsoft-teams

## Microsoft Teams Meeting Bot API to Record, Transcribe, and Stream Teams Calls

One POST request sends a named bot into a Microsoft Teams call and returns the recording, a separate audio and video stream per participant, and a transcript. No C# and no Azure infrastructure, from $0.35 per bot-hour.

### What is a Microsoft Teams meeting bot API?

A Teams meeting bot API puts a participant into a Teams call from your code and returns the media. You send a meeting link, a bot joins under a name you choose, and you get an MP4, per-participant audio and video, and a transcript.

Teams is the platform where building it yourself costs the most. Microsoft's real-time media stack has hard requirements on language, operating system and hosting that surprise most teams the first time they read them, and they are covered below. The meeting bot API overview covers all three platforms.

### Send a bot into a Teams call

One request, no Azure subscription required.

```
curl -X POST https://api.meetstream.ai/api/v1/bots/create_bot \ -H "Authorization: Token $MEETSTREAM_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "meeting_link": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_NTk0...", "bot_name": "Acme Notetaker", "transcription": { "provider": "meetstream" }, "webhook_url": "https://your-app.example.com/meetstream" }'
```

The webhook returns the composed recording plus a separate track per participant.

```
{ "event": "bot.done", "bot_id": "bot_9fJ2p", "recording": { "mp4_url": "https://media.meetstream.ai/..." }, "participants": [ { "name": "Amy Stace", "audio_url": "...", "video_url": "..." }, { "name": "Theo Flynn", "audio_url": "...", "video_url": "..." } ], "transcript_url": "https://api.meetstream.ai/api/v1/transcript/..." }
```

### What you get from every Teams meeting

- Composed MP4 in grid or speaker view.

- Per-participant audio and video , one stream per person.

- Real-time media over a secure WebSocket at roughly 200ms, covered on the real-time transcripts page.

- Transcripts through the transcription API .

- Participant events and meeting chat.

### What Microsoft Teams actually enforces

Teams is the strictest of the three platforms for bots, and one default in particular decides whether your integration works.

External bots are sent to the lobby by default. The ExternalBotAccessMode policy defaults to RequireApprovalWhenDetected , which forces external bots into the meeting lobby regardless of the meeting's own lobby setting. This is not an edge case, it is the out-of-the-box behaviour in every tenant. Any Teams integration that assumes the bot walks straight in will fail on first contact with a real customer.

Teams actively detects bots. Microsoft describes built-in detection mechanisms that identify external AI bots from a combination of infrastructural and behavioural signals collected during the join, and organizers are reminded of the risk before admitting one. Microsoft also notes that some bots may not be detected, so behaviour is not perfectly consistent.

The recording banner cannot be removed. Only the consent message text and privacy policy URL are customisable by an admin . Tenants can also turn on explicit consent mode, which mutes everyone when recording starts until they answer yes or no.

External and anonymous participants cannot record natively. Microsoft states that external participants cannot record outside of certified compliance recording, and restricting recording to organizers requires Teams Premium. Recordings land in the organizer's OneDrive or SharePoint with a default 120-day expiry.

None of this is a reason to avoid Teams. It is a reason to design for lobby admission from day one, and to name your bot something a meeting organizer will recognise and approve.

### Why building a Teams recorder yourself is expensive

If you are weighing a bot API against building on Microsoft Graph directly, read the requirements first. Microsoft's own documentation for application-hosted media bots states that the bot must be developed in C# and deployed on Microsoft Azure , and that the C++ and Node.js APIs do not support access to real-time media at all. Production bots must run on a Windows Server guest OS in Azure, cannot run as an Azure web app, and need an instance-level public IP and port.

The scaling maths is the part that catches teams out. Microsoft notes that a video-enabled bot may sustain only one or two concurrent media sessions per CPU core, and that calls pin to the VM that accepted them. A few hundred concurrent recordings becomes a real fleet of Windows VMs. The platform is also still labelled a developer preview and subject to change.

On top of that, the Graph permissions are application-only and all require tenant admin consent, and the Media Access API terms require you to call updateRecordingStatus and receive a success reply before persisting any media. Compliance recording effectively requires being a certified Microsoft partner.

That is the work a Teams bot API removes. Your code is one HTTP request, in whatever language you already use, with no Azure footprint of your own.

### Getting the bot admitted

Because Teams lobbies external bots by default, admission is the first thing to build for.

The bot joins under a name you choose. When it lands in the lobby, participant events tell your application that it is waiting, so your product can prompt the user to admit it instead of returning an empty recording. Organizers can also change the policy for their tenant, which is a reasonable ask once they trust the integration.

### Microsoft Teams bot API pricing

A bot costs $0.35 per bot-hour . Transcription adds $0.10 per hour, so a recorded and transcribed meeting is $0.45 per hour all-in , falling toward $0.25 per bot-hour at volume. Thirty days of storage is included rather than metered, and every account starts with $5 of free credit. The pricing page has the full breakdown.

There is no seat licence, no platform fee and no minimum commitment, so the bill tracks usage rather than headcount. If you are comparing against another vendor, the Recall.ai comparison sets out the differences.

### Limits and operational detail

Session length. A bot stays in a Microsoft Teams call for four hours by default and can be extended to ten hours through the API, which covers all-hands meetings and full-day sessions.

Concurrency. There is no cap on how many bots run at once and no limit to request an increase to. Capacity planning stays on our side.

Storage and regions. Recordings and transcripts are kept for 30 days, or written into your own S3 bucket so your retention policy governs them from the first byte. Bots run in the United States by default, with EU, Australia, Japan and the Middle East available and other regions on request.

Security. MeetStream is ISO 27001 certified and SOC 2 Type 2 is currently under audit. We do not hold a HIPAA certification and we do not sign Business Associate Agreements today. The security page is kept current.

### How we know this

Teams is the platform teams most often underestimate. The lobby default and the C# and Windows requirements are the two facts that most change a build-versus-buy decision, and both are easy to miss until an integration is already half built.

MeetStream runs meeting bots on Zoom, Google Meet and Microsoft Teams for more than 30 products in production. Every platform claim on this page links to that platform's own documentation so you can verify it rather than take our word for it, and we have deliberately left out anything we could not source. Where our own position is weaker than a competitor's we say so: we are ISO 27001 certified, SOC 2 Type 2 is under audit rather than complete, and we do not hold a HIPAA certification or sign Business Associate Agreements today.

Platform rules change. If you find something here that no longer matches the vendor documentation, tell us and we will correct it. Written by Sidhdharth Sivasubramanian, co-founder and CEO of MeetStream. Last reviewed 26 August 2026.

### Frequently asked questions

Teams recording is not organizer-only by default: any suitably licensed user with the policy enabled can record. External and anonymous participants cannot record natively. A bot records what it receives as a participant once it is admitted.

Because that is the default. The ExternalBotAccessMode policy defaults to RequireApprovalWhenDetected, which forces external bots into the lobby regardless of the meeting's own lobby setting. Build for it rather than treating it as an error.

Yes. Microsoft documents built-in detection that identifies external AI bots from infrastructural and behavioural signals during the join, and warns organizers before they admit one. Microsoft also notes some bots may not be detected.

If you build on Microsoft Graph directly, effectively yes. Microsoft states the bot must be written in C# and deployed on Windows Server in Azure, and that the C++ and Node.js APIs do not support real-time media. Using a bot API removes that requirement entirely.

Through MeetStream there is no cap. If you build it yourself on Graph, Microsoft notes a video-enabled bot may sustain only one or two concurrent media sessions per CPU core, so concurrency becomes a fleet-sizing problem.

Yes. The recording notification banner cannot be removed; only the consent message text and privacy policy link are customisable. Tenants can also enable explicit consent mode, which requires each participant to answer before continuing.

Native recordings land in the organizer's OneDrive, or SharePoint for channel meetings, with a default 120-day expiry. A MeetStream recording goes wherever you point it, including straight into your own S3 bucket.

Yes. MeetStream returns a separate audio and video stream per participant, so speaker attribution does not depend on a diarization model.

Admission depends on the tenant's bot and lobby policies. Because external bots are lobbied by default, the smoothest path is usually an organizer admitting the bot, with a policy change later if the customer wants it automatic.

$0.35 per bot-hour for recording, $0.45 per hour with transcription, dropping toward $0.25 at volume. Thirty days of storage is included and every account starts with $5 of free credit.

### Keep exploring

### Put a bot in your next Microsoft Teams call

$5 of free credit, self-serve API keys, and no sales call between you and your first recording.

---

Full site index for agents: https://meetstream.ai/llms.txt
API contract (OpenAPI 3.1): https://meetstream.ai/openapi.json
MCP discovery: https://meetstream.ai/.well-known/mcp
