Que sont les extensions de messagerie ?What are messaging extensions?

Les extensions de messagerie permettent aux utilisateurs du client Microsoft Teams d’interagir avec votre service web par le biais de boutons et de formulaires.Messaging extensions allow users to interact with your web service through buttons and forms in the Microsoft Teams client. Elles peuvent effectuer des recherches, ou lancer des actions, dans un système externe à partir de la zone de rédaction de message, de la zone de commande ou d’un message.They can search, or initiate actions, in an external system from the compose message area, the command box, or directly from a message. Vous pouvez ensuite renvoyer les résultats de cette interaction au client Microsoft Teams, généralement sous la forme d’une carte avec mise en forme enrichie.You can then send the results of that interaction back to the Microsoft Teams client, typically in the form of a richly formatted card.

La capture d’écran ci-dessous montre les emplacements à partir desquels les extensions de messagerie peuvent être appelées.The screenshot below shows the locations where messaging extensions can be invoked from.

emplacements d’appel d’extension de messagerie

Quels types de tâches sont-elles utiles ?What kinds of tasks are they good for?

Scénario : J’ai besoin d’un système externe pour effectuer une opération et je souhaite que le résultat de l’action soit renvoyé à ma conversation. Scenario: I need some external system to do something and I want the result of the action to be sent back to my conversation.
Exemple : Réservez une ressource et indiquez au canal la date/l’heure à laquelle vous l’avez réservée.Example: Reserve a resource and let the channel know what day/time you reserved it for.

Scénario : J’ai besoin de trouver des éléments dans un système externe et je souhaite partager les résultats avec ma conversation. Scenario: I need to find something in an external system, and I want to share the results with my conversation.
Exemple : Recherchez un élément de travail dans Azure DevOps et partagez-le avec le groupe sous forme de carte adaptative.Example: Search for a work item in Azure DevOps, and share it with the group as an adaptive card.

Scénario : J’ai besoin d’effectuer une tâche complexe impliquant plusieurs étapes (ou un grand nombre d’informations) dans un système externe, et les résultats doivent être partagés avec une conversation. 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.
Exemple : Créez un bogue dans votre système de suivi en fonction d’un message Teams, affectez ce bogue à Bob, puis envoyez une carte au thread de conversation avec les détails du bogue.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.

Comment fonctionnent les extensions de messagerie ?How do messaging extensions work?

Une extension de messagerie se compose d’un service Web que vous hébergez et de votre manifeste d’application qui définit l’emplacement à partir duquel votre service Web peut être appelé dans le client Microsoft Teams.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. Ceux-ci tirent parti du schéma de messagerie et du protocole de communication sécurisé de Bot Framework. Vous devez donc également inscrire votre service web en tant que bot dans Bot Framework.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. Bien que vous puissiez créer entièrement votre service Web manuellement, nous vous recommandons de tirer parti du Kit de développement logiciel (SDK) de l’infrastructure de robots pour utiliser plus facilement le protocole.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.

Dans le manifeste de l’application pour votre application Microsoft Teams, vous allez définir une extension de messagerie unique avec jusqu’à dix commandes différentes.In the app manifest for your Microsoft Teams app you'll define a single messaging extension with up to ten different commands. Chaque commande définit un type (action ou recherche), ainsi que les emplacements dans le client à partir duquel elle peut être appelée (zone de message, barre de commandes et/ou message de composition).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). Une fois l’appel effectué, votre service Web reçoit un message HTTPs avec une charge utile JSON, y compris toutes les informations pertinentes.Once invoked, your web service will receive an HTTPS message with a JSON payload including all the relevant information. Vous allez répondre avec une charge utile JSON, ce qui permet au client teams de savoir quelle interaction activer ensuite.You'll respond with a JSON payload, letting the Teams client know what interaction to enable next.

Types de commandes d’extension de messagerieTypes of messaging extension commands

Le type de commande d’extension de messagerie définit les éléments d’interface utilisateur et les flux d’interaction disponibles pour votre service Web.The type of messaging extension command defines the UI elements and interaction flows available to your web service. Certaines interactions, telles que l’authentification et la configuration, sont disponibles pour les deux types de commandes.Some interactions, like authentication and configuration, are available for both types of commands.

Commandes d’actionAction commands

Les commandes d’action vous permettent de présenter à vos utilisateurs une fenêtre contextuelle modale pour collecter ou afficher des informations.Action commands allow you to present your users with a modal popup to collect or display information. Lors de l’envoi du formulaire, votre service Web peut répondre en insérant un message directement dans la conversation ou en insérant un message dans la zone de message de composition et en permettant à l’utilisateur d’envoyer le message.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. Vous pouvez même regrouper plusieurs formulaires pour des flux de travail plus complexes.You can even chain multiple forms together for more complex workflows.

Elles peuvent être déclenchées à partir de la zone de message de composition, de la zone de commande ou d’un message.They can be triggered from the compose message area, the command box, or from a message. Lorsqu’elle est appelée à partir d’un message, la charge utile JSON initiale envoyée à votre bot inclut l’intégralité du message à partir duquel elle a été appelée.When invoked from a message, the initial JSON payload sent to your bot will include the entire message it was invoked from.

module de tâche de commande d’action d’extension de messagerie

Commandes de rechercheSearch commands

Les commandes de recherche permettent à vos utilisateurs de rechercher des informations dans un système externe (manuellement via une zone de recherche ou en collant un lien dans un domaine surveillé dans la zone de message composer un message), puis insérer les résultats de la recherche dans un message.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. Dans le flux de commandes de recherche le plus simple, le message d’appel initial inclut la chaîne de recherche soumise par l’utilisateur.In the most basic search command flow, the initial invoke message will include the search string the user submitted. Vous répondrez avec une liste de cartes et d’aperçus de cartes.You'll respond with a list of cards and card previews. Le client teams affiche les aperçus de carte dans une liste à partir de laquelle l’utilisateur final peut effectuer une sélection.The Teams client will render the card previews in a list for the end user to select from. Lorsque l’utilisateur sélectionne une carte, la carte en taille réelle est insérée dans la zone composer un message.When the user selects a card, the full-size card will be inserted into the compose message area.

Ils peuvent être déclenchés à partir de la zone de message composer ou de la zone de commande.They can be triggered from the compose message area or the command box. Contrairement aux commandes d’action, elles ne peuvent pas être déclenchées à partir d’un message.Unlike action commands, they cannot be triggered from a message.

commande de recherche de l’extension de messagerie

Vous avez également la possibilité d’appeler votre service lorsqu’une URL est collée dans la zone de message de composition.You also have the option to invoke your service when a URL is pasted in the compose message area. Cette fonctionnalité, appelée liaison unfurling, vous permet de vous abonner pour recevoir un appel lorsque des URL contenant un domaine particulier sont collées dans la zone de message de composition.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. Votre service Web peut « Unfurl » l’URL en une carte détaillée, ce qui fournit davantage d’informations que la carte d’aperçu de site Web standard.Your web service can "unfurl" the URL into a detailed card, providing more information than the standard website preview card. Vous pouvez même ajouter des boutons pour permettre à vos utilisateurs de prendre immédiatement des mesures sans quitter le client Microsoft Teams.You can even add buttons to allow your users to immediately take action without leaving the Microsoft Teams client.

Prise en mainGet Started

Vous êtes prêt à commencer à créer ?Ready to get started building? Essayez l’un de nos Démarrages rapides :Try one of our quickstarts:

En savoir plusLearn more

Créer une extension de messagerie :Build a messaging extension: