meetbot.dev

bot api · microsoft teams

disponible aujourd'hui

Microsoft Teams, enregistré.

Mettez une URL teams.microsoft.com ou teams.live.com dans POST /v1/bots ; nous rejoignons via le client web comme invité anonyme, capturons l'audio par locuteur, et émettons un webhook signé avec le chemin du manifeste à la sortie.

aperçu

Pourquoi ça existe.

Client web seulement, par design. Pas de clé SDK Teams natif requise, pas d'app Teams installable à enregistrer, pas de consentement admin dans votre tenant. Le bot pilote un Chrome piloté par Puppeteer qui charge teams.microsoft.com/meetingjoin avec l'URL que vous avez postée, remplit le formulaire de connexion avec votre displayName, et atterrit dans la salle d'attente pour que l'hôte admette. Même conteneur Docker, même orchestrateur, même contrat de webhook que les adaptateurs Meet et Zoom.

Captions + noms. Teams envoie les événements de caption finalisés via un canal de données que nous interceptons dans le Chrome du bot — nous ne scrapons pas le DOM de l'UI de captions, donc les captions ne tombent pas quand les participants redimensionnent leurs fenêtres ou déplacent les panneaux. Les vrais noms de participants viennent du panneau People (que Teams garde stable à travers leurs redesigns d'UI) ; l'audio est par locuteur indexé sur le mapping SSRC WebRTC comme l'adaptateur Meet.

Ce qui n'est pas encore là. Pas encore de chemin de bot de conformité — c'est l'item de roadmap T4 /product/compliance-recording-api. Pas de Teams Live Events (broadcast, pas réunion). Pas de réunions legacy Skype-for-Business (déprécié par MS de toute façon). Pour tout le reste — réunions Teams planifiées, sessions meet-now ad-hoc, réunions de canal, breakout rooms (single-room) — l'adaptateur web le gère aujourd'hui, au même forfait $0,30/h que Meet et Zoom.

ce que vous récupérez

Le contrat, détaillé.

item

Adaptateur web-client

Puppeteer + Chrome dans Xvfb. Pas de clé SDK Teams, pas de consentement admin dans votre tenant — le bot rejoint l'URL de réunion comme tout invité anonyme.

item

Intercept canal de données captions

Nous tappons le WebSocket d'événements de caption de Teams dans la page pour que les captions soient stables à travers les redesigns d'UI et les redimensionnements de fenêtre.

item

Mapping de noms panneau People

Vrais noms de participants depuis le panneau People, joints à l'audio par locuteur via SSRC WebRTC. Pas d'anonymat 'speaker_2' dans le JSONL.

item

Salle d'attente + admission

Le bot attend dans la salle d'attente que l'organisateur admette. Sub-code lobby_timeout sur le webhook si personne n'admet dans la fenêtre configurée.

item

Vidéo d'onglet + chat

Capture d'onglet VP9 et messages de chat entrants, même forme que les sorties Meet/Zoom. Drop-in si vous consommez déjà l'API du bot.

item

Sub-codes à la sortie

host_denied_admission, lobby_timeout, removed_from_meeting, meeting_ended, recording_disabled — remontés sur le webhook de complétion.