Déployer des assistants dans Microsoft Teams

Microsoft Teams présente des défis de déploiement uniques pour les assistants Copilot Studio en raison de son environnement de conversation persistant. Contrairement aux déploiements web, où les sessions sont automatiquement réinitialisées, Teams conserve les fils de conversation indéfiniment, ce qui peut entraîner un contexte obsolète, l’expiration des jetons et la conservation en cache de contenus obsolètes.

Cet article fournit des conseils pour déployer efficacement les assistants de Copilot Studio dans Teams. Vous apprenez à gérer les sessions persistantes, à mettre en place des stratégies de débogage et à garantir une performance fiable à travers des cycles de vie prolongés des conversations.

Points clés abordés :

  • Gestion du cycle de vie des sessions et prise en charge de l’inactivité
  • Techniques de débogage des conversations persistantes
  • Gestion des versions et stratégies de déploiement des mises à jour
  • Modèles d’implémentation spécifiques à Teams

Suivez ces pratiques pour créer des assistants robustes qui fonctionnent de manière cohérente dans l’environnement Teams, tout en fournissant aux utilisateurs des informations claires sur les changements d’état et le comportement du système.

Pourquoi le déploiement dans Teams est différent

Les conversations Teams sont conservées pendant plusieurs jours sans être automatiquement réinitialisées. Contrairement aux sessions Chat Web, l’événement ConversationStart n’est déclenché que la première fois qu’un assistant est ajouté. Réinstaller l’application ne déclenche pas cet événement.

La persistance des conversations dans Teams présente plusieurs risques :

  • Contexte obsolète : l’historique de la conversation est conservé sauf s’il est effacé.
  • Expiration des jetons : les connecteurs peuvent expirer au cours de longues sessions.
  • Limites contextuelles : ’accumulation de messages peut dépasser les limites du modèle.
  • Mise en cache des mises à jour : les utilisateurs peuvent continuer à interagir avec une logique obsolète.

Une gestion proactive de l’état et un guidage utilisateur clair sont essentiels.

Gérer le cycle de vie de la session

Gérer le cycle de vie de la session à l’aide d’un mécanisme de gestion de l’inactivité.

Mettre en œuvre des réinitialisations en cas d’inactivité

Créer une nouvelle rubrique et sélectionner le déclencheur intitulé L’utilisateur est inactif pendant un moment pour démarrer un flux de réinitialisation après une période d’inactivité de l’utilisateur. En savoir plus dans Déclencheur d’inactivité, qui présente les modèles d’implémentation propres à Teams, notamment les variables de garde et le modèle de conversation persistante.

  1. Ajouter le déclencheur d’inactivité et définir un délai d’expiration (p. ex., 15 minutes).
  2. Ajouter un ou plusieurs nœuds Effacer les valeurs des variables afin de supprimer les variables de session ainsi que l’historique des conversations, pour éviter un dépassement de la fenêtre de contexte.
  3. Terminer la conversation et marquer la session comme résolue.

Capture d’écran de l’éditeur de rubrique Copilot Studio affichant un flux de travail de réinitialisation d’inactivité avec des déclencheurs, des messages, des valeurs de variables claires et des nœuds de conversation de fin.

Cette approche permet d’éviter un dépassement de la fenêtre de contexte et garantit un comportement prévisible lorsque l’utilisateur revient.

Fournir des conseils après la réinitialisation

Après avoir désactivé l’état, envoyez un message expliquant ce qui s’est passé. Par exemple : « Il semble que notre conversation soit restée inactive pendant un certain temps. Par mesure de sécurité, je vais donc effacer le contexte précédent. Dites "Bonjour" pour redémarrer. »

Étant donné que ConversationStart ne se déclenche qu’une seule fois, la première fois qu’un assistant est ajouté, la rubrique Salutation devient votre point d’initialisation efficace. Demander à l’utilisateur de dire "Bonjour" garantit que votre logique de démarrage s’exécute correctement.

Proposer une commande de réinitialisation en libre-service

Ajouter un message informant les utilisateurs qu’ils peuvent taper une commande spécifique : « Si quelque chose semble incorrect, essayer de taper /debug clearstate pour actualiser mon état. »

Cette commande force une réinitialisation complète de la conversation :

  • Efface l’état de la conversation
  • Supprime les informations de connecteur mises en cache
  • Réauthentifie les connecteurs
  • Charger la dernière version de l’assistant

Utiliser cette commande lorsque :

  • L’assistant semble « bloqué » avec des informations obsolètes
  • L’authentification du connecteur a expiré
  • Après les mises à jour de la logique des bots
  • Quand le comportement semble incohérent

Accroître la transparence et améliorer le débogage

Pour accroître la transparence et améliorer le débogage des assistants déployés dans Teams, utiliser le déclencheur OnKnowledgeRequested.

Utiliser OnKnowledgeRequested pour révéler des requêtes réécrites

Copilot Studio réécrit les questions des utilisateurs avant d’effectuer la récupération. Si vous activez le déclencheur OnKnowledgeRequested, vous pouvez :

  • Diagnostiquer les incompatibilités d’intention
  • Comprendre comment les requêtes sont réécrites
  • Accroître la confiance des utilisateurs lors du débogage

Note

Vous pouvez configurer le déclencheur OnKnowledgeRequested uniquement en vue code à l’aide de YAML. Il n’y a pas de prise en charge du concepteur visuel.

Ajouter un message affichant les requêtes par mots clés et les requêtes sémantiques générées. Par exemple :

kind: AdaptiveDialog
beginDialog:
  kind: OnKnowledgeRequested
  id: main
  actions:
    - kind: SendActivity
      id: sendActivity_debug
      activity: |-    
        **Debug**: sending this lexical query "{System.KnowledgeSearchQuery}"
        **Debug**: sending this semantic query "{System.SearchQuery}"
inputType: {}
outputType: {}

Cette requête offre un accès en lecture seule à la requête de recherche affinée (réécriture de requête) que l’orchestrateur a générée à partir de la question de l’utilisateur.

Avantages :

  • Aide à déboguer les divergences d’intention.
  • Montre aux utilisateurs ce que l’assistant recherche.
  • Renforce la confiance dans les actions de l’assistant.
  • Aide les créateurs pendant les tests.

Contrôle de version et fiabilité des mises à jour

La gestion des versions de l’assistant et le fait de veiller à ce que les utilisateurs interagissent avec la logique la plus récente sont particulièrement importants dans un environnement persistant comme Teams.

Afficher la version du bot dans la salutation ou une rubrique dédiée

Inclure un identifiant de version à l’aide de la rubrique Accueil ou d’une rubrique Version dédiée :

Contoso Helpdesk Bot – Version 1.3 (Nov 2025)

Mettre cette valeur à jour à chaque publication afin d’aider les utilisateurs et les équipes de support à vérifier quelle version est actuellement déployée. La mise à jour des métadonnées de version actualise également le contenu mis en cache. La modification du nom ou de la description de l’assistant incite Teams à le charger comme une nouvelle mise à jour.

Activer « Forcer la dernière version » lors de la publication

Le paramètre Forcer la version la plus récente garantit que Teams charge la version la plus récente de la logique de l’assistant la prochaine fois que l’utilisateur envoie un message. Ce paramètre permet également d’invalider les versions mises en cache. Cependant, forcer une mise à jour interrompt toute conversation en cours.

Capture d’écran de la boîte de dialogue de publication de l’assistant, avec des avertissements concernant les informations d’identification, le modèle en préversion et l’option Forcer la version la plus récente activée.

Considérations spécifiques à l’implémentation de Teams

Teams présente des comportements uniques qui nécessitent une attention particulière.

Considérer la rubrique Accueil comme votre logique de démarrage

Étant donné que l’événement ConversationStart ne se déclenche qu’une seule fois, la première fois qu’un assistant est ajouté :

  • Placer la logique d’initialisation dans la rubrique Accueil.
  • Ajouter des instructions claires dans la description de l’application Teams.
  • Rappeler aux utilisateurs qu’après un délai d’inactivité, ils doivent saisir « bonjour » pour démarrer une nouvelle conversation.

Optimiser les déclencheurs et les solutions de secours

Les utilisateurs de Teams interagissent de manière naturelle et imprévisible. Assurez-vous que votre bot :

  • Gère plusieurs variantes de salutations.
  • Inclut la gestion des adieux.
  • Fournit plusieurs exemples d’énoncés.
  • Propose des réponses de repli amicales et utiles.
  • Utilise des mots clés pour orienter les utilisateurs vers des rubriques pertinentes.
  • Utilise OnKnowledgeRequested pour aider à diagnostiquer les intentions manquées.
  • Redirige vers des rubriques pertinentes en fonction des mots clés.
  • Invite les utilisateurs à reformuler si l’assistant est vraiment bloqué.

Valider le comportement d’authentification du connecteur

Lorsque vous utilisez des connecteurs (ServiceNow, Outlook, et d’autres), testez :

  • Comment se comporte la carte de connexion initiale.
  • Que se passe-t-il lorsque le jeton expire et comment il est automatiquement renouvelé ?
  • Comment fonctionnent les flux d’invalidation forcée et de reconsentement.

Astuce

Les connecteurs risquent de ne pas actualiser leurs jetons au cours de sessions prolongées. Utilisez des réinitialisations d’inactivité ou /debug clearstate pour réinitialiser OAuth au besoin. Communiquer cette commande aux équipes du support technique et aux utilisateurs afin de faciliter le dépannage.

Test dans des conditions réelles

Comme Teams conserve l’état à travers les sessions, vos tests doivent refléter la véritable expérience utilisateur :

  1. Déployer en utilisant l’option Afficher uniquement pour moi.
  2. Tester des scénarios prolongés (retour après plusieurs heures).
  3. Publier les mises à jour et vérifier que l’assistant passe bien à la nouvelle version.
  4. Valider le rendu de la carte adaptative sur ordinateur et mobile.
  5. Tester les actions dans divers contextes conversationnels.

Liste de contrôle du déploiement

Vous avez terminé ? Tâche
Déclencheur d’inactivité configuré pour effacer l’historique de conversation
La messagerie utilisateur explique les réinitialisations et guide le redémarrage
/debug clearstate documenté pour les utilisateurs
OnKnowledgeRequested activé pour garantir la transparence pendant le développement
Identifiant de version inclus dans les réponses
Forcer la version la plus récente activée selon les besoins
La rubrique de salutation inclut la logique d’initialisation
Le comportement de repli est convivial
Authentification du connecteur testée pour l’expiration et le renouvellement
Les tests sous Teams dans des conditions réelles sont terminés

Points clés

  • Gérer le cycle de vie de la session en configurant des déclencheurs d’inactivité et en utilisant des options de nettoyage d’état lorsque cela est approprié.
  • Améliorer la transparence en affichant l’activité du système au moyen de réécritures de requêtes et de messages relatifs à l’état.
  • Tenir compte des comportements propres à Teams, notamment en gérant les salutations manuelles et la mémoire persistante.
  • Maintenir la fiabilité des assistants en mettant en place des pratiques de versionnement et en imposant des mises à jour lorsque cela est nécessaire.
  • Favoriser l’autonomie des utilisateurs en proposant des commandes de dépannage en libre-service et des options de récupération guidée.