Partager via


Plug-ins d’API pour Microsoft 365 Copilot

Les plug-ins d’API permettent aux agents déclaratifs dans Microsoft 365 Copilot d’interagir avec les API REST qui ont une description OpenAPI. Avec un plug-in d’API, les utilisateurs peuvent demander à un agent déclaratif non seulement d’interroger une API REST pour obtenir des informations, mais également de créer, mettre à jour et supprimer des données et des objets. Tout ce que l’API REST peut faire est accessible via des invites en langage naturel.

Importante

Les plug-ins d’API sont uniquement pris en charge en tant qu’actions au sein d’agents déclaratifs. Ils ne sont pas activés dans Microsoft 365 Copilot.

Un plug-in d’API fournit un document de description OpenAPI et un manifeste de plug-in que Copilot utilise pour découvrir les fonctionnalités de l’API. Copilot peut ensuite décider quand l’API d’un plug-in installé et activé est adapté pour répondre à une invite donnée. Pour en savoir plus sur le fichier manifeste requis par un plug-in d’API, consultez Schéma de manifeste de plug-in d’API pour Microsoft 365 Copilot.

Par exemple, considérez une API budgets qui permet d’interroger et de créer des budgets, de facturer des dépenses ou d’ajouter des fonds aux budgets existants. L’invite « Combien reste-t-il dans le budget de voyage Contoso » peut déclencher un plug-in budget, en effectuant l’appel d’API suivant.

GET /budgets?name=contoso%20travel

Copilot utilise la réponse de l’appel d’API pour générer sa réponse : « Le budget de voyage de Contoso a actuellement 5 000 $ en fonds disponibles. Si vous avez besoin d’allouer des fonds à des catégories spécifiques ou d’effectuer le suivi des dépenses, je peux également vous aider à le faire. Faites-moi savoir comment je peux vous aider !

L’invite « Facturer 500 $ au budget de voyage Contoso pour le billet d’avion de Megan » peut être traduite en appel d’API suivant.

POST /budgets/charge
Content-Type: application/json

{
  "budgetName": "Contoso travel",
  "amount": 500,
  "description": "Megan's airline ticket"
}

Copilot répond à l’utilisateur, en utilisant les informations retournées : « Les frais de 500 $ pour le billet d’avion de Megan ont été traités avec succès. Le budget de voyage contoso a maintenant 4 500 $ restants en fonds disponibles. Si vous avez besoin d’effectuer d’autres transactions ou si vous avez besoin d’aide supplémentaire pour votre budget, s’il vous plaît faites-le moi savoir !

Confirmation des actions

Copilot demande à l’utilisateur avant d’envoyer des données à un plug-in d’API.

Capture d’écran d’une boîte de dialogue de confirmation de plug-in.

Par défaut, les API qui récupèrent uniquement des données donnent à l’utilisateur une option « Toujours autoriser », contrairement aux API qui modifient les données. Les développeurs de plug-ins peuvent remplacer ces valeurs par défaut. Pour plus d’informations, consultez Invites de confirmation pour les plug-ins d’API pour Microsoft 365 Copilot.

Personnalisation de la présentation de la réponse

Copilot génère des réponses conversationnelles à l’aide des données des réponses de l’API. Les plug-ins peuvent personnaliser ces réponses en fournissant des modèles de carte adaptative pour afficher les données de manière structurée.

Capture d’écran d’une réponse de carte adaptative à partir d’un plug-in d’API

Génération de packages de plug-in d’API

Il existe deux outils que les développeurs peuvent utiliser pour générer des packages de plug-in d’API.

  • Le Kit de ressources Teams dans Visual Studio ou Visual Studio Code peut créer des packages de plug-in basés sur une description OpenAPI existante. Si vous n’avez pas d’API existante, Teams Toolkit propose également des projets de démarrage avec un exemple d’API et le package de plug-in correspondant.
  • Kiota est un outil en ligne de commande et une extension Visual Studio Code qui peut générer des packages de plug-in basés sur une description OpenAPI existante.

Limitations

Les URL dans les réponses d’API sont expurgées

Pour protéger la confidentialité de l’utilisateur, Copilot rédige toutes les URL contenues dans les réponses d’API. La seule exception à ce comportement est toute URL dans une propriété spécifiée par la url propriété dans l’objet de propriétés sémantiques response.