Erstellen von Nachrichtenerweiterungen

Nachrichtenerweiterungen ermöglichen Benutzern die Interaktion mit Ihrem Webdienst über Schaltflächen und Formulare innerhalb des Microsoft Teams-Clients. Benutzer können in einem externen System über den Nachrichtenbereich „Verfassen“, das Befehlsfeld oder direkt aus einer Nachricht heraus suchen oder Aktionen starten. Sie können die Ergebnisse dieser Interaktionen als detailreich formatierte Karte an den Teams-Client zurückgeben.

Dieser Artikel bietet eine Übersicht über Nachrichtenerweiterungen, Anwendungsfälle, Funktionalitäten, Aktions- und Suchbefehle sowie die Linkentfaltung.

In der folgenden Abbildung werden die Speicherorte angezeigt, von denen aus Benutzer Nachrichtenerweiterungen aufrufen können:

Hinweis

  • Sie können keine @mention Nachrichten an Erweiterungen im Feld "Verfassen" senden.
  • Teams unterstützt keine Nachrichtenerweiterungsoptionen für Gruppenchats mit externen Benutzern.

Szenarien, in denen Nachrichtenerweiterungen verwendet werden

Szenario Beispiel
Sie benötigen ein externes System, um eine Aktion auszuführen und das Ergebnis an Ihre Unterhaltung zurückzugeben. Reservieren Sie eine Ressource und lassen Sie den Kanal das reservierte Zeitfenster kennen.
Sie müssen in einem externen System nach etwas suchen und die Ergebnisse mit der Konversation teilen. Suchen Sie nach einem Arbeitselement in Azure DevOps, und geben Sie es als adaptive Karte für die Gruppe frei.
Sie möchten eine komplexe Aufgabe mit mehreren Schritten oder großen Informationsmengen in einem externen System erledigen und die Ergebnisse mit einem Gespräch teilen. Erstellen Sie einen Fehler in Ihrem Verfolgungssystem basierend auf einer Teams-Nachricht, weisen Sie diesen Fehler zu, und senden Sie eine Karte mit den Details des Fehlers an den Unterhaltungsthread.

Grundlegendes zur Funktionsweise von Nachrichtenerweiterungen

Eine Nachrichtenerweiterung besteht aus einem Webdienst, den Sie hosten, und einem App-Manifest, das den Speicherort definiert, an dem Ihr Webdienst innerhalb des Teams-Clients aufgerufen wird. Der Webdienst verwendet das Messagingschema und das sichere Kommunikationsprotokoll des Bot Frameworks, daher müssen Sie Ihren Webdienst als Bot im Bot Framework registrieren.

Hinweis

Sie können den Webdienst zwar manuell erstellen, aber verwenden Sie das Bot Framework SDK , um mit dem Protokoll zu arbeiten.

Im App-Manifest (zuvor als Teams-App-Manifest bezeichnet) definieren Sie eine einzelne Nachrichtenerweiterung mit bis zu 10 verschiedenen Befehlen. Jeder Befehl definiert einen Typ, z. B. "Aktion" oder "Suche", sowie die Speicherorte im Client, an denen die Nachrichtenerweiterung aufgerufen wird. Zu den Speicherorten für Aufrufe gehören der Bereich zum Verfassen von Nachrichten, die Befehlsleiste und die Nachricht. Wenn Sie die Nachrichtenerweiterung aufrufen, empfängt der Webdienst eine HTTPS-Nachricht mit einer JSON-Nutzlast, die alle relevanten Informationen enthält. Antworten Sie mit einer JSON-Nutzlast, um den Teams-Client über die nächste Interaktion zu informieren, die aktiviert werden soll.

Befehlstypen für die Nachrichtenerweiterung

Es gibt zwei Arten von Nachrichtenerweiterungsbefehlen: Aktionsbefehle und Suchbefehle. Der Befehlstyp „Nachrichtenerweiterung“ definiert die Benutzeroberflächenelemente und Interaktionsflüsse, die für Ihren Webdienst verfügbar sind. Beide Befehlstypen bieten Interaktionen für die Authentifizierung und Konfiguration.

Aktionsbefehle

Verwenden Sie Aktionsbefehle, um Benutzern ein modales Popupfenster zum Sammeln oder Anzeigen von Informationen anzuzeigen. Wenn der Benutzer das Formular übermittelt, antwortet Ihr Webdienst, indem er eine Nachricht direkt in die Unterhaltung oder in den Bereich zum Verfassen von Nachrichten einfügt. Später kann der Benutzer die Nachricht übermitteln. Für komplexere Workflows können Sie mehrere Formulare miteinander verknüpfen.

Auslösen von Aktionsbefehlen im Bereich zum Verfassen von Nachrichten, im Befehlsfeld oder in einer Nachricht. Wenn Sie den Befehl aus einer Nachricht heraus aufrufen, enthält die anfängliche JSON-Nutzlast, die an Ihren Bot gesendet wird, die gesamte Nachricht, aus der er aufgerufen wurde. Die folgende Abbildung zeigt das Dialogfeld mit dem Aktionsbefehl für die Nachrichtenerweiterung (in TeamsJS v1.x als Aufgabenmodul bezeichnet):

Dialogfeld

Suchbefehle

Mit Suchbefehlen können Sie ein externes System nach Informationen durchsuchen. Um Suchbefehle zu verwenden, geben Sie eine Abfrage manuell in das Suchfeld ein, oder fügen Sie einen Link zu einer überwachten Domäne in den Bereich zum Verfassen von Nachrichten ein, und betten Sie dann die Suchergebnisse in eine Nachricht ein. In einem einfachen Suchbefehlsablauf enthält die anfängliche Aufrufnachricht die vom Benutzer übermittelte Suchzeichenfolge. Sie antworten mit einer Liste von Karten und Kartenvorschauen. Der Teams-Client rendert eine Liste der Kartenvorschauen für den Benutzer. Wenn der Benutzer eine Karte aus der Liste auswählt, wird sie in voller Größe in den Nachrichtenbereich „Verfassen“ eingefügt.

Sie lösen die Karten im Bereich "Nachricht verfassen" oder im Befehlsfeld aus, aber nicht in einer Nachricht. Sie können sie nicht über eine Nachricht auslösen. In der folgenden Abbildung wird das Dialogfeld für den Suchbefehl für die Nachrichtenerweiterung angezeigt:

Suchbefehl für Nachrichtenerweiterung

Hinweis

Weitere Informationen zu Karten finden Sie unter Was sind Karten.

Hinweis

Das Entrollen von Links wird nur für Bot-basierte Nachrichtenerweiterungen unterstützt.

Wenn Sie eine URL in den Bereich zum Verfassen von Nachrichten einfügen, ruft Teams einen Webdienst auf. Diese Funktionalität wird als Verbreiten von Links bezeichnet. Sie können abonnieren, um eine Invoke-Nachricht zu erhalten, wenn URLs, die eine bestimmte Domäne enthalten, in den Bereich zum Verfassen von Nachrichten eingefügt werden. Ihr Webdienst kann die URL in eine detaillierte Karte aufwickeln, die mehr Informationen als die Standard-Websitevorschau-Karte bereitstellt. Sie können Schaltflächen hinzufügen, damit die Benutzer sofort Aktionen ausführen können, ohne den Teams-Client verlassen zu müssen. Die folgenden Bilder zeigen die Funktion zum Aufwickeln von Links, wenn ein Link in eine Nachrichtenerweiterung eingefügt wird:

Link verbreiten

Link wird entfaltet

Erstellen von Nachrichtenerweiterungen

Verwenden Sie eine der folgenden Methoden, um eine Nachrichtenerweiterung zu erstellen:

  • Erstellen von Nachrichtenerweiterungen mithilfe der API (API-basiert): Erstellen Sie eine Nachrichtenerweiterung aus einer vorhandenen API. Für diese Methode ist ein OpenAPI Description (OAD)-Dokument erforderlich.

  • Erstellen Sie Nachrichtenerweiterungen mit Bot Framework (Bot-basiert): Erstellen Sie eine neue Nachrichtenerweiterung aus einem Bot, wenn Sie eine persönliche Unterhaltungserfahrung wünschen.

Hinweis

Agents bieten eine flexiblere, intelligentere und zukunftsfähigere Erfahrung, die umfangreichere Denkprozesse, eine einfachere Entwicklung und eine bessere Abstimmung mit den sich entwickelnden Teams und der Microsoft 365-Plattform ermöglicht. Es wird empfohlen, Agents zu untersuchen und zu erstellen.

Weitere Informationen finden Sie unter Erstellen deklarativer Agents und Build-Agents in Teams.

Wenn Sie über eine Bot-basierte Nachrichtenerweiterung verfügen, können Sie diese auch als Agent erweitern .

Die folgende Tabelle hilft Ihnen bei der Auswahl eines Nachrichtenerweiterungstyps, um zu beginnen:

API-basierte Nachrichtenerweiterung

  • Einfacher, schneller zu erstellen und zu warten.
  • Die Nachrichtenerweiterung verwendet eine API.
  • Für Bot-Logik ist kein zusätzlicher Code oder keine zusätzliche Ressource erforderlich.
  • Ideal für Szenarien, in denen die Nachrichtenerweiterung nur mit einem Webdienst kommunizieren muss und keine komplexe Logik oder Zustandsverwaltung erfordert.
  • Der Datenverkehr wird privatisiert, da er nicht von der Azure-Bot-Infrastruktur abhängig ist.
  • Unterstützt Suchbefehle.

Botbasierte Nachrichtenerweiterung

  • Flexibler.
  • Die Nachrichtenerweiterung verwendet ein Botframework.
  • Können die vollständigen Funktionen eines Bots nutzen.
  • Ideal für Szenarien, in denen die Nachrichtenerweiterung mit mehreren Diensten kommunizieren, komplexe Logik oder Benutzerinteraktionen verwalten oder den Status sitzungsübergreifend verwalten muss.
  • Unterstützt Aktionsbefehle, Suchbefehle und das Entfalten von Links.

Screenshot zeigt die Entscheidungsstruktur, die dem Benutzer hilft, zwischen API-basierter und Bot-basierter Nachrichtenerweiterung zu wählen.

Wählen Sie eine Option aus, um mit dem Erstellen einer Nachrichtenerweiterung zu beginnen:

       Screenshot: OpenAPI-Symbolkachel.

       Screenshot: Kachel

Codebeispiel

Beispielname Beschreibung .NET Node.js Python
Nachrichtenerweiterung mit aktionsbasierten Befehlen In diesem Beispiel wird veranschaulicht, wie Action-Based Nachrichtenerweiterungen für Microsoft Teams erstellt werden, mit denen Benutzer Inhalte interaktiv generieren können. Es bietet Bots, Nachrichtenerweiterungen und eine nahtlose Integration in Benutzereingaben für eine erweiterte Funktionalität. View View View
Nachrichtenerweiterung mit suchbasierten Befehlen Dieses Beispiel zeigt, wie eine Nachrichtenerweiterung in Microsoft Teams erstellt wird, mit der Benutzer Suchvorgänge durchführen und Ergebnisse abrufen können. View View View
Vorschau der Aktion für die Nachrichtenerweiterung Diese Beispiel-App veranschaulicht, wie Sie Aktionsvorschauen in Teams-Nachrichtenerweiterungen verwenden, sodass Benutzer Karten aus Eingaben in einem Aufgabenmodul erstellen können. Es zeigt Bot-Interaktionen, die die Benutzerbindung verbessern, indem sie Benutzern Nachrichten zuordnen. View View
Nachrichtenerweiterungsaktion für die Aufgabenplanung Dieses Beispiel zeigt eine Nachrichtenerweiterung, mit der Benutzer Aufgaben planen und Erinnerungskarten in Microsoft Teams erhalten können. View View
Northwind inventory message extension In diesem Beispiel wird eine Teams-Nachrichtenerweiterung implementiert, die Sie als Plug-In für Microsoft 365 Copilot verwenden können. Mit der Nachrichtenerweiterung können Benutzer die Northwind-Datenbank abfragen. View