> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.meetstream.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetstream.ai/_mcp/server.

# Microsoft Teams Bots

> Run meeting bots on Microsoft Teams with the MeetStream API: zero setup, Outlook Calendar auto-join, per-participant audio and video, native captions, and Teams-specific timeout defaults.

Microsoft Teams needs **no setup** — pass a Teams meeting link to `create_bot` and the bot joins:

```bash
curl -X POST "https://api.meetstream.ai/api/v1/bots/create_bot" \
  -H "Authorization: Token <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "meeting_link": "https://teams.microsoft.com/l/meetup-join/...",
    "bot_name": "Notetaker"
  }'
```

## Teams behavior at a glance

| Behavior              | On Microsoft Teams                                                                                                                                                                       |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Setup                 | None                                                                                                                                                                                     |
| Recording start       | `bot.recording` typically fires within a second of `bot.inmeeting` (on the first audio frame) — no permission gate                                                                       |
| Timeout defaults      | Teams gets more generous defaults than Meet/Zoom: `waiting_room_timeout` 1200 (max 1800), `noone_joined_timeout` 1200, `everyone_left_timeout` 1200                                      |
| Per-participant audio | Partial isolation — speaker-attributed capture via the browser bot, following the same stream-capture model as Google Meet                                                               |
| Per-participant video | Webcam up to 854×480 @ 800 kbps; screen share up to 1280×720 @ 2 Mbps; 1 concurrent screen share                                                                                         |
| Video segments        | A webcam dimension change on Teams starts a new segment (as does a screen-share resolution change) — see [per-participant video](/guides/transcription-recordings/per-participant-video) |
| Native captions       | Supported via the `meeting_captions` [transcription provider](/guides/transcription-recordings/post-call-transcription)                                                                  |
| Bot detection         | [`automatic_leave.bot_detection`](/guides/features/automatic-leave-configuration) works on Teams; the bot identifies itself by its stable bot ID as soon as its websocket connects       |

## Outlook Calendar auto-join

Teams meetings usually live on Outlook calendars, and MeetStream has a first-class Outlook integration: connect via `POST /api/v1/calendar/create_outlook_calendar` with an Azure app registration (Microsoft Graph permissions), and MeetStream syncs events, detects Teams links (`meeting_platform: "Teams"`), and schedules bots. Change notifications from Microsoft Graph are auto-renewed, and you can hold up to 200 calendar connections per user (Google + Outlook combined).

Full walkthrough: [Outlook Calendar Setup](/guides/calendar-integrations/outlook-calendar-setup). Scheduling patterns (recurring events, per-event config, rescheduling): [Scheduling guide](/guides/features/scheduling-bots).

## Capture everything Teams gives you

Everything in the core API works on Teams the same as elsewhere: mixed audio recording, [per-participant streams](/guides/transcription-recordings/per-participant-audio), [post-call](/guides/transcription-recordings/post-call-transcription) and [live transcription](/guides/transcription-recordings/live-transcription), [real-time audio over WebSocket](/guides/websockets/real-time-audio-streaming), participants, chats, and the speaker timeline.

## Next steps

* [Create your first bot](/guides/get-started/create-your-first-bot)
* [Automatic leave configuration](/guides/features/automatic-leave-configuration) — tune the Teams-specific timeout defaults
* [Webhooks and events](/guides/webhooks/webhooks-and-events)