文档
Microsoft Teams 告警与报告
在 Teams 频道中创建 Workflows webhook,将其添加到 AutoPSEO,即可以按严重程度着色的 Adaptive Card 形式接收告警和定时报告。
AutoPSEO 通过 Workflows webhook 向 Microsoft Teams 发送消息。Teams 会提供一个可向某个频道发帖的 URL,你只需将该 URL 作为 Teams 渠道添加到 AutoPSEO。此后,告警、定时报告、测试消息和一次性报告摘要都会以 Adaptive Card 的形式送达,标题按严重程度着色,并带有一个返回报告的按钮。你无需 Slack 工作区,也无需在 Teams 中安装 AutoPSEO 应用。
从 Teams 获取 webhook URL
Microsoft 的传入 webhook 指南通过 Workflows 应用生成该 URL:
- 在 Teams 中,进入要接收卡片的频道,点击频道旁的更多选项 (...)。
- 选择 Workflows,然后选取一个 webhook 模板。Microsoft 目前将其称为 Send webhook alerts to a channel;AutoPSEO 设置页面中的提示仍沿用旧名称 Post to a channel when a webhook request is received。
- 检查模板自动填入的团队和频道,然后点击保存。
- 复制工作流显示的 webhook 链接。
旧版 Incoming Webhook 连接器生成的 URL(位于 webhook.office.com)仍然可用。不过 Microsoft 正在停用 Microsoft 365 连接器,并将禁止创建新的连接器,因此现在新建的配置请使用 Workflows。
在 AutoPSEO 中添加渠道
- 在 Slack, Teams & Webhooks 的 Microsoft Teams 部分,点击 New Teams channel。表单打开时,目标已设为 Microsoft Teams。
- 输入一个便于识别的名称,并粘贴 URL。对于 Teams 条目,AutoPSEO 接受 Workflows 和连接器地址(主机名如
logic.azure.com、powerautomate.com、azure-api.net和webhook.office.com),其他主机会被拒绝。 - 点击 Add channel,然后点击该行的 Send test。频道中应出现一张以该条目名称为标题的卡片。
- 创建定时报告或告警,并选择此渠道。
一条规则只能发送到一个渠道。如果希望同一条告警同时发到 Slack 和 Teams,请分别为两者各创建一次规则。
卡片的版式
每条消息都会生成一张 Adaptive Card(版本 1.4,全宽),并封装在 message 信封中,附带 application/vnd.microsoft.card.adaptive 附件,这与 Microsoft 官方示例的做法一致。
- 标题使用大号粗体。告警中,严重和高级别使用卡片的 Attention 颜色,中级别使用 Warning,低级别使用默认颜色;报告和测试消息使用 Accent 颜色。
- 摘要:与 Slack 消息相同的一句话,并附带日期范围。
- 事实列表:最多 12 个带标签的值,例如点击量及其变化,或告警的当前值与基线值的对比。
- 表格:用于报告和报告摘要,最多十行,采用等宽字体。
- 页脚:所属资源、提示 Search Console 数据约有一天延迟且仅统计已稳定的日期,以及发送方。
- Open report:跳转到 AutoPSEO 中对应报告的按钮。
卡片未送达的原因
Send test 会立即报告失败;对于定时消息,Delivery history 会保留 Teams 返回的响应。
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 保存时提示 "That does not look like a Teams Workflows or Incoming Webhook URL" | URL 不在 Workflows 或连接器的主机上 | 从工作流中重新复制链接 |
| Send test 返回 HTTP 400 | 实际上不是 Teams webhook:可能是 Slack URL、Zapier 钩子,或被修改为期望其他请求体的工作流 | 用模板新建一个工作流,并添加它的 URL |
| 10 秒后超时 | Teams 未能及时响应 | 稍后重试 |
| 不会跟随重定向 | URL 会转发到其他地址 | 改为添加最终的 URL |
| 同事离职后卡片停止送达 | Microsoft 会将每个工作流绑定到其所有者,没有所有者的工作流可能会停止运行 | 为工作流添加共同所有者,或重新创建 |
失败的定时报告不会在同一周期内重发:请排查原因后使用 Send now。
何时改用 webhook
Teams 与出站 webhook可以承载相同的规则,但面向的对象不同。Teams 频道面向人:格式化的卡片,无需任何开发。webhook 面向软件:以签名 JSON 形式提供原始事件,供 Zapier、Make、n8n 或你自己的服务使用。Teams 需要的是卡片,而不是 AutoPSEO 的事件 JSON,因此 Teams 的 URL 应始终添加在 Microsoft Teams 下。
关于 Teams 用户能获得哪些功能,请参阅 Microsoft Teams 页面。