构建Webhook 和连接器
重要
Microsoft 365 连接器 (以前称为 Office 365 连接器) 即将弃用,并且即将阻止创建新的 Microsoft 365 连接器。 有关计划以及工作流应用如何提供更灵活、更安全的体验的详细信息,请参阅 停用 Microsoft Teams 中的 Microsoft 365 连接器。
如何在 Teams 中创建 Webhook?
若要在收到 Webhook 请求时自动发布到聊天或频道,请使用预定义的工作流模板,或使用 收到 Teams Webhook 请求时 触发器从头开始创建工作流。 有关详细信息,请参阅 在 Microsoft Teams 中收到 Webhook 请求时发布工作流。
有关 收到 Teams Webhook 请求时 触发器的详细信息,请参阅 Microsoft Teams - Webhook。
如果已生成Office 365连接器:
创建 Power Automate 连接器:Power Automate 增强了 Teams 中广泛使用的工作流应用。 它是以编程方式将数据传入和传出 Teams 的可缩放且安全的方法。 如果采用此方法,则可以创建工作流模板,用于将产品中的警报发布到 Teams 频道。 此方法简化了用户采用新方法。 有关详细信息,请参阅 面向企业开发人员、ISV 和合作伙伴的 Power Automate。
更新 Teams 应用:可以增强当前 Teams 应用。 例如,可以让用户基于系统中的触发器事件设置主动消息。 有关详细信息,请参阅 机器人如何通过主动消息发布到通道。
已知问题
- 工作流应用不能作为流机器人在专用频道中发布。 但是,它可以代表用户发布。
- 工作流仅支持自适应卡片。 它不支持Office 365连接器使用的较旧消息卡格式。 从 10 月中旬开始,支持在工作流中使用消息卡格式。 有关详细信息,请参阅如何将连接器消息卡格式转换为自适应卡片。
- 工作流不提供 DataDog 和 Jenkins 等第三方连接器。
- 只能在默认环境中创建工作流。
限制
工作流仅链接到特定用户 (称为工作流) 所有者,而不是 Teams 团队或频道。 如果没有分配共同所有者,如果没有所有者,工作流可能会成为孤立流。 为了保持流自动化业务流程的连续性,管理员可以添加一个或多个共同所有者,并授予他们对工作流的完全控制权限。 他们还可以为连接添加身份验证(如果有),并在已禁用流时启用流。 有关详细信息,请参阅 管理孤立流。
Webhook 和连接器有助于将 Web 服务连接到 Microsoft Teams 中的频道和团队。 Webhook 是用户定义的 HTTP 回调,可通知用户 Teams 通道中发生的任何操作。 这是应用获取实时数据的一种方式。 连接器允许用户订阅以接收来自 Web 服务的通知和消息。 他们为你的服务公开了一个 HTTPS 端点,以卡片的形式发布消息。
重要
Webhook 和连接器仅在政府社区云 (GCC) 环境中可用,但在 GCC-High 和国防部 (DOD) 环境中不可用。
只有传入 Webhook 连接器类型在 GCC-High 环境中可用, 租户管理员 需要手动上传才能在连接器页中显示应用。
可以选择生成通知机器人 Teams 应用,而不是传入 Webhook。 它们的执行方式类似,但通知机器人具有更多功能。 有关详细信息,请参阅 使用 JavaScript 生成通知机器人 或 传入 Webhook 通知示例。 若要开始,请下载并浏览 Teams 工具包。 有关详细信息,请参阅 Teams 工具包文档。
传出 webhook
Webhook 可帮助 Teams 与外部应用集成。 使用传出 Webhook,可以将文本消息从通道发送到 Web 服务。 配置传出 Webhook 后,用户可以 @mention 传出 Webhook 并将消息发送到 Web 服务。 服务将在 10 秒内响应带有文本或卡的消息。 有关详细信息,请参阅 创建传出 Webhook。
注意
传出 Webhook 是根据每个团队配置的,不能作为常规 Teams 应用的一部分包含在内。
连接器
连接器允许用户订阅以接收来自 Web 服务的通知和消息。 它们公开服务的 HTTPS 终结点,以便将消息发布到 Teams 频道,通常采用卡片形式。
注意
连接器无法更新消息或将消息作为对现有消息的响应发送。
传入 webhook
传入的 Webhook 有助于将消息从应用发布到 Teams。 如果在任何通道中为团队启用了传入 Webhook,则会公开 HTTPS 终结点,该终结点接受格式正确的 JSON 并将消息插入该通道。 例如,可以在 DevOps 通道中创建传入 Webhook,配置生成,并同时部署和监视服务以发送警报。 有关详细信息,请参阅 创建传入 Webhook。
通知机器人或传入 Webhook
在开始了解如何生成传入 Webhook 之前,你可能还想知道可以使用 Teams 工具包生成通知机器人,或使用 Microsoft 图形 API 发送活动源通知。 通知机器人和活动源通知可以实现更多可自定义的体验,以满足不同的业务方案。 有关详细信息,请参阅 计划发送应用通知。
通知 API | 通知机器人 | 传入 Webhook | |
---|---|---|---|
这是什么? | A RESTful web API | Teams 应用 | Teams 功能 |
需要安装 | 是 | 是 | 否 |
合适的方案 | • 通知用户有关紧急或关键信息的信息。 • 在 Teams 的“main”窗格中显示需要用户操作的丰富内容。 • 接收带有声音的操作系统通知。 • 活动中的本地化预览文本。 |
• 定期接收通知和消息,例如,接收团队任务的每日通知。 • 基于真实事件接收通知和消息。 例如,团队成员上传文件后,你会收到通知。 |
与外部应用通信,并从其他应用接收通知和消息。 |
范围配置 | • 单个用户 • 用户列表 • 聊天中的用户 • 团队中的用户 |
• Teams 频道 • 群组聊天 • 个人聊天 |
Teams 频道 |
消息进程 | Teams 应用进行 REST API 调用,以触发 Teams 中的活动中的通知。 API 调用传递深层链接以在main窗格中加载内容。 | 通知机器人充当 Teams 应用程序。 可以定义业务逻辑以处理数据和以自定义格式显示数据。 | Webhook 是 Teams 功能,而不是 Teams 应用程序,因此它只接收和显示数据,而不进行处理。 |
检索 Teams 上下文 | 应用可以使用 Graph API 来处理Microsoft 365 数据。 | 通知机器人可以检索 Teams 上下文,例如频道或用户信息和消息。 | 否 |
发送自适应卡片 | 否 | 是 | 是 |
发送欢迎消息 | 是 | 是 | 否 |
支持触发器 | 支持所有触发器。 | 支持所有触发器。 如果使用 Teams 工具包,可以使用以下触发器快速获取模板项目: • Azure 函数上托管的时间触发器。 • Restify Azure 应用服务上托管的 HTTP 触发器。 • 托管在 Azure Functions 上的 HTTP 触发器。 |
支持所有触发器。 |
生成工具 | 快速入门 - Microsoft Graph | • 适用于Visual Studio Code的 Teams 工具包概述 • Visual Studio 的 Teams 工具包概述 • Teams 工具包 CLI • TeamsFx SDK |
不需要任何工具。 |
需要云资源 | Microsoft Entra应用 | Azure Bot Framework | 不需要任何资源。 |
教程 | • 向 Microsoft Teams 中的用户发送活动源通知 • 发送活动源通知 |
使用 JavaScript 生成通知机器人 | 传入 Webhook 通知示例 |
用于Microsoft 365 组的连接器
Microsoft 365 组 连接器允许为传入 Webhook 创建自定义配置页,并将其打包为 Teams 应用的一部分。 主要用于Microsoft 365 组使用连接器卡发送消息,并且可以向其添加一组有限的卡操作。 例如,一个天气连接器,允许用户选择一个位置和一天中的任何时间,以接收有关明天天气的更新。 它们是在频道级别配置的,但在团队级别安装。 有关详细信息,请参阅为Microsoft 365 组创建连接器。
注意
可以将适用于 Microsoft 365 组 Teams 应用的连接器分发到 AppStore。
创建和发送邮件
可操作邮件允许用户在不离开其电子邮件客户端的情况下采取措施,从而增加用户参与度。 使用 Microsoft 365 和传入 Webhook,可以通过将 JSON 有效负载发布到 Webhook URL 来发送消息。 有关详细信息,请参阅 创建和发送消息。