Aller au contenu
Guides

Le comportement des messages Microsoft Teams dans OpenClaw

Clés de session pour messages privés, canaux et groupes, le problème du style de réponse Publications contre Fils et sa priorité de résolution, la préservation du contexte de fil pour les envois en direct et proactifs, la syntaxe des mentions sortantes, les pièces jointes avec et sans Graph, et l’envoi de fichiers dans les discussions de groupe par SharePoint

6 min de lecture

Teams ressemble à un seul canal et se comporte comme deux : les canaux Publications classiques mettent les réponses en fil sous une carte, les canaux de style Fils défilent linéairement, et l’API ne dit jamais au bot dans lequel il se trouve. Le réglage de style de réponse d’OpenClaw existe pour cela, et les règles de fichiers existent parce que les pièces jointes de canal vivent dans SharePoint plutôt que dans le message. Voici les sessions, le style de réponse avec sa priorité, la préservation des fils, les mentions, les pièces jointes et les fichiers de discussion de groupe.

Sessions et style de réponse

  • Les clés de session suivent le format standard des agents : les messages privés partagent la session principale par défaut, et les messages de canal et de groupe utilisent l’identifiant de conversation sous une clé de canal ou de groupe.
  • Teams a deux styles d’interface de canal sur le même modèle de données, les Publications classiques avec des cartes et des réponses en fil dessous, qui veulent le style de réponse en fil, la valeur par défaut, et les Fils à la manière de Slack avec un flux linéaire, qui veulent le premier niveau ; l’API n’expose pas le style qu’un canal utilise, donc le fil dans un canal Fils imbrique les réponses maladroitement et le premier niveau dans un canal Publications disperse les réponses en publications séparées.
  • La solution est de configurer le style de réponse par canal sous la carte des équipes, et la résolution va de la surcharge la plus précise vers le bas : par canal, par équipe, globale, puis une valeur implicite dérivée de la mention obligatoire, fil quand une mention est requise et premier niveau sinon ; désactiver la mention obligatoire globalement sans style de réponse explicite fait remonter les mentions des canaux Publications en publications de premier niveau même pour les réponses de fil, donc la documentation dit de fixer le style fil à un niveau ou un autre.
  • Les envois proactifs dans une conversation de canal stockée, comme les réponses d’appels d’outils en file et les agents de longue durée, se résolvent de la même façon, tandis que les discussions de groupe et les conversations personnelles se résolvent toujours en premier niveau pour les envois proactifs quel que soit le réglage.
Le problème : l’API Teams n’expose pas le style d’interface qu’un canal utilise.

Préservation des fils, mentions, pièces jointes

Quand le style fil est en vigueur et que le bot a été mentionné depuis un fil de canal, OpenClaw rattache la racine du fil d’origine à la référence de conversation sortante pour que la réponse atterrisse dans le même fil, pour les envois en direct comme pour les envois proactifs faits après l’expiration du contexte de tour du Bot Framework ; la racine vient de l’identifiant de fil stocké sur la référence de conversation, et les références plus anciennes qui le précèdent retombent sur le dernier identifiant d’activité entrant pour que les déploiements existants continuent de fonctionner. Sous le style de premier niveau, les entrées de fil de canal reçoivent à dessein des réponses en nouvelles publications de premier niveau, et des publications de premier niveau là où vous attendiez des fils signifient que le style est mal réglé pour ce canal. Les mentions sortantes utilisent le balisage nom entre crochets et identifiant avec un identifiant d’utilisateur ou de bot Teams ou un identifiant d’objet Entra, les crochets dans le nom d’affichage étant échappés par des barres obliques inverses et une barre doublée pour une barre littérale, et le même formatage s’applique aux modifications et aux légendes de fichiers. Les pièces jointes ont des limites : en messages privés, images et fichiers passent par les API de fichiers du bot Teams, tandis qu’en canaux et groupes les pièces jointes vivent dans SharePoint ou OneDrive et la charge du webhook ne porte qu’un fragment HTML, si bien que des permissions Graph sont requises pour les télécharger et que sans elles les images de canal arrivent en texte seul ; l’action d’envoi de fichier envoie d’abord un fichier avec un message facultatif en commentaire et une surcharge du nom, OpenClaw ne télécharge des médias que depuis les hôtes Microsoft et Teams sauf si la liste d’hôtes de médias est élargie, et les en-têtes d’autorisation ne sont joints que pour les hôtes de la liste d’authentification des médias, qui doit rester stricte.

Fichiers dans les discussions de groupe

  • Les bots envoient des fichiers en messages privés par le flux intégré de carte de consentement, qui fonctionne d’emblée, les images en tout contexte partent en ligne en base64, et les fichiers en discussion de groupe ou en canal exigent une configuration supplémentaire parce que les bots utilisent une identité d’application et que la ressource me de Graph exige un utilisateur connecté, si bien que le bot téléverse vers un site SharePoint et crée un lien de partage.
  • La configuration ajoute la permission d’application de lecture et d’écriture des sites pour téléverser et la permission de lecture de tous les membres de discussion comme droit tenant le moins privilégié pour les envois en discussion de groupe, la lecture de toutes les discussions la couvrant aussi et la permission propre à la ressource de lecture des membres par discussion étant une alternative, accorde le consentement administrateur, récupère l’identifiant du site auprès de Graph pour le nom d’hôte et le chemin du site, et le stocke dans la clé d’identifiant de site SharePoint.
  • Un canal avec la permission des sites obtient un lien de partage à l’échelle de l’organisation, une discussion de groupe avec un droit de lecture des membres pris en charge obtient un lien par utilisateur que seuls les membres de la discussion peuvent ouvrir, et une discussion de groupe sans ce droit échoue fermé, parce qu’OpenClaw exige une recherche de membres réussie et traite les délais dépassés, les échecs de transport, les résultats vides et les refus de Graph comme des échecs plutôt que d’élargir l’accès ; le tableau des replis répète qu’un site ou une permission de membres manquants donne une erreur de configuration exploitable, que les discussions personnelles utilisent la carte de consentement sans SharePoint, et que les fichiers téléversés atterrissent dans un dossier partagé OpenClaw de la bibliothèque de documents par défaut du site.

OpenClaw sur Microsoft Teams est le billet du canal auquel ce comportement appartient, et La configuration Microsoft Teams d’OpenClaw les clés sous lesquelles vivent le style de réponse et les réglages de fichiers.

Pourquoi le style doit être fixé

Un bot qui ne peut pas voir quelle interface un canal utilise doit se le faire dire, et la valeur dérivée de la mention est une supposition raisonnable qui casse exactement quand vous désactivez les mentions pour un canal animé. Manifeste et permissions Microsoft Teams dans OpenClaw couvre les permissions Graph qui retransforment les fragments HTML en fichiers, et Fils et sessions Slack dans OpenClaw le modèle de fils de Slack, où l’API dit bien de quelle surface vient un message.

Sur Diali

Microsoft Teams ne fait pas partie des canaux que Diali connecte aujourd’hui : WhatsApp, Telegram, Discord, Slack, Mattermost, Matrix, SMS et voix. OpenClaw hébergé sur Diali est l’assistant et La sécurité chez Diali décrit la frontière qui s’applique à chaque canal connecté.

  • Les canaux Publications veulent le fil ; les canaux Fils veulent le premier niveau.
  • Les pièces jointes de canal sont des fragments HTML sans Graph.
  • Les fichiers de discussion de groupe passent par SharePoint et échouent fermé sans lecture des membres.
Commencer

Arrêtez de lire, construisez le vôtre

Configurez un agent, choisissez un canal, et faites-le travailler dans l’application que vous gardez déjà ouverte.