跳至内容
文档

使用 incoming webhook 连接 Slack

为频道创建 Slack incoming webhook,将其添加到 AutoPSEO,发送测试消息,并排查发送失败时 Slack 返回的错误。

账户 → Slack、Teams 与 Webhooks → Slack - 已连接的工作区需要订阅或试用阅读需 1 分钟

AutoPSEO 通过 incoming webhook 向 Slack 发送消息。Slack 会提供一个可写入单个频道的 URL,你把这个 URL 粘贴到 AutoPSEO 中,报告和告警就会开始发送到该频道。AutoPSEO 本身不会在你的工作区安装任何内容:它无法读取消息、列出你的频道,也无法向 webhook 指向之外的任何位置发帖。每个需要接收消息的频道,都要单独添加一个条目。

在 Slack 中创建 webhook

Slack 通过 Slack 应用来签发 incoming webhook。请参照 Slack 的 incoming webhook 指南:

  1. 为你的工作区创建一个 Slack 应用,或打开已用于通知的现有应用。应用名称请选择团队容易识别的,例如 SEO reports。
  2. 在应用设置中打开 Incoming Webhooks,并开启 Activate Incoming Webhooks。
  3. 点击 Add New Webhook to Workspace,选择频道并确认授权。如果是私有频道,你需要先成为该频道的成员。
  4. 从 Webhook URLs for Your Workspace 中复制新生成的 URL。它以 https://hooks.slack.com/services/ 开头。

每增加一个频道,重复步骤 3 和 4 即可;一个应用可以包含多个 webhook。通过 Slack 旧版自定义集成 webhook 创建的 URL 也仍然可用,不过 Slack 建议将其迁移到应用。

Slack 将该 URL 视为机密:任何拿到它的人都可以向该频道发帖。请只把它粘贴到 AutoPSEO 中,不要放进工单、wiki 或截图里。

添加到 AutoPSEO

  1. 在 Slack, Teams & Webhooks 页面找到 Slack - Connected workspaces,点击 Add to Slack。此时会打开 New channel 表单,目标渠道已默认选为 Slack。
  2. Name:用于 AutoPSEO 中列表、发送历史和测试消息的标签,例如 #seo-alerts。
  3. Webhook URL:粘贴 Slack 的 URL。对于 Slack 条目,AutoPSEO 只接受 slack.com 域名下的 https 地址,如果 URL 不符合要求,会立即提示。
  4. 点击 Add channel,然后在新增的行上点击 Send test。几秒内 Slack 中应会出现一条以该条目命名的简短消息,AutoPSEO 也会显示 Slack 的响应耗时。

URL 以加密形式(AES-GCM)存储。此后列表中只显示其主机名和末尾几个字符,因此请使用能清楚表明对应 Slack 频道的名称。

接下来,为它设置要发送的内容:定时报告或告警。之后,列表下方的 Slack - Subscriptions 表格会按 Slack 频道显示所有向其发帖的规则、各自的计划,以及当前是启用还是暂停状态。

多个频道和工作区

一个 webhook URL 只属于某个工作区中的一个频道,并且 Slack 不允许消息覆盖其创建时指定的频道。这使行为更易于预期:

  • 一个 Slack 频道对应一个条目。如果要把不同客户分别发送到 #client-a 和 #client-b,请为每个频道各创建一个 webhook 并分别添加。
  • 多个工作区的做法相同,因为每个 webhook 都属于创建它的那个工作区。
  • 一个条目可以承载多条规则。你可以把每周报告和流量下降告警发送到同一个条目,也可以把告警单独放在消息较多的另一个频道。

消息未送达的原因

Send test 会立即显示原因。对于定时消息,请打开 Delivery history,其中保留了每次失败尝试对应的 Slack 响应。

AutoPSEO 显示的内容含义处理方法
Slack rejected the URL (no_service)webhook 已在 Slack 中被删除或禁用,或 URL 输入有误创建新的 webhook 并添加,然后删除旧条目
The Slack channel no longer exists, or is archivedSlack 返回了 channel_not_found 或 channel_is_archived为仍在使用的频道创建 webhook
Slack is rate limiting usSlack 返回了 HTTP 429稍等片刻,然后使用 Send now 或 Test rule
Timed out after 10 secondsSlack 未在规定时间内响应稍后重试
Your trial has ended没有有效的套餐或试用选择一个套餐;定时发送会随之恢复

定时报告发送失败后,在同一周期内不会重新发送,因此请在排除原因后使用 Send now。未能发出的告警会在下一次检查时重新评估(告警何时运行)。

移除 Slack 频道

点击条目所在行的 Delete,会删除已存储的 URL,并在确认提示(其中会告知数量)之后,删除所有向该频道发帖的规则。AutoPSEO 不会更改 Slack 中的任何内容:在有人于 Slack 应用中移除之前,该 webhook 仍然有效,因此如果 URL 可能已被他人看到,请同时在 Slack 中移除它。

让你的 SEO 内容自动运行

连接 Search Console 和你的网站,AutoPSEO 会立即扫描并规划首批主题。无需信用卡。