OpenClaw 对接 Microsoft Teams¶
本文介绍如何注册 Microsoft Entra 单租户应用,创建 Azure Bot,并将 OpenClaw 接入 Microsoft Teams。
前置条件¶
开始前请确认:
- 已拥有客户 Microsoft Entra 租户和 Azure 订阅。
- 具备创建应用注册和 Azure Bot 的权限。
- Messaging endpoint 是公网可访问的 HTTPS 地址。
字段对应关系¶
| OpenClaw 字段 | Microsoft 中的名称 | 填写内容 | 注意事项 |
|---|---|---|---|
| Client ID | Application (client) ID / Microsoft App ID | Entra 应用注册概览页中的 GUID | 不要填写 Object ID |
| Client Secret | Client secret -> Value | 创建客户端密码后显示的 Value | 不要填写 Secret ID;Value 只显示一次 |
| Tenant ID | Directory (tenant) ID / App Tenant ID | Entra 租户 GUID | 必须与应用注册所在租户一致 |
| Messaging endpoint | Azure Bot -> Configuration -> Messaging endpoint | OpenClaw 提供的完整 URL | 必须使用完整 HTTPS 地址 |
获取 Client ID、Tenant ID 及 Client Secret¶
注册应用¶
-
访问 Microsoft Entra 管理中心,选择 Entra ID -> App registrations -> New registration
填写:
- Name:例如
OpenClaw-Teams-Prod - Supported account types:选择
Accounts in this organizational directory only - Redirect URI:本文流程通常不需要填写
- Name:例如
-
注册完成后,在 Overview 页面复制:
- Application (client) ID:作为 OpenClaw 的 Client ID
- Directory (tenant) ID:作为 OpenClaw 的 Tenant ID
创建 Client Secret¶
-
在应用注册中选择 Certificates & secrets -> Client secrets -> New client secret
-
填写描述和有效期,选择 Add。
-
创建后立即复制 Value,该值就是 OpenClaw 的 Client Secret。
Note
Microsoft 不会再次显示 Secret Value。如果忘记保存,只能重新创建一个 Client Secret。
创建并配置 Azure Bot¶
打开 Azure 门户,选择 Create a resource -> 搜索 bot -> Azure Bot -> Create
配置应用身份¶
在 Microsoft App ID 或身份配置区域:
- 选择 Single Tenant。
- 选择 Use existing app registration。
- 输入前面创建的 Application (client) ID。
- 如果页面要求输入 Tenant ID,填写同一个 Directory (tenant) ID。
完成配置后选择 Review + create -> Create
配置 Messaging endpoint¶
-
进入 Azure Bot 资源,点选 Settings -> Configuration
-
将 OpenClaw 提供的完整 endpoint 填入 Messaging endpoint,然后选择 Apply。
endpoint 地址必须:
- 使用 HTTPS;
- 可以从公网访问;
- 保留 OpenClaw 提供的完整路径。
启用 Microsoft Teams channel¶
-
进入 Channels -> Microsoft Teams
-
同意相关条款。如果页面显示 Cloud environment,选择与客户 Teams 环境匹配的选项,然后选择 Apply。
在 OpenClaw 中填写信息¶
| OpenClaw 输入框 | 填写内容 |
|---|---|
| Client ID | Entra 应用的 Application (client) ID |
| Client Secret | Entra Client secret 的 Value |
| Tenant ID | Entra 应用的 Directory (tenant) ID |
保存后,确认各字段没有多余空格或换行。
将 Bot 添加到 Teams¶
启用 Teams channel 后,还需要将 Bot 添加到 Teams。
测试环境¶
-
在 Azure Bot,选择 Channels -> Microsoft Teams
-
页面获取 Teams 测试链接,打开后选择 Teams 客户端或 Teams Web,将 Bot 添加到 Teams。
生产环境¶
对于生产环境,建议创建 Teams App,将 Bot ID 设置为 Entra 应用的 Application (client) ID,然后上传或发布到客户 Teams 租户。
仅通过 Bot GUID 添加适合测试,不建议用于生产环境。
验证清单¶
| 检查项 | 通过标准 |
|---|---|
| 应用注册 | 应用类型为 Single Tenant |
| Client ID | OpenClaw、Entra 和 Azure Bot 中的应用 ID 一致 |
| Client Secret | 使用 Secret Value,且未过期 |
| Tenant ID | OpenClaw 与 Entra 的 Tenant ID 一致 |
| Messaging endpoint | 配置为 OpenClaw 提供的完整 HTTPS 地址 |
| Teams channel | Microsoft Teams channel 已启用 |
| Teams 安装 | Bot 已添加到 Teams |
| 消息测试 | Teams 消息能够触发 OpenClaw 回复 |
密钥轮换¶
Client Secret 到期前:
- 创建新的 Client Secret。
- 将新的 Value 更新到 OpenClaw。
- 发送 Teams 测试消息确认生效。
- 再删除旧 Secret。
常见问题¶
Teams 中找不到 Bot¶
检查 Teams channel 是否启用,以及 Bot 是否已经通过测试链接或 Teams App 添加到 Teams。
发送消息后没有回复¶
检查以下内容:
- Messaging endpoint 是否完整;
- endpoint 是否可以公网访问;
- Client ID、Client Secret 和 Tenant ID 是否填写正确;
- Cloud environment 是否选择正确。
出现 401 或 403¶
重点检查:
- 是否误填了 Secret ID;
- Client Secret 是否已过期;
- Tenant ID 是否属于当前应用注册所在的租户。