Sommaire
Microsoft communique des calendriers de retrait pour les connecteurs Office 365 dans Teams, qui couvraient beaucoup d’expériences « Incoming Webhook » historiques — suivre la page officielle dépréciation des connecteurs Office 365 pour les dates et options de migration. Les organisations recréent l’équivalent via l’app Workflows dans Teams ou Power Automate, souvent avec des modèles du type envoyer des alertes webhook vers un canal qui produisent une nouvelle URL POST HTTPS liée à un canal d’équipe. Les charges MessageCard restent largement supportées : le moteur de notification OpenClaw peut rester proche de ce que vous utilisiez avec notre guide webhook Teams classique multi-nœuds — il s’agit surtout d’échanger l’URL et la gouvernance, pas toute l’architecture. Du point de vue sécurité, le nouveau flux impose une liaison explicite au canal et un propriétaire de workflow dans le locataire, ce qui s’aligne avec une passerelle unique qui détient le secret et audite la sortie — la même topologie que le guide de déploiement multi-nœuds OpenClaw MeshMac.
Installer la passerelle (rien ne parle à Teams sauf cet hôte)
Provisionnez un hôte stable — petite VM, bastion ou Mac de gestion — qui exécute les services OpenClaw et termine le TLS vers Microsoft. Sur chaque builder, les workers enfilent les événements de build (JSON avec provider_run_id, branche, commit, état) dans votre tissu partagé ; ne copiez pas l’URL Teams sur les machines runner. Fixez OPENCLAW_CONFIG_ROOT de façon cohérente, enchaînez onboarding et contrôles façon doctor, et vérifiez que le démon démarre sous LaunchDaemon avec les mêmes variables proxy que vos tests manuels.
Validez la sortie avant d’ouvrir Teams : depuis le shell passerelle, curl -I via le proxy d’entreprise vers les hôtes webhook utilisés par votre locataire (souvent sous *.webhook.office.com et points de terminaison Office associés). Si le CONNECT échoue ici, OpenClaw échouera en production même si les tests unitaires sur portable passent.
Alignez la sémantique de retry avec file de tâches et étapes de retry : la CI relance les étapes de build tandis que la passerelle relance la livraison des notifications avec des plafonds et des clés d’idempotence différents — ne mélangez pas les deux modes d’échec dans les journaux.
Pourquoi Workflows remplace les connecteurs hérités
Le passage aux flux Workflows clarifie qui possède l’automatisation, quel canal reçoit les messages et comment révoquer l’accès en cas de départ. Documentez dans votre runbook interne l’action attendue par l’administrateur Teams / Entra ID si les connecteurs tiers sont bloqués : votre procédure reproductible doit nommer le ticket et le rôle responsable.
Liaison du canal et autorisation
Dans Microsoft Teams, ouvrez l’application Workflows, choisissez un modèle qui publie dans un canal lorsqu’un webhook HTTP est appelé, et terminez l’assistant pour que le workflow soit rattaché à la bonne équipe. L’interface lie l’automatisation à un canal précis ; copiez l’URL webhook générée une seule fois. Traitez la chaîne complète comme un identifiant de porteur : stockez-la par exemple dans /etc/openclaw/secrets.d/teams/workflows-build.url en mode 0440, propriétaire root et groupe dédié au compte de service — même discipline que les autres secrets chat sur Mac mutualisés.
Checklist d’autorisation : un propriétaire d’équipe a validé le flux ; pour les canaux partagés, vérifiez que le locataire autorise Workflows à y poster (les politiques varient) ; séparez staging et production pour qu’un test ne déclare pas un faux vert aux décideurs. Ne jamais imprimer l’URL complète dans les journaux : en débogage, affichez l’hôte et les derniers caractères du jeton de chemin.
Réponses segmentées (passerelle uniquement, cartes par phase)
Le streaming complet via Bot Framework et Graph est puissant mais lourd pour un notificateur de build. Pour MeshMac, définissez le comportement « style streaming » comme des publications par phase : lorsque le job passe de la file à l’exécution puis à l’état terminal, la passerelle émet une courte MessageCard ou Adaptive Card par phase (ou une réponse dans le fil sous un message d’ancrage). Chaque POST inclut phase dans votre schéma normalisé et partage la même famille d’idempotence que provider_run_id afin que les retry ne inondent pas le canal.
Limitez poliment le débit : insérez un léger délai entre mises à jour non critiques si votre pool envoie des centaines de jobs ; croisez avec les plafonds passerelle déjà en place pour d’autres intégrations. Si Teams répond 429, respectez Retry-After lorsqu’il est présent et reposez-vous sinon sur un backoff exponentiel avec jitter.
Diffusion de synthèse multi-nœuds
Lorsque plusieurs nœuds MeshMac participent à une même pipeline logique — builds matriciels, tests fragmentés ou relances de failover — normalisez chaque événement worker avec mesh_node_id, workflow, state et run_url. La passerelle fusionne les fins partielles en une carte de synthèse listant chaque nœud sur sa ligne avec durée et lien journal, ou n’émet la synthèse que lorsque tous les fragments attendus sont au statut terminal (votre file doit suivre le nombre de fragments en attente).
Ce schéma évite que trois Mac distants postent trois bannières « succès » redondantes pour la même pull request. Les clés de déduplication combinent provider_run_id, phase et éventuellement shard_id lorsque vous envoyez volontairement des notices par fragment avant l’agrégat.
Rotation des jetons et retry sur échec
Rotation : en cas de fuite d’URL ou de départ d’opérateur, désactivez ou supprimez le flux, créez un remplacement, remplacez le fichier secret de façon atomique et rechargez OpenClaw. Consignez le changement dans le runbook avec horodatage et identifiant de ticket. Retry : sur 5xx et 429, réessayez jusqu’à un petit plafond fixe (par exemple cinq tentatives sur deux minutes) avec backoff ; sur 400 ou 401, arrêtez et corrigez le JSON ou les identifiants ; sur 404, supposez que le point de terminaison a été retiré — actualisez l’URL Workflows avant de réenfiler les notifications.
Persistez les accusés de réception réussis, clés provider_run_id + phase, au moins 72 heures pour que les retry workers ne dupliquent pas le bruit Teams.
FAQ : erreurs courantes
- HTTP 400 avec corps d’erreur Teams générique
- JSON MessageCard ou Adaptive Card mal formé. Validez les champs obligatoires (summary, title), réduisez la taille des pièces jointes et testez avec une charge minimale depuis le shell passerelle avant d’incriminer le réseau.
- HTTP 404 sur chaque POST
- Le flux a été supprimé ou jamais déployé dans ce locataire. Ouvrez Teams Workflows, confirmez que le flux est activé et régénérez l’URL.
- Canal silencieux malgré HTTP 200
- Teams a accepté la requête mais a filtré le rendu. Vérifiez la liaison au bon canal et les politiques d’affichage des messages automatisés sur les clients.
- Seuls certains nœuds MeshMac montrent des symptômes
- Ces hôtes contournent peut-être encore la passerelle. Retirez les exceptions de sortie par nœud et routez toutes les notifications via la file et le POST centralisé.
Résumé
Adoptez les URL Teams Workflows pour 2026, conservez une seule passerelle OpenClaw à la frontière Microsoft, liez un canal de production, envoyez des mises à jour segmentées, fusionnez les synthèses multi-nœuds avec des lignes mesh_node_id claires, et associez rotation et retries bornés. Parcourez l’accueil, la page achat et forfaits et le centre d’aide sans connexion ; l’index du blog recense d’autres runbooks OpenClaw et MeshMac.
Scaler la CI multi-nœuds tout en gardant Teams lisible
Ajoutez des builders MeshMac pour des voies parallèles pendant que la passerelle reste le seul composant qui détient les secrets Teams. Ouvrez l’accueil Meshmac pour le contexte offres, la page achat (sans login pour le parcours public) et le centre d’aide pour SSH, pool et checklists avant commande.