You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否为Teams bot应用创建配置页收集安装配置信息?

Teams Bot 配置页实现方案

核心结论

Bot 应用原生支持和 Tab 完全一致的配置页能力,不需要通过主动向用户发消息问询的方式收集配置信息,这是官方推荐的标准化实现路径,和 Tab 配置页共用同一套 Teams JS SDK,不存在能力壁垒。配置完成后,用户安装 Bot 时会自动弹出配置页,安装后也可以通过 Bot 菜单的设置入口随时修改配置。

具体实现步骤

  • 第一步:更新应用清单声明配置页
    不需要额外开发 Tab 模块,直接在应用的 manifest.json 的 bots 配置块中新增 configurationUrl 字段,指向你部署好的配置页前端地址即可,参考配置片段:
{
  "bots": [
    {
      "botId": "你在Azure Bot服务注册的应用ID",
      "scopes": ["team", "groupChat", "personal"],
      "configurationUrl": "https://你的服务域名/teams-bot-config-page",
      "supportsFiles": false,
      "isNotificationOnly": false
    }
  ],
  "validDomains": [
    "你的服务域名"
  ]
}

配置完成后,用户将 Bot 添加到频道/群组/个人会话时,Teams 会自动弹出配置页,用户完成填写提交后才能完成安装流程。

  • 第二步:配置页前端逻辑开发
    逻辑和 Tab 配置页完全一致,引入 Teams JS SDK 即可,不需要做 Bot 场景的特殊适配:

    1. 页面加载完成后首先调用 microsoftTeams.app.initialize() 完成 SDK 初始化
    2. 初始化完成后调用 microsoftTeams.app.getContext() 获取当前安装上下文,直接拿到全局唯一的 teamId/chatId、当前操作用户的基础信息,不需要用户手动填写关联ID
    3. 渲染自定义表单,收集需要用户提供的 API Key、客户关联标识等信息
    4. 用户填写信息时,你可以先把表单内容传到后端做合法性校验(比如校验 API Key 是否有效),校验通过后调用 microsoftTeams.pages.config.setValidityState(true) 激活配置页底部的「保存」按钮
    5. 监听保存事件,用户点击保存后调用 microsoftTeams.pages.config.setConfig() 通知 Teams 配置完成,页面会自动关闭,Bot 安装流程走完。
  • 第三步:后端关联逻辑处理
    用户提交配置时,直接把表单收集到的 API Key、客户标识和之前拿到的 teamId/chatId 绑定存在你的后端数据库即可。后续你需要主动向频道推送消息时,直接根据 teamId/chatId 匹配对应的客户配置、调用对应的业务接口即可。
    用户后续修改配置时,Teams 会自动打开同一个配置页,你可以提前拉取已存储的配置预填到表单里,用户修改提交后更新数据库的绑定关系即可,不需要额外开发配置修改入口。

常见注意点

  • 配置页的域名必须加入 manifest 的 validDomains 列表,否则会被 Teams 拦截无法加载
  • API Key 这类敏感信息只存储在你的后端即可,不要回传到前端或者存在 Teams 上下文里
  • 不需要额外处理安装完成的回调事件,只要配置提交成功,你存储的 teamId 和客户标识的绑定关系就可以直接使用,后续主动发消息调用 Bot Framework 的接口传对应 teamId 即可。

内容的提问来源于stack exchange,提问作者InversionDK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 21:57:23