Skip to Content
AdminAgentMS Teams-Integration

MS Teams-Integration

Die MS Teams-Integration macht eine App (KI-Chatbot oder Agent) als Bot in Microsoft Teams verfügbar – Nutzer chatten direkt in Teams mit Private GPT. Die Laufzeit nutzt denselben Conversation Engine-Pfad wie das Web-Dashboard.

Abgrenzung:

ThemaDoc
Allgemeine Agent-KonfigurationAgent
Reiner Web-Chat ohne BotKI-Chatbot
SharePoint als Wissens-/Live-QuelleSharePoint-Integration

Datenflussdiagramm

Zweck, Zielgruppe und Einsatzbereich

  • Zweck: Private GPT direkt in den Teams-Chat integrieren – ohne dass Nutzer für kurze Dialoge die Web-App öffnen müssen.
  • Zielgruppe: CoCoAdmins und App-Admins (Integration aktivieren, Credentials, Verteilung); Microsoft-/Teams-Admins für Bot-Registrierung und organisatorische App-Verteilung.
  • Einsatzbereich: unternehmensweite oder teambezogene Nutzung freigegebener Chatbots/Agenten in Teams. Nicht geeignet, wenn kein Azure Bot / keine Teams-App-Verteilung möglich ist oder der Tenant nicht dem Plattform-TENANT_ID entspricht.

Fachlicher Nutzen und erwartete Ergebnisse

  • Niedrige Einstiegshürde: Fachfragen und Agent-Aufträge dort, wo Kommunikation stattfindet.
  • Einheitliche App-Logik (Prompt, Tools, Wissen) in Web und Teams.
  • Nachvollziehbarkeit über Session „Teams Chat“, optional Quellen-/Tool-Karten und Link ins Dashboard.

Erwartetes Ergebnis: Freigegebene Nutzer schreiben dem Bot in Teams und erhalten gestreamte Antworten derselben App; Unberechtigte werden abgewiesen.

Voraussetzungen für die Nutzung

Technisch

  • Erreichbare Hub-URL (Messaging Endpoint muss von Azure Bot aus dem Internet/erlaubten Netzen erreichbar sein – nicht localhost in Produktion).
  • Azure App Registration + Azure Bot Service (Microsoft App ID und Client Secret).
  • Umgebungsvariable TENANT_ID der Plattform muss zum Teams-Tenant der Nutzer passen.
  • App im Hub angelegt (Typ KI-Chatbot oder Agent); Teams-Integration im Tab Integrationen aktiviert.
  • Client Secret wird AES-verschlüsselt gespeichert (teamsConfig.microsoftAppPasswordEncrypted).

Organisatorisch

  • Klärung: welche App als Bot, Zielgruppe, Freigabeprozess in Teams (Org-weit, ausgewählte Teams/Nutzer).
  • App-Berechtigungen im Hub (App einschränken / Gruppen) und CoCo-Plattformrolle der Nutzer.

Abhängig

  • Allgemeine Chat-/App-Infrastruktur; optional dieselben Tools/Wissensquellen wie im Web (siehe Agent, RAG Agent).

Konfiguration des Features und seiner grundlegenden Einstellungen

Pfad: /dashboard/settings/[appid] → Tab Integrationen → Abschnitt Microsoft Teams.

Integrationen: Microsoft Teams aktiv

1. Integration im Hub aktivieren

EinstellungBedeutung
Microsoft Teams Integration (Switch)App als Teams-Bot aktivieren/deaktivieren
Webhook URL (Messaging Endpoint)https://<hub-host>/api/teams/<appId>/messages – in die Azure-Bot-Konfiguration übernehmen (Kopier-Button)
Microsoft App IDApplication (Client) ID der Azure App Registration
Client SecretSecret der App Registration; einmal gesetzt: Feld leer lassen zum Beibehalten
SpeichernKonfiguration schreiben

Sinnvolle Defaults: Integration erst aktivieren, wenn Endpoint und Credentials stehen; Secrets nicht im Prompt oder in Tickets im Klartext ablegen.

2. Azure Bot / Messaging Endpoint

  1. In Azure Bot die Messaging Endpoint auf die kopierte Webhook-URL setzen.
  2. App ID und Client Secret müssen zu denselben Werten im Hub passen.
  3. Bot Framework Auth läuft tenant-gebunden (TENANT_ID).

3. App-Verteilung in Microsoft Teams

Die Verteilung der Teams-App erfolgt außerhalb des Private AI Hub – typischerweise über Azure Bot / Teams-App-Paket und den Teams Admin Center- bzw. Organisationskatalog-Prozess eures Tenants.

Empfohlene Reihenfolge:

  1. Hub-Integration speichern (Endpoint + Credentials).
  2. Azure Bot mit Messaging Endpoint verbinden und Bot testen.
  3. Teams-App (Bot) im Tenant hochladen bzw. veröffentlichen.
  4. Verteilungsrichtlinie festlegen: Org-weit, ausgewählte Nutzer/Gruppen oder ausgewählte Teams – analog zu eurer M365-Governance.
  5. Sicherstellen, dass verteilte Nutzer im Hub CoCo-Zugang und ggf. App-Berechtigung haben (sonst antwortet der Bot mit Zugriffsmeldung).
  6. Stichprobe: berechtigter Nutzer chattet mit dem Bot; unberechtigter Nutzer wird abgewiesen.

Ohne App-Verteilung erscheint der Bot bei den Zielnutzern nicht – die Hub-Konfiguration allein reicht nicht.

Deaktivieren: Switch im Hub aus → speichern; bei Bedarf Teams-App-Zuweisung zurücknehmen und Azure Endpoint entfernen.

Rollen- und Berechtigungskonzept

RolleDarf
CoCoAdminTeams-Config jeder App setzen; App-Berechtigungen global steuern
App-AdminTeams-Config der eigenen App (Enable, App ID, Secret)
Teams-/M365-AdminBot-Registrierung, Teams-App-Upload und App-Verteilung im Tenant
App-User / CoCo-UserBot nutzen, wenn Tenant, CoCo-Rolle und App-Zugriff passen

Laufzeitprüfungen in der Teams-Route (in dieser Reihenfolge):

  1. conversation.tenantId = TENANT_ID
  2. Nutzer hat CoCo-General-Rolle (Entra/Graph)
  3. Bei geschützter App: resolveUserAppAccess (User/Gruppen)

Konfiguration von Verhaltensregeln, Vorgaben und Einschränkungen

  • Verhalten steuern wie im Web: System-Prompt, freigeschaltete Tools, Quellen anzeigen / Aktionen anzeigen.
  • In Teams sichtbar: Tool-Karten nur wenn showToolCalls nicht deaktiviert; Quellen-Karten nur wenn showSources nicht deaktiviert.
  • Erzwungen: Tenant-Check, Rollen-/App-Zugriff, Text-only-Eingabe über den Bot, Antwortaufteilung bei ca. 4000 Zeichen.
  • Reset-Befehle für Nutzer: /neu und /deleteconversation.

Verwaltung und Pflege der verwendeten Daten-, Wissens- oder Kontextquellen

Nicht zutreffend als eigene Teams-Datenquelle: Teams liefert den Transportkanal. Wissens- und Tool-Quellen pflegt ihr wie bisher an der App (Dateien & Jobs, SharePoint, Outlook-Tools usw.). Die Teams-Session speichert den Chatverlauf unter Session-Name Teams Chat (teamsConversationId).

Definition der zulässigen Eingaben, Ausgaben und Verarbeitungsgrenzen

Eingaben

  • Teams-Nachrichten vom Typ Message mit Text.
  • Befehle /neu / /deleteconversation.
  • Keine Datei-Uploads über den Teams-Bot-Endpunkt.

Ausgaben

  • Text (gestreamt, anschließend final; lange Texte in Chunks).
  • Adaptive Cards: Tool-Aufruf, Quellen, Dashboard-Link inkl. optionalem Kontext-Token-Hinweis.

Grenzen

  • Kontextfenster der App (History wird getrimmt, u. a. ca. 60 % des Context Windows für Historie).
  • Fremde Tenants und Nutzer ohne Rolle/App-Recht → Ablehnung.
  • Messaging Endpoint muss produktiv erreichbar sein.

Konfiguration angebundener Systeme, Tools, Schnittstellen oder Integrationen

SystemZweck
Azure App RegistrationApp ID + Client Secret
Azure Bot ServiceMessaging Endpoint → Hub-Webhook
Microsoft TeamsClient-UI und App-Verteilung
Hub POST /api/teams/[appid]/messagesBot Framework Adapter + Conversation Engine
Entra GraphCoCo-Rolle und Gruppen für App-Zugriff

Secrets nur verschlüsselt im Hub speichern; niemals in Docs, Prompts oder Tickets im Klartext.

Umgang mit vertraulichen, personenbezogenen oder besonders schützenswerten Daten

  • Chatverläufe liegen in Hub-Sessions und zusätzlich im Teams-Kontext (Tenant-Richtlinien beachten).
  • Client Secret verschlüsselt; nicht an Clients zurückgeben (hasPassword-Flag statt Klartext).
  • App-Berechtigungen eng halten; besonders schützenswerte Inhalte nicht unnötig über Teams-Kanäle führen.
  • Quellen-/Dashboard-Links können auf interne Ressourcen zeigen – nur für berechtigte Nutzer verteilen.

Monitoring von Verfügbarkeit, Qualität, Fehlerraten und technischen Auffälligkeiten

  • Tab Logs der App: Fehler der Teams-Route (createAppLog bei Exceptions).
  • Symptome: Bot antwortet nicht (Endpoint/Credentials/Verteilung), „Zugriff verweigert“ (Tenant), „kein Zugriff“ (Rolle/App).
  • Qualität: Stichprobenchats in Teams und Vergleich mit Web-Session derselben App.
  • Typing ohne Folgeantwort: Backend-/Modellfehler in Logs prüfen.

Monitoring von Nutzung, Ressourcenverbrauch, Token-Verbrauch und Kosten

  • Tab Statistik: Nachrichten/Token/Kosten der App (inkl. Teams-Traffic, sofern über dieselben Sessions/Usage erfasst).
  • In Teams optional Kontextzeile (Input-Token vs. Context Window) auf der Dashboard-Karte.
  • Lange Verläufe ohne /neu erhöhen Tokenverbrauch.

Test- und Abnahmeverfahren vor der produktiven Freigabe

Checkliste:

  1. Teams-Integration im Hub aktiv, korrekte App ID, Secret gesetzt, Webhook kopiert.
  2. Azure Bot Messaging Endpoint = produktive Hub-URL (/api/teams/<appId>/messages).
  3. App-Verteilung an Testnutzer erfolgt (Teams Admin / Katalog).
  4. Testnutzer mit CoCo-Rolle und App-Recht: Frage → gestreamte Antwort.
  5. Nutzer ohne App-Recht bzw. ohne CoCo: erwartete Ablehnungsmeldung.
  6. /neu setzt Konversation zurück; Im Dashboard öffnen zeigt die Session.
  7. Bei Agent mit Tools/Quellen: Karten erscheinen gemäß Sichtbarkeits-Einstellungen.
  8. Rollback: Integration im Hub deaktivieren; Teams-Zuweisung entziehen; bei Bedarf Azure Endpoint leeren.