Manifeste et permissions Microsoft Teams dans OpenClaw
Les permissions RSC pour les canaux et les discussions de groupe, l’exemple de manifeste caviardé et ses champs à faire correspondre, la mise à jour d’une application par la ligne de commande ou à la main, ce que RSC seul peut et ne peut pas faire, le tableau RSC contre Graph, les permissions d’application Graph pour les médias et l’historique, et le repli de médias par Graph
La plupart des surprises Teams sont des surprises de permissions : le bot entend un canal mais ne voit pas l’image que quelqu’un a collée, ou il répond en direct mais ne peut pas rattraper après un redémarrage. La documentation d’OpenClaw sépare proprement les deux systèmes de permissions, le consentement propre aux ressources dans le manifeste pour l’écoute en temps réel et Microsoft Graph pour les médias et l’historique. Voici le manifeste, les mises en garde, le flux de mise à jour, et la répartition des capacités.
Le manifeste
- Le manifeste déclare huit permissions propres aux ressources qui ne s’appliquent qu’à l’intérieur de l’équipe ou de la discussion où l’application est installée : pour les canaux, lire les messages de canal sans mention, envoyer des messages de canal, et lire les membres, les propriétaires, les réglages de canal, les membres d’équipe et les réglages d’équipe, et pour les discussions de groupe, lire les messages de discussion sans mention ; la ligne de commande Teams en ajoute une avec la commande d’ajout RSC et le type application.
- L’exemple caviardé est un manifeste minimal valide : le schéma et la version du manifeste, un identifiant d’application, un nom court, les détails du développeur avec les URL de site, de confidentialité et de conditions, les descriptions, les icônes de contour et de couleur, une couleur d’accent, une entrée de bot avec l’identifiant du bot, les portées personnelle, équipe et discussion de groupe, notification seule, appels et vidéo désactivés et prise en charge des fichiers activée, les informations d’application web, et le bloc d’autorisation listant les permissions propres aux ressources.
- Les mises en garde indispensables : l’identifiant du bot et l’identifiant des informations d’application web doivent tous deux correspondre à l’identifiant d’application Azure Bot, les portées doivent inclure chaque surface que vous prévoyez d’utiliser, la prise en charge des fichiers doit être vraie pour le traitement des fichiers en portée personnelle, et les permissions propres aux ressources doivent inclure la lecture et l’envoi de canal pour le trafic de canal.
- Pour mettre à jour une application existante, vous téléchargez le manifeste avec la ligne de commande, le modifiez et le téléversez, la version étant incrémentée automatiquement quand le contenu a changé, puis vous réinstallez l’application dans chaque équipe et quittez complètement Teams avant de le relancer plutôt que de fermer la fenêtre, pour vider les métadonnées d’application en cache ; le chemin manuel modifie le JSON, incrémente la version, recompresse avec les deux icônes, et téléverse l’archive dans le centre d’administration Teams ou comme application personnalisée chargée.
En résumé : RSC sert à l’écoute en temps réel ; l’API Graph sert à l’accès historique.
RSC seul contre Graph
Avec RSC seul, c’est-à-dire l’application installée sans permission d’API Graph, le bot peut lire et envoyer du texte de message de canal et recevoir des pièces jointes personnelles en messages privés, mais il ne peut pas voir le contenu des images ou des fichiers de canal ou de groupe, dont la charge ne contient qu’un fragment HTML, ne peut pas télécharger les pièces jointes stockées dans SharePoint ou OneDrive, et ne peut pas lire l’historique des messages au-delà de l’événement de webhook en direct. Ajouter des permissions d’application Microsoft Graph débloque le téléchargement du contenu hébergé comme les images collées dans les messages, le téléchargement des pièces jointes depuis SharePoint ou OneDrive, et la lecture de l’historique des canaux et des discussions par Graph. Le tableau comparatif rend la séparation explicite : RSC livre les messages en temps réel par le webhook et Graph ne fait qu’interroger, RSC n’a pas d’accès historique tandis que Graph peut interroger l’historique, RSC n’exige que le manifeste tandis que Graph exige un consentement administrateur et un flux de jetons, et RSC ne fonctionne que pendant que le bot tourne tandis que Graph peut interroger à tout moment ; pour rattraper les messages manqués hors ligne, il faut Graph avec la permission de lecture de tous les messages de canal et le consentement administrateur.
Médias et historique par Graph
- N’activez que les permissions d’application Graph qu’exigent les portées et les données que vous utilisez : la lecture de tous les messages de canal pour les pièces jointes et l’historique des canaux, la lecture de toutes les discussions pour les pièces jointes et l’historique des discussions de groupe, et la lecture de tous les fichiers seulement quand les octets des pièces jointes doivent être téléchargés depuis SharePoint ou OneDrive ; puis accordez le consentement administrateur pour le locataire, incrémentez la version du manifeste, téléversez-le, réinstallez l’application, et quittez complètement Teams avant de le relancer.
- Teams peut retirer les marqueurs de fichiers de l’activité HTML envoyée à un bot, laissant une activité impossible à distinguer d’un message HTML ordinaire tandis que la référence complète de la pièce jointe n’existe que sur la copie Graph ; la clé de repli de médias par Graph, désactivée par défaut pour que les installations existantes ne gagnent ni trafic Graph ni erreurs de permissions supplémentaires, ajoute une recherche de message Graph chaque fois qu’une activité HTML de canal ou de groupe n’a produit aucun média directement téléchargeable, y compris pour les messages ordinaires ou avec mention seule.
- Les mentions d’utilisateurs déjà présents dans la conversation fonctionnent d’emblée, et chercher et mentionner dynamiquement des personnes absentes de la conversation courante exige la permission d’application de lecture de tous les utilisateurs avec consentement administrateur.
OpenClaw sur Microsoft Teams est le billet du canal que ce manifeste sert, et Cartes et actions Microsoft Teams dans OpenClaw les surfaces de cartes adaptatives dont les recherches d’effectifs dépendent des permissions ci-dessus.
Deux systèmes de permissions, un seul bot
Si un bot peut entendre un canal et manquer quand même ses images, c’est que Teams accorde l’écoute par le manifeste et le contenu par Graph, et que rien dans le premier n’implique le second. Manifeste et portées Slack dans OpenClaw montre par contraste le modèle à manifeste unique de Slack, et Connecter votre premier canal en cinq minutes le parcours d’un canal où rien de tout cela n’est nécessaire.
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é.
- L’identifiant du bot et celui de l’application web doivent égaler l’identifiant d’application Azure Bot.
- RSC entend en temps réel ; Graph lit l’historique et les médias.
- Quittez Teams complètement après chaque changement de manifeste.
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.
