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