Web-Client-Adapter
Puppeteer + Chrome innerhalb Xvfb. Kein Teams-SDK-Schlüssel, keine Admin-Zustimmung in Ihrem Tenant — Bot tritt der Meeting-URL wie jeder anonyme Gast bei.
bot api · microsoft teams
heute verfügbarGeben Sie eine teams.microsoft.com- oder teams.live.com-URL in POST /v1/bots; wir treten via Web-Client als anonymer Gast bei, fangen Audio pro Sprecher ab und emittieren einen signierten Webhook mit dem Manifest-Pfad beim Exit.
übersicht
Nur Web-Client, by Design. Kein nativer Teams-SDK-Schlüssel erforderlich, keine installierbare Teams-App zu registrieren, keine Admin-Zustimmung in Ihrem Tenant. Der Bot fährt einen Puppeteer-piloted Chrome, der teams.microsoft.com/meetingjoin mit der URL lädt, die Sie geposted haben, das Beitritts-Formular mit Ihrem displayName ausfüllt und in der Lobby für den Host zum Zulassen landet. Gleicher Docker-Container, gleicher Orchestrator, gleicher Webhook-Vertrag wie die Meet- und Zoom-Adapter.
Captions + Namen. Teams sendet finalisierte Caption-Events durch einen Datakanal, den wir innerhalb des Bot-Chrome abfangen — wir DOM-scrapen die Captions-UI nicht, also droppen Captions nicht, wenn Teilnehmer ihre Fenster resizen oder Panels verschieben. Echte Teilnehmernamen kommen vom People-Panel (das Teams stabil über ihre UI-Redesigns hält); Audio ist pro Sprecher keyed über das WebRTC-SSRC-Mapping wie der Meet-Adapter.
Was noch nicht hier ist. Noch kein Compliance-Bot-Pfad — das ist der Q4-Roadmap-Punkt /product/compliance-recording-api. Keine Teams Live Events (Broadcast, kein Meeting). Keine Skype-for-Business-Legacy-Meetings (von MS sowieso deprecated). Für alles andere — geplante Teams-Meetings, ad-hoc Meet-Now-Sessions, Channel-Meetings, Breakout-Räume (Single-Room) — handhabt der Web-Adapter es heute, zum gleichen pauschalen $0,30/Std wie Meet und Zoom.
was ihr zurückbekommt
Puppeteer + Chrome innerhalb Xvfb. Kein Teams-SDK-Schlüssel, keine Admin-Zustimmung in Ihrem Tenant — Bot tritt der Meeting-URL wie jeder anonyme Gast bei.
Wir tappen Teams' Caption-Event-WebSocket innerhalb der Seite, damit Captions stabil über UI-Redesigns und Fenster-Resizes sind.
Echte Teilnehmernamen vom People-Panel, gejoined mit Audio pro Sprecher via WebRTC-SSRC. Keine 'speaker_2'-Anonymität im JSONL.
Bot wartet in der Lobby, dass der Organizer zulässt. lobby_timeout-Sub-Code im Webhook, wenn niemand innerhalb des konfigurierten Fensters zulässt.
VP9-Tab-Aufnahme und eingehende Chat-Nachrichten, gleiche Form wie Meet/Zoom-Ausgaben. Drop-in, wenn Sie bereits die Bot-API konsumieren.
host_denied_admission, lobby_timeout, removed_from_meeting, meeting_ended, recording_disabled — erscheinen im Abschluss-Webhook.