Microsoft Teams
Transcription
API
Vexa joins Teams calls as a guest and returns a speaker-attributed transcript over REST or WebSocket while the meeting runs.
- Teams call
- Vexa bot
- Transcripts
- Your app
- REST · WebSocket
Your agents read the meeting while it runs.
The transcript streams to your agents as people speak, over WebSocket or MCP.
Built for Microsoft Teams
Vexa joins as a guest, so the host's settings decide whether it is admitted.
- Send the meeting ID and passcode, or the meeting link
- Read speaker-attributed segments over REST, or stream them over WebSocket
- Apache 2.0: self-host it, with your own transcription
# From the Teams invite: the meeting ID and its passcode
curl -X POST "$API_BASE/bots" \
-H "Content-Type: application/json" \
-H "X-API-Key: $API_KEY" \
-d '{
"platform": "teams",
"native_meeting_id": "397421056486982",
"passcode": "YOUR_PASSCODE",
"bot_name": "Vexa"
}'
# Read the transcript, during or after the meeting
curl "$API_BASE/transcripts/teams/397421056486982" \
-H "X-API-Key: $API_KEY"$API_BASE to https://api.cloud.vexa.ai (hosted) or http://localhost:18056 (self-host). Get $API_KEY from /start.Common patterns
What you can build with the Microsoft Teams API
Three things you can build on the Microsoft Teams API.
Calls into your system
Your data team wants the transcript of each Teams client call in its own store.
- Send a bot from your scheduler.
- Fetch the transcript when the signed webhook arrives.
- Vexa does not connect to a CRM; your code does.
Live help during calls
A manager needs what is said while the Teams call runs, not afterwards.
- Stream segments over WebSocket into your own app.
- Or give an agent Vexa's MCP server.
Records on your systems
Your firm wants its Teams calls with clients kept on its own systems.
- Self-host Vexa and run transcription inside your network.
- The recording and transcript stay in your own storage.
- Retention controls and a read audit log are not built.
Send a bot to a Microsoft Teams call
From an API key to a transcript: no SDK to install and no marketplace app to approve.
Quickstart
- Get an API keySign in at vexa.ai. Self-hosted:
make allprints a key. - Take the meeting ID and passcodeFrom the Teams invite, or send the full meeting link.
- POST /botsSend platform
teamswith the ID and passcode. - Admit the botIf the meeting has a lobby, the organizer admits it.
- Read the transcript
GET /transcripts/teams/{native_meeting_id}, or stream it over WebSocket.
Microsoft Teams architecture
The bot joins through the Teams web client, in its own container.
Before you start
- Tenants that block all guests block the bot too.
Documentation
Go deeper on Microsoft Teams
Reference docs for the Microsoft Teams buyer: URL formats, lifecycle, webhooks, self-host, diarization.
- Microsoft Teams transcript APIMeeting IDs, passcodes, lobbies and reading the transcript.
- Send a botThe POST /bots call on every platform.
- Stream a transcriptSegments over WebSocket while the meeting runs.
- WebhooksA signed event when a meeting starts, ends or fails.
- Kubernetes (Helm)Run the stack on your own cluster.
- AuthenticationAPI keys and scopes.
Full reference at docs.vexa.ai.
Related reading
Keep going on Microsoft Teams
Related pages, guides and comparisons.
Microsoft Teams transcription FAQ
Things developers and buyers usually want to know before they wire Microsoft Teams up.
Will my IT department block a Teams bot?
It may hold it. Vexa joins as a guest, so the meeting's lobby and the host's tenant settings decide whether it gets in. Teams can hold outside bots in the lobby by default, and the organizer admits it from there.
How does Vexa compare to Teams' own transcription?
Teams' own transcription works inside Microsoft 365 and keeps the transcript there. Vexa is an API across Teams, Meet and Zoom: you send a bot and read the transcript while people talk, and self-hosted it stays on your own systems.
Can I run the Teams bot on my own servers?
Yes. The stack is Apache 2.0 and runs on Docker Compose or on Kubernetes. Transcription runs as its own unit or on any OpenAI-compatible endpoint you host. With both inside your network, the audio path makes no outbound calls. What else leaves: the security review.
How well does it name speakers in large meetings?
Check it on your own calls. Attribution is per segment, and meetings with many people talking are harder.
A seat, an hour, or free
A seat for your agent. An hour for what you build. No licence fee when you run it yourself.
Start with Microsoft Teams. Read the transcript as it happens.
Sign in, copy an API key, send a bot with the meeting link, read the transcript. Free credit, no card.
Apache 2.0 · Self-host or cloud · No credit card required