Was sind Messaging-Erweiterungen?What are messaging extensions?

Messaging-Erweiterungen ermöglichen Benutzern die Interaktion mit Ihrem Webdienst über Schaltflächen und Formulare im Microsoft Teams-Client.Messaging extensions allow users to interact with your web service through buttons and forms in the Microsoft Teams client. Sie können in einem externen System über dem Feld zum Verfassen der Nachricht, das Befehlsfeld oder direkt aus einer Nachricht heraus suchen oder Aktionen auslösen.They can search, or initiate actions, in an external system from the compose message area, the command box, or directly from a message. Sie können dann die Ergebnisse dieser Interaktion an den Microsoft Teams-Client zurücksenden, normalerweise in Form einer reich formatierten Karte.You can then send the results of that interaction back to the Microsoft Teams client, typically in the form of a richly formatted card.

Der folgende Screenshot zeigt die Orte, von denen aus Messaging Erweiterungen aufgerufen werden können.The screenshot below shows the locations where messaging extensions can be invoked from.

Speicherorte für Messaging Erweiterungs Aufrufe

Für welche Arten von Aufgaben sind Sie geeignet?What kinds of tasks are they good for?

Szenario: Ich benötige ein externes System, um etwas zu tun, und ich möchte, dass das Ergebnis der Aktion an meine Unterhaltung zurückgesendet wird. Scenario: I need some external system to do something and I want the result of the action to be sent back to my conversation.
Beispiel: Reservieren Sie eine Ressource, und lassen Sie den Kanal wissen, für welchen Tag/welche Zeit Sie ihn reserviert haben.Example: Reserve a resource and let the channel know what day/time you reserved it for.

Szenario: Ich muss etwas in einem externen System finden, und ich möchte die Ergebnisse mit meiner Unterhaltung teilen. Scenario: I need to find something in an external system, and I want to share the results with my conversation.
Beispiel: Suchen Sie in Azure DevOps nach einer Arbeitsaufgabe, und teilen Sie Sie mit der Gruppe als Adaptive Karte.Example: Search for a work item in Azure DevOps, and share it with the group as an adaptive card.

Szenario: Ich muss eine komplexe Aufgabe mit mehreren Schritten (oder vielen Informationen) in einem externen System ausführen, und die Ergebnisse sollten für eine Unterhaltung freigegeben werden. Scenario: I need to complete a complex task involving multiple steps (or lots of information) in an external system, and the results should be shared with a conversation.
Beispiel: Erstellen Sie einen Fehler in Ihrem Tracking System basierend auf einer Microsoft Teams-Nachricht, weisen Sie diesen Fehler Bob zu, und senden Sie dann eine Karte an den Unterhaltungsthread mit den Details des Fehlers.Example: Create a bug in your tracking system based on a Teams message, assign that bug to Bob, then send a card to the conversation thread with the bug's details.

Wie funktionieren Messaging-Erweiterungen?How do messaging extensions work?

Eine Messaging Erweiterung besteht aus einem Webdienst, den Sie hosten, und dem App-Manifest, das definiert, wo Ihr Webdienst aus dem Microsoft Teams-Client aufgerufen werden kann.A messaging extension consists of a web service you host and your app manifest which defines where your web service can be invoked from in the Microsoft Teams client. Sie nutzen das Messaging-Schema und das sichere Kommunikationsprotokoll des Bot-Frameworks, so dass Sie Ihren Webdienst auch als Bot im Bot-Framework registrieren müssen.They take advantage of the Bot Framework's messaging schema and secure communication protocol, so you'll also need to register your web service as a bot in the Bot Framework. Sie können den Webdienst zwar vollständig manuell erstellen, aber es wird empfohlen, dass Sie das bot Framework SDK nutzen, um das Arbeiten mit dem Protokoll zu vereinfachen.Although you can create your web service completely by hand, we recommend you take advantage of the Bot Framework SDK to make working with the protocol simpler.

Im App-Manifest für Ihre Microsoft Teams-app definieren Sie eine einzelne Messaging Erweiterung mit bis zu zehn unterschiedlichen Befehlen.In the app manifest for your Microsoft Teams app you'll define a single messaging extension with up to ten different commands. Jeder Befehl definiert einen Typ (Aktion oder Suche) und die Speicherorte im Client, aus dem er aufgerufen werden kann (Verfassen des Nachrichtenbereichs, der Befehlsleiste und/oder der Nachricht).Each command defines a type (action or search), and the locations in the client it can be invoked from (compose message area, command bar, and/or message). Nachdem der Webdienst aufgerufen wurde, erhält er eine HTTPS-Nachricht mit einer JSON-Nutzlast einschließlich aller relevanten Informationen.Once invoked, your web service will receive an HTTPS message with a JSON payload including all the relevant information. Sie Antworten mit einer JSON-Nutzlast, sodass der Microsoft Teams-Client wissen kann, welche Interaktion als nächstes aktiviert werden soll.You'll respond with a JSON payload, letting the Teams client know what interaction to enable next.

Typen von Messaging Erweiterungs BefehlenTypes of messaging extension commands

Der Typ des Messaging Erweiterungs Befehls definiert die Benutzeroberflächenelemente und Interaktions Flüsse, die Ihrem Webdienst zur Verfügung stehen.The type of messaging extension command defines the UI elements and interaction flows available to your web service. Einige Interaktionen, wie Authentifizierung und Konfiguration, stehen für beide Befehlstypen zur Verfügung.Some interactions, like authentication and configuration, are available for both types of commands.

AktionsbefehleAction commands

Mit Aktions Befehlen können Sie Ihren Benutzern ein modales Popup-Fenster zum Erfassen oder Anzeigen von Informationen präsentieren.Action commands allow you to present your users with a modal popup to collect or display information. Wenn Sie das Formular übermitteln, kann Ihr Webdienst Antworten, indem er eine Nachricht direkt in die Unterhaltung einfügt, oder indem er eine Nachricht in den Bereich zum Verfassen von Nachrichten einfügt und es dem Benutzer ermöglicht, die Nachricht zu übermitteln.When they submit the form, your web service can respond by inserting a message into the conversation directly, or by inserting a message into the compose message area and allowing the user to submit the message. Sie können sogar mehrere Formulare für komplexere Workflows miteinander verketten.You can even chain multiple forms together for more complex workflows.

Sie können aus dem Bereich zum Verfassen von Nachrichten, dem Befehlsfeld oder aus einer Nachricht ausgelöst werden.They can be triggered from the compose message area, the command box, or from a message. Wenn Sie aus einer Nachricht aufgerufen wird, enthält die anfängliche JSON-Nutzlast, die an Ihren bot gesendet wird, die gesamte Nachricht, von der Sie aufgerufen wurde.When invoked from a message, the initial JSON payload sent to your bot will include the entire message it was invoked from.

Befehls Aufgabenmodul für Messaging Erweiterungsaktionen

SuchbefehleSearch commands

Suchbefehle ermöglichen es Ihren Benutzern, ein externes System nach Informationen zu durchsuchen (entweder manuell über ein Suchfeld oder durch Einfügen eines Links zu einer überwachten Domäne in den Nachrichtenbereich „Verfassen“) und anschließend die Ergebnisse der Suche in eine Nachricht einzufügen.Search commands allow your users to search an external system for information (either manually through a search box, or by pasting a link to a monitored domain into the compose message area), then insert the results of the search into a message. Im einfachsten Suchbefehlsfluss enthält die anfängliche „invoke“-Nachricht die vom Benutzer übermittelte Suchzeichenfolge.In the most basic search command flow, the initial invoke message will include the search string the user submitted. Sie antworten mit einer Liste von Karten und Kartenvorschauen.You'll respond with a list of cards and card previews. Der Microsoft Teams-Client rendert die Kartenvorschau in einer Liste, aus der der Endbenutzer auswählen kann.The Teams client will render the card previews in a list for the end user to select from. Wenn der Benutzer eine Karte auswählt, wird sie in voller Größe in den Nachrichtenbereich „Verfassen“ eingefügt.When the user selects a card, the full-size card will be inserted into the compose message area.

Sie können aus dem Nachrichtenbereich "Verfassen" oder aus dem Befehlsfeld ausgelöst werden.They can be triggered from the compose message area or the command box. Im Gegensatz zu Aktions Befehlen können Sie nicht aus einer Nachricht ausgelöst werden.Unlike action commands, they cannot be triggered from a message.

Suchbefehl für Messaging Erweiterung

Sie haben auch die Möglichkeit, ihren Dienst aufzurufen, wenn eine URL im Bereich zum Verfassen von Nachrichten eingefügt wird.You also have the option to invoke your service when a URL is pasted in the compose message area. Mit dieser Funktion, die als Link-Entfaltungbezeichnet wird, können Sie abonnieren, um einen Aufruf zu erhalten, wenn URLs, die eine bestimmte Domäne enthalten, in den Bereich zum Verfassen von Nachrichten eingefügt werden.This functionality, known as link unfurling, allows you to subscribe to receive an invoke when URLs containing a particular domain are pasted into the compose message area. Ihr Webdienst kann die URL in eine detaillierte Karte "aufteilen" und bietet mehr Informationen als die standardmäßige Website-Vorschau Karte.Your web service can "unfurl" the URL into a detailed card, providing more information than the standard website preview card. Sie können sogar Schaltflächen hinzufügen, damit Ihre Benutzer Sofortaktionen ausführen können, ohne den Microsoft Teams-Client verlassen zu müssen.You can even add buttons to allow your users to immediately take action without leaving the Microsoft Teams client.

Erste SchritteGet Started

Können Sie mit dem Erstellen beginnen?Ready to get started building? Versuchen Sie es mit einem unserer Schnellstarts:Try one of our quickstarts:

Weitere InformationenLearn more

Erstellen Sie eine Messaging Erweiterung:Build a messaging extension: