Ein Überblick, wie das Azure Bot Framework mit Teams funktioniert
10. September 2025
Seit September 2025 kann die RheinInsights Retrieval Suite leicht in Teams integriert werden. Wenn man als Entwickler auch einen Teams Bot (als KI) erstellen möchte, dann gibt es von der Community eine sehr gute Einstiegsdokumentation. Hier möchten wir aber einen Überblick über das Zusammenspiel zwischen Teams-Apps und dem Bot Framework geben und erklären, wo eigentlich die KI-Magie, also die komplexen Berechnungen, statt finden.

Teams Integration
Einen Bot in Teams zu integrieren ist überraschend unkompliziert. Eigentlich gibt man im App-Manifest mehr oder weniger nur die Parameter ein, die Teams braucht um einen Azure Bot in Ihrem Azure-Tenant zu identifizieren.
Das bedeutet, dass weder innerhalb von Teams noch in dem Azure Bot später komplexe Berechnungen durchgeführt werden. Und dies ist in unserem Sinne, denn wir möchten die volle Kontrolle über den Bot haben und Berechnungen nach Bedarf auf Serverseite in unserem Code dürchführen.
Um einen Bot in Teams als App zu registrieren, müssen Sie zunächst im Azure Bot Framework eine entsprechende App anlegen.
Azure Bot Framework
Sprich im Azure Portal erstellt man zunächst eine Bot-Applikation (siehe auch unsere Dokumentation). Dieser Bot hat zunächst gar nichts mit Microsoft Teams zu tun. Er bildet vielmehr eine Klammer zwischen einem HTTP-Endpunkt (Ihrem Webserver) und Entra-ID und kann später in verschiedene Kanäle integriert werden, darunter Teams. Daher benötigen Sie zunächst für den Betrieb eines Azure Bots immer eine Entra Id App Registrierung.
Auch die Bot Konfiguration ist eigentlich kein Hexenwerk – es werden lediglich einige wenige Konfigurationsparameter eingetragen und man sollte diese kurz testen.
Wie zuvor erwähnt, finden im Azure Bot Framework keine Berechnungen statt - und für uns ist hier das Wording einfach unglücklich gewählt, da der Azure Bot vielmehr ein Proxy zwischen Ihrem Server und Kanälen, wie Teams, ist. Er leitet die Kommunikation zu dem Konfigurierten Endpunkt, Ihrem Server, weiter und kümmert sich um Authentifizierung und Autorisierung.
Authentifizierung und Autorisierung.
Wenn das Bot-Framework mit Ihrem Webserver kommuniziert, enthalten die Requests immer ein OIDC-Token (JWT). Dieses ist gültig für den Bot und nicht für den Benutzer. Dies ist wichtig, damit Ihr Server sicherstellen kann, dass der Kommunikationsquelle vertraut werden kann.
Denn bitte beachten Sie, dass Angreifer auch mit Ihrem Service-Endpunkt kommunizieren können. Diese können dann aber kein gültiges OIDC-Token für die registrierte Bot-Anwendung vorlegen und man kann die Kommunikation auf diese weise aussortieren.
Ein Benutzer-Graph API Token erhalten
Basierend auf den Konfigurationsparametern des Bot Deployments und dem Entra Id App Secret kann Ihr Dienst ein User-Token abfragen. Dieses wird benötigt um beispielsweise auf die Graph-APIs im Namen des Nutzers zuzugreifen. Hier wird der (undokumentierte) Endpunkt
https://api.botframework.com/api/usertoken/GetToken
benutzt.
Ihr Web Server, die Quelle von KI-Magie
Die eigentliche Rechenlogik befindet sich auf Seiten Ihres Webservers. Dieser kann auf .NET-, NodeJS- oder Java-Basis implementiert sein.
Sobald eine Nachricht von einem beliebigen Kanal (Teams, E-Mail usw.) beim Bot-Framework eintrifft, leitet es diese an Nachricht Ihren Server weiter. Dabei spielt es fast keine Rolle, wo sich Ihr Server befindet (AWS, Azure oder auf einer eigenen VM). Lediglich die in der Bot-Anwendung konfigurierte URL muss von der Azure-Cloud aus erreichbar sein.
Die Verbindung bleibt dann (modulo timeout) solange offen, wie der Server für seine Berechnungen benötigt. Dieser generiert dann eine Antwort auf die eingehende Nachricht entweder als als Adaptive Card oder als reine Textnachricht und sendet ein entsprechendes JSON zurück.
Bitte beachten Sie, dass das Java SDK deprecated ist und seit 2022 nicht mehr gepflegt wird. In der aktuellen Form ist es nicht mit Single-Tenant-Apps und damit nicht mit mehr mit dem Bot-Framework kompatibel. Wir planen eine aktualisierte Version des Java SDK auf GitHub zu veröffentlichen, die dann das aktuelle Bot-Framework unterstützt.