2026 OpenClaw × Microsoft Teams 接続ガイド
Dev Tunnel、webhook 3978、ペアリング——日次レンタル Mac で隔離検証
自ホストの OpenClaw Gateway は稼働しているのに、Teams で @メンションしても応答がない——このとき現場ではしばしば「モデル障害」と早合点されます。実際には msteams チャネルは Telegram より Azure Bot 資格情報と公網 HTTPS の webhook が必須であり、localhost:3978 には Teams から到達できません。さらに dmPolicy: "pairing" では未承認ユーザーは Gateway ログにすら残らないことがあります。本稿は M365 運用者向けに、痛みの三類型・対照マトリクス・七手順・分診表・三指標・1~3 日のレンタル macOS 日程を示し、Telegram/Discord チャネルペアリング、v2026.5.5 マルチチャネル、インストール手順、SSH/VNC FAQ と接続します。
目次
01 · 三つの痛み
1)公網に届かない Gateway:Bot Framework は HTTPS で Activity を POST します。Dev Tunnel/ngrok 等で 3978 を公開しても、Azure のメッセージエンドポイントが古い URL のままだと、Teams 上は「オンライン」でも access ログに 入站 POST がゼロ になります。これは「トンネル漂移」であり、ルーティング不具合とは別系統です。
2)ペアリングによる無応答:dmPolicy: "pairing" では Allowlist 外の同僚は静かに捨てられます。チャネルペアリング文 と同根ですが、Teams ではテナントポリシーが重なるため、承認タイムスタンプのスクリーンショットを Runbook に残すことをお勧めします。
3)パス・ポートの競合:2026.3 系では /api/messages 周りの既知不具合がありました。v2026.5.7 以降でも lsof -i :3978 でゾンビプロセスを確認し、openclaw channels status --probe → openclaw logs --follow の順を守ってください。いきなり gateway restart は設定ミスを隠します。
「公網 POST」と「ペアリング承認」は 別チェックリスト に分けると、金曜夜の引き継ぎで偽陰性が減ります。
02 · マトリクス
| 軸 | msteams | Telegram / Discord | 日次 Mac |
|---|---|---|---|
| 入口 | HTTPS webhook(Dev Tunnel 等) | Bot token + クラウド API | Tunnel CLI と Teams デスクトップを同画面 |
| 資格情報 | appId / appPassword / tenantId | チャネル別トークン | Secret は IM に貼らない |
| DM 方針 | pairing が多い | Allowlist も可 | 検証テナントで先に試す |
| 検証 | teams app doctor + probe |
/start 等 |
v2026.5.5 と変更を分離 |
Node 22.14+ と OpenSSL のずれは「Tunnel 200・Teams 502」を増幅します。アップグレード後は インストール手順 に沿って openclaw doctor --fix を先に実行してください。
03 · 七手順
- 凍結:
openclaw --version、実際のopenclaw.json、Gateway argv を記録します。 - Tunnel:
localhost:3978向けの HTTPS ベース URL を変更票に全文記載します。 - teams app create:
CLIENT_ID、CLIENT_SECRET、TENANT_IDを取得し、teams app doctorで CLI 診断します。 - 設定:
channels.msteamsを有効化し、webhook.port: 3978、path: /api/messagesを確認します。 - 導入とペアリング:テナントにアプリを入れ、テストユーザーで pairing を承認し、時刻付きスクショを残します。
- probe:
openclaw channels status --probeとログの request id を突き合わせます。 - 消去:デモ用 Secret をローテーションし、レンタル機から資格情報を削除します。
openclaw status
openclaw gateway status
openclaw channels status --probe
openclaw doctor
openclaw logs --follow
空き容量 15 GB 未満 では Tunnel + Gateway 再起動が競合しやすくなります。接続は SSH/VNC FAQ をご参照ください。
04 · 分診表
| 症状 | 最初の一手 | 誤操作 |
|---|---|---|
| POST が来ない | Tunnel URL と Azure エンドポイントを diff | Gateway だけ再起動 |
| POST はあるが無返信 | pairing・tenantId・Allowlist | モデル枠だけ疑う |
| msteams が起動直後に落ちる | 3978 占有と webhook path | Nginx と json を同時変更し戻せない |
| 一部ユーザーのみ | テナントアプリポリシーと pairing 名簿 | 管理者だけで合格と判断 |
05 · 三指標と日程
- 指標 1:Runbook 再現では Teams 初通失敗の約 58% が 30 分以内に「Tunnel diff + pairing 承認」で解消(自ホスト值班サンプル)。
- 指標 2:変更前の
lsof -i :3978記録で夜間チケットを平均 25~40 分 短縮できる事例があります。 - 指標 3:Tunnel 失効時刻と担当者を変更票に書くと、誤再起動が 1.4 回/日 → 0.5 回/日 程度まで減るチームがあります。
誤解 A:アプリ導入=OpenClaw 接続完了。誤解 B:IM で Client Secret を共有。誤解 C:検証と本番の openclaw.json バックアップを混在。
1 日目:凍結・Tunnel・doctor スクショ。2 日目:pairing + probe。3 日目:Tunnel 停止のロールバック演習と消去。
06 · Linux 常駐 vs 日次 Mac
Linux 上の Gateway はコスト効率が高い一方、Teams の組織ポリシー UI はデスクトップクライアントが読みやすいです。短い ネイティブ macOS レンタル なら Tunnel 出力・Teams・ログを同一タイムゾーンに揃えられます。固定ドメイン本番は別フェーズとして、1~3 日の spike には 料金ガイド と FAQ をご活用ください。
07 · テナント分離と監査
検証テナントと本番テナントの Bot 資格情報はファイルを分け、Secret は環境変数または SecretRef に限定します。監査には Tunnel 作成/破棄、pairing 承認者、openclaw --version を残します。本番切替のゲートは「Tunnel 停止で Teams が明確に失敗し、復旧で戻る」演習記録とします。