Activer votre application et les outils personnalisés dans Microsoft 365 Copilot

[Cette rubrique fait partie de la documentation en version préliminaire et peut faire l’objet de modifications.]

Power Apps dans Microsoft 365 Copilot permet aux utilisateurs d’interagir avec votre application pilotée par modèle directement à partir de Copilot. Lorsqu’un utilisateur communique avec l’agent, il peut exposer les données de votre application en tant qu’interface utilisateur interactive, une grille pour parcourir les enregistrements ou un formulaire pour l’affichage, la modification ou la création, tout cela sans quitter l’expérience Copilot. En outre, vous pouvez ajouter des outils MCP personnalisés et une interface utilisateur interactive à l’agent déclaratif de l’application. Cette fonctionnalité est obtenue via des applications MCP , qui est une extension à MCP qui permet aux serveurs MCP de fournir des interfaces utilisateur interactives aux hôtes. La fonctionnalité fonctionne en générant un serveur MCP et un agent déclaratif à partir de votre application.

Important

  • Il s’agit d’une fonctionnalité en version préliminaire.
  • Les fonctionnalités en version préliminaire ne sont pas destinées à une utilisation en production et peuvent être restreintes. Ces fonctionnalités sont mises à la disposition des clients avant le lancement officiel pour leur permettre d’y accéder en avant-première et de fournir des retours d’expérience.

Prerequisites

  • Application basée sur un modèle. Actuellement, cette fonctionnalité est disponible uniquement avec les applications basées sur des modèles.
  • Microsoft 365 Copilot licence. Requis pour le créateur qui déploie l’agent et les utilisateurs finaux qui interagissent avec lui.
  • Autorisation de charger des applications personnalisées dans Microsoft Teams. Votre administrateur Microsoft 365 peut avoir besoin de l’activer. Vérifiez les paramètres de votre administrateur Teams si l’option de chargement n’est pas visible.

Configurer Power Apps dans Copilot

  1. Accédez à Power Apps, sélectionnez l’environnement souhaité, puis ouvrez l’application pilotée par modèle souhaitée.

  2. Sélectionnez l’icône App MCP dans la barre de navigation de gauche, puis sélectionnez Configurer MCP. Cette action configure le serveur MCP de l’application, qui fournit des outils MCP pour les conversations Copilot. Il s’agit d’une étape ponctuelle et peut prendre quelques secondes.

    Configurer l’application MCP pour l’application basée sur des modèles

  3. Enregistrez et Publiez l’application.

  4. Sélectionnez Télécharger le package d’application pour télécharger l’agent déclaratif généré par mcP de votre application. Ce package contient la définition de l’agent, des outils intégrés pour l’enregistrement et les données, ainsi que la configuration nécessaire pour déployer l’expérience de votre application sur Microsoft 365 copilot.

    Bouton Télécharger le package d’application depuis le concepteur d’applications pilotées par modèle

  5. Téléchargez le fichier compressé nommé similaire à declarative-agent-app name.zip dans Microsoft Teams ou Microsoft 365 Agents :

    • Teams : chargez pour une utilisation personnelle en tant qu’application personnalisée dans Teams. Plus d’informations sur le chargement de votre application dans Teams
    • Agents Microsoft 365 : publiez le package pour une équipe ou un groupe à partir du Centre d’administration Microsoft 365. Plus d’informations : Déployer des agents

Vous pouvez maintenant poser des questions sur les tables de l’application à partir de cet agent déclaratif. Les outils intégrés peuvent afficher une grille interactive pour les requêtes de jeu de données.

Exemple d’affichage des résultats renvoyés par l’assistant déclaratif

En outre, les formulaires intelligents peuvent être utilisés pour créer, afficher et modifier des enregistrements dans le contexte Microsoft 365 Copilot.

Exemple de création d’un enregistrement à partir d’un e-mail via un agent déclaratif

Note

Vous pouvez personnaliser l’agent déclaratif inclus dans le package d’application à votre discrétion. Pour réduire la possibilité d’un comportement inattendu lors de l’utilisation d’agents IA, utilisez la prudence lorsque vous personnalisez le code de l’agent déclaratif. Plus d’informations : Agents déclaratifs pour Microsoft 365 Copilot.

Créer des outils personnalisés

Outre les outils intégrés disponibles dans l’agent déclaratif de l’application, ses fonctionnalités peuvent être étendues en incorporant des outils et des widgets personnalisés. Un concepteur basé sur le générateur d’invites peut être utilisé pour intégrer des outils MCP personnalisés et des composants d’interface utilisateur interactifs dans l’agent déclaratif de l’application. Par exemple, dans l’application Zava Airlines, un outil personnalisé peut être ajouté pour afficher la carte de vol en même temps que la chronologie de vol sous forme de diagramme de Gantt dans une vue côte à côte.

Important

  1. Sélectionnez Créer un outil personnalisé sous la section Outils de l’onglet App MCP .

  2. Fournissez un nom clair, descriptif et une description pour l’outil, car Microsoft 365 Copilot utilise ces informations pour déterminer quand l’appeler.

  3. Ajoutez les instructions pour générer des données pour l’outil au format JSON par défaut. Vous pouvez le modifier en texte si l’outil n’a pas d’expérience utilisateur associée à celui-ci. Les instructions peuvent inclure des requêtes portant sur des enregistrements spécifiques de la table dans l’application, ou servir de paramètre d’entrée pour l’outil utilisé dans un enchaînement d’outils. Veillez à expérimenter et à choisir le modèle d’IA de requête approprié.

    Créer un outil personnalisé pour afficher les données de vol

  4. Sélectionnez Test pour vérifier et valider la sortie de l’outil, puis sélectionnez Suivant. Vous pouvez maintenant créer et coller du code HTML personnalisé facultatif spécifique à cet outil. Ce code HTML peut être créé à l’aide de /generate-mcp-apps-ui skill ou de votre propre outil de développement. Cliquez sur Enregistrer.

    Exemple d’outil personnalisé de sortie JSON

  5. Téléchargez le zip du package d’application mis à jour et chargez la dernière version vers les agents Microsoft Teams ou Microsoft 365.

  6. Appelez l’outil en émettant la requête appropriée dans l’agent d’application pour afficher l’interface utilisateur personnalisée en action.

    Interface utilisateur personnalisée créée illustrant les temps de vol

Note

Vous pouvez émettre la commande « -developer on » à Microsoft 365 Copilot pour afficher les informations de débogage de l’agent et les outils appelés. Pour résoudre les problèmes courants, consultez Troubleshoot MCP applications dans Microsoft 365 Copilot

Chaînage d’outils dynamiques

Le chaînage d'outils dans les agents déclaratifs Power Apps utilise l'orchestrateur Microsoft 365 Copilot pour raisonner sur l'intention de l'utilisateur et appeler dynamiquement plusieurs outils (actions) alimentés par MCP en séquence pour mener à bien une tâche. L’orchestrateur sélectionne, paramétre et exécute la combinaison appropriée d’actions d’application MCP en fonction de descriptions de contexte et de fonction, ce qui permet des flux de travail de bout en bout sur les systèmes Power Apps et d’entreprise. Voici comment créer un outil avec une entrée paramétrable.

  1. Sélectionnez Créer un outil personnalisé sous la section Outils de l’onglet App MCP .

  2. Fournissez un nom clair, descriptif et une description pour l’outil, car Microsoft 365 Copilot utilise ces informations pour déterminer quand l’appeler.

  3. Dans cet exemple, nous utilisons un visualiseur de graphique Sankey. Tout d’abord, définissez le schéma d’entrée JSON requis pour générer un graphique Sankey. Ensuite, créez une invite pour l’outil visualiseur de graphique Sankey. L’outil expose un paramètre d’entrée nommé SankeyDiagramVisualizationInputData. Ce paramètre est interprété par l’outil et transformé en structure JSON attendue par le visualiseur. Choisissez un nom de paramètre d’entrée clair et descriptif afin que le LLM puisse identifier et appeler correctement l’outil.

    Outil personnalisé avec chaînage d’outils

  4. Vous pouvez maintenant créer et coller du code HTML personnalisé spécifique à cet outil. Ce code HTML peut être créé à l’aide de /generate-mcp-apps-ui skill ou de votre propre outil de développement. Cliquez sur Enregistrer.

  5. Téléchargez le fichier zip du package d’application mis à jour et chargez la dernière version dans Microsoft Teams ou Microsoft 365 Agents.

  6. Copilot peut désormais utiliser des requêtes en langage naturel pour extraire les données et les transmettre à l’outil de visualisation. Par exemple, vous pouvez utiliser une requête complexe pour obtenir dynamiquement des entrées à partir des données de table « problèmes » et les visualiser à l’aide de l’outil Visualiseur sankey Chart.

    Visualiseur de graphique Sankey affichant des données de table de problèmes.

  7. Vous pouvez affiner davantage le graphique Sankey en continuant la conversation.

    Visualiseur de graphique Sankey affichant des informations supplémentaires à partir de la conversation.

Exemple plein écran

Dans cet exemple, un bouton d'agrandissement est rendu uniquement si l’hôte prend en charge le mode plein écran.

function renderExpandButton(app) {
  const ctx = app.getHostContext();

  // Don't render the button if the host doesn't support fullscreen
  if (!ctx?.availableDisplayModes?.includes('fullscreen')) {
    return null;
  }

  const btn = document.createElement('button');
  btn.addEventListener('click', async () => {
    const result = await app.requestDisplayMode({ mode: 'fullscreen' });
    // Always use result.mode — the host may grant a different mode than requested
    console.log('Granted mode:', result.mode);
  });
  return btn;
}

Le même garde-fou s’applique à toutes les capacités de l’hôte. Vérifiez getHostContext() avant d’utiliser :

const ctx = app.getHostContext();

// Theme
if (ctx?.theme) applyTheme(ctx.theme);

// Current display mode
if (ctx?.displayMode === 'fullscreen') { /* adjust layout */ }

// Available modes
if (ctx?.availableDisplayModes?.includes('inline')) { /* show collapse option */ }

Réagir aux modifications de fonctionnalité au moment de l’exécution via onhostcontextchanged : le contexte hôte peut être mis à jour après connect():

app.onhostcontextchanged = (ctx) => {
  if (ctx.theme) applyTheme(ctx.theme);
  if (ctx.displayMode) updateLayout(ctx.displayMode);
};

Utilisation du mode plein écran avec les résultats de l’outil

Un modèle courant consiste à basculer automatiquement vers l’écran plein écran lorsque le widget reçoit des données, ce qui donne plus d’espace pour le rendu du contenu.

app.ontoolresult = async (result) => {
  const data = result.structuredContent;
  if (!data) return;

  // Expand to fullscreen when data arrives, if the host supports it
  const ctx = app.getHostContext();
  if (ctx?.availableDisplayModes?.includes('fullscreen') && currentMode !== 'fullscreen') {
    const granted = await app.requestDisplayMode({ mode: 'fullscreen' });
    currentMode = granted.mode;
    document.body.classList.toggle('mode-fullscreen', currentMode === 'fullscreen');
  }

  renderData(data);
};

Vous pouvez également permettre à l’utilisateur de décider : afficher en premier le mode actuel, puis proposer le bouton Développer :

app.ontoolresult = (result) => {
  const data = result.structuredContent;
  if (!data) return;

  renderData(data);        // render in whatever mode is active
  updateExpandBtn();       // show the expand button now that there is content
};

Générer des widgets d’application MCP avec des outils de génération de code IA

FAQ sur l'utilisation de Power Apps par les agents