教程

OpenClaw Microsoft Teams 接入指南:Azure Bot 创建、Teams 应用包配置与 RSC 权限

OpenClaw Microsoft Teams 接入完整教程:插件安装、Azure Bot 创建 4 步流程(App ID/Secret/Tenant ID 获取)、本地隧道开发、DM 与群组访问控制(AAD 对象 ID)、RSC 权限清单配置、RSC 与 Graph API 能力对比,以及 Session 路由与故障排查。

2026/3/124分钟 阅读ClaudeEagle

OpenClaw 通过 Azure Bot Framework 接入 Microsoft Teams,支持 DM、群组聊天和频道,需要安装插件并创建 Azure Bot 资源。

注意:MS Teams 从 2026.1.15 起移出核心包,需单独安装插件。

安装插件

bash
openclaw plugins install @openclaw/msteams

快速接入(5 步)

  1. 安装 MS Teams 插件
  2. 创建 Azure Bot(App ID + Client Secret + Tenant ID)
  3. 配置 OpenClaw 凭证
  4. 通过公网 URL 或隧道暴露 /api/messages(默认端口 3978)
  5. 安装 Teams 应用包并启动 Gateway

最简配置

json
{
  "channels": {
    "msteams": {
      "enabled": true,
      "appId": "<APP_ID>",
      "appPassword": "<APP_PASSWORD>",
      "tenantId": "<TENANT_ID>",
      "webhook": { "port": 3978, "path": "/api/messages" }
    }
  }
}

群组聊天默认被屏蔽(groupPolicy: "allowlist")。需设置 groupAllowFromgroupPolicy: "open" 开启。

Azure Bot 创建步骤

Step 1:创建 Azure Bot 资源

前往 Azure 门户 - 创建 Azure Bot,填写:

字段
Bot handle你的机器人名称(全局唯一)
Pricing tierFree(开发/测试)
Type of AppSingle Tenant(推荐)
Creation typeCreate new Microsoft App ID

注意:2025-07-31 后新建多租户 Bot 已废弃,请使用 Single Tenant。

Step 2:获取凭证

  1. Azure Bot 资源 → Configuration → 复制 Microsoft App ID(即 appId
  2. 点击 Manage Password → 进入应用注册
  3. Certificates & secretsNew client secret → 复制值(即 appPassword
  4. Overview → 复制 Directory (tenant) ID(即 tenantId

Step 3:配置 Messaging Endpoint

Azure Bot → Configuration → Messaging endpoint:

https://your-gateway-host:3978/api/messages

Step 4:启用 Teams 频道

Azure Bot → Channels → 添加 Microsoft Teams 频道 → 保存。

本地开发(隧道)

bash
# 使用 ngrok
ngrok http 3978
# 将生成的 HTTPS URL 填入 Azure Bot Messaging Endpoint

# 或使用 Tailscale Funnel
tailscale funnel --bg --set-path /api/messages http://127.0.0.1:3978/api/messages

访问控制

DM 访问

json
{
  "channels": {
    "msteams": {
      "dmPolicy": "pairing",
      "allowFrom": ["<AAD_OBJECT_ID>"]
    }
  }
}

重要:使用稳定的 AAD 对象 ID,不要用 UPN(邮箱)或显示名——这些是可变的。

群组和频道访问

json
{
  "channels": {
    "msteams": {
      "groupPolicy": "allowlist",
      "groupAllowFrom": ["user@org.com"],
      "teams": {
        "My Team": {
          "channels": {
            "General": { "requireMention": true }
          }
        }
      }
    }
  }
}

RSC 权限(Teams 应用清单)

Teams 应用包需要声明 RSC 权限,示例关键字段:

json
{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.17/MicrosoftTeams.schema.json",
  "manifestVersion": "1.17",
  "id": "<APP_ID>",
  "bots": [{
    "botId": "<APP_ID>",
    "scopes": ["personal", "team", "groupChat"]
  }],
  "authorization": {
    "permissions": {
      "resourceSpecific": [
        { "name": "ChannelMessage.Read.Group", "type": "Application" },
        { "name": "ChatMessage.Read.Chat", "type": "Application" },
        { "name": "TeamMember.Read.Group", "type": "Application" }
      ]
    }
  }
}

RSC vs Graph API 能力对比

能力RSC OnlyRSC + Graph API
DM 文字消息
群聊文字消息
频道文字消息✅(已安装)
媒体/附件下载
频道历史记录

路由与 Session

场景Session Key
DMagent:<id>:msteams:dm:<userId>
群聊agent:<id>:msteams:group:<conversationId>
Teams 频道agent:<id>:msteams:channel:<channelId>

附件与图片(DM)

json
{
  "channels": {
    "msteams": {
      "mediaMaxMb": 20
    }
  }
}

群组/频道发送文件需要 SharePoint 权限,详见官方文档。

故障排查

Bot 无响应:验证 Messaging Endpoint URL;检查 Client Secret 是否过期;确认 Teams 频道已启用。

RSC 权限未生效:重新安装 Teams 应用包;确认清单中 authorization.permissions.resourceSpecific 正确。

清单上传报错:检查必填字段($schemamanifestVersionidversionnameicons)。


原文:Microsoft Teams - OpenClaw | 来源:OpenClaw 官方文档

相关文章推荐

教程OpenClaw Microsoft Teams 接入指南:Azure Bot 创建、Teams 应用包配置与 RSC 权限OpenClaw Microsoft Teams 接入完整教程:插件安装、Azure Bot 创建 4 步流程(App ID/Secret/Tenant ID 获取)、本地隧道开发、DM 与群组访问控制(AAD 对象 ID)、RSC 权限清单配置、RSC 与 Graph API 能力对比,以及 Session 路由与故障排查。2026/3/12教程OpenClaw Microsoft Teams 接入指南:Azure Bot 创建、Teams 应用包配置与 RSC 权限OpenClaw Microsoft Teams 接入完整教程:插件安装、Azure Bot 创建 4 步流程(App ID/Secret/Tenant ID 获取)、本地隧道开发、DM 与群组访问控制(AAD 对象 ID)、RSC 权限清单配置、RSC 与 Graph API 能力对比,以及 Session 路由与故障排查。2026/3/12教程OpenClaw 接入 Microsoft Teams:Azure Bot 配置、RSC 权限与 SharePoint 文件发送OpenClaw 接入 Microsoft Teams 完整教程:插件安装、Azure Bot 创建(App ID/Secret/Tenant ID)、消息端点配置、Teams Manifest 与 RSC 权限、仅 RSC vs RSC+Graph 两种能力模式、SharePoint 群组文件发送,以及 Webhook 超时和 Manifest 上传常见问题。2026/3/3教程OpenClaw 飞书机器人接入完全指南:WebSocket 配置、权限设置与多 Agent 路由OpenClaw 飞书机器人接入完整教程:7 步创建飞书企业应用(含权限批量导入 JSON)、WebSocket 长连接配置(无需公网 URL)、Lark 国际版支持、DM 与群组双层访问控制、获取 Group/User ID 方法、多 Agent 路由绑定,以及流式卡片回复配置。2026/3/12教程OpenClaw Standing Orders 完全指南:让 AI 记住你的长期规则和行为偏好OpenClaw Standing Orders(常驻指令)功能完整教程:Standing Orders 与 SOUL.md 的区别(动态运行时规则 vs 静态人格文件)、通过对话动态添加/查看/删除常驻指令、指令的持久化存储与跨会话生效机制、适合写入 Standing Orders 的内容类型(格式偏好/禁止行为/固定工作流)、与 Hooks 的协同使用、按渠道/Agent 设置不同的 Standing Orders,以及常驻指令的最佳实践(写清晰的规则、避免矛盾冲突、定期清理过时规则)。2026/3/26教程OpenClaw 多媒体处理完全指南:图片识别、音频转写与视频理解实战OpenClaw 多媒体处理(Media)完整教程:发送图片给 AI 进行视觉分析(OCR/物体识别/图表解读/代码截图)、音频消息自动转写为文字(Whisper/系统STT)、视频消息关键帧提取与理解、Node 摄像头实时拍照触发分析、媒体消息的渠道支持差异(各渠道的图片/音频/视频支持情况对比)、大文件处理策略(分割/压缩/超时设置)、媒体消息在不同 AI 模型上的能力对比(Claude Vision/GPT-4V/Gemini Pro Vision),以及本地媒体文件分析(read 工具读取图片路径)。2026/3/25