2026 OpenClaw × Microsoft Teams
Dev Tunnel, webhook 3978, appairage — Mac loué au jour pour preuves isolées
Le Gateway tourne, l’app Teams est installée, et les @mentions restent muettes. En auto-hébergement, on accuse souvent le modèle. En réalité, msteams impose des identifiants Azure Bot et un webhook HTTPS public — Microsoft n’atteint pas localhost:3978. Avec dmPolicy: "pairing", les expéditeurs non approuvés peuvent ne jamais apparaître dans les logs. Ce guide livre trois clusters de douleur, une matrice, sept étapes, un triage, trois métriques et un rythme 1–3 jours sur macOS loué, relié à l’appairage Telegram/Discord, v2026.5.5 canaux, le guide d’installation et la FAQ SSH/VNC.
Sommaire
01 · Trois douleurs
1) Dérive du tunnel : URL Dev Tunnel renouvelée côté Azure mais endpoint figé — l’UI Teams reste verte, les logs Gateway n’affichent aucun POST entrant.
2) Silence du pairing : Comme dans le guide canaux Telegram/Discord, pairing filtre les inconnus ; ajoutez les politiques locataire M365 et une capture horodatée d’approbation.
3) Port 3978 : Vérifiez lsof -i :3978 et le chemin /api/messages avant tout redémarrage aveugle. Ordre : openclaw channels status --probe puis logs.
02 · Matrice
| Axe | msteams | Telegram/Discord | Mac loué |
|---|---|---|---|
| Entrée publique | webhook HTTPS | API cloud | Tunnel + client Teams |
| Secrets | appId, mot de passe, tenant | jetons | pas de secret dans le chat |
| Validation | teams app doctor + probe | /start | v2026.5.5 en lot séparé |
Après upgrade, alignez Node 22.14+ via le guide d’installation et openclaw doctor --fix.
03 · Sept étapes
- Geler version,
openclaw.json, argv Gateway. - Tunnel HTTPS complet vers 3978 dans le ticket de change.
- teams app create +
teams app doctor. - channels.msteams et webhook
/api/messages. - Installation locataire + approbation pairing (capture).
- probe et corrélation request id.
- Rotation secrets, purge machine louée.
openclaw channels status --probe
openclaw logs --follow
lsof -i :3978
04 · Triage
| Symptôme | Action | Erreur |
|---|---|---|
| Pas de POST | diff Tunnel/Azure | redémarrer Gateway seul |
| POST sans réponse | pairing, tenantId | quota modèle |
| msteams quitte au boot | 3978, chemin | proxy + JSON sans snapshot |
05 · Trois métriques
- Métrique 1 : ~58 % des premiers échecs Teams résolus en 30 min par diff tunnel + pairing (échantillon auto-hébergé).
- Métrique 2 :
lsof -i :3978avant change : 25–40 min gagnées en garde de nuit. - Métrique 3 : Expiration tunnel documentée : redémarrages erronés ~1,4 → 0,5 / jour.
Jour 1 : gel, tunnel, doctor. Jour 2 : pairing, probe. Jour 3 : rollback tunnel et effacement.
06 · Linux vs Mac journalier
Gateway Linux permanent = OPEX bas ; le client Teams desktop accélère politiques et « Test Web Chat ». Location native 1–3 jours : tarifs Mac mini M4, FAQ SSH/VNC.
07 · Locataires & audit
Séparez bots test/prod ; secrets via variables d’environnement. Pas de bascule prod sans exercice « tunnel coupé → échec Teams → rétablissement ».