AI PLAY玩法更新持续收录
← 回到更新流

2026-09-13 · 原文发布日

监控竞品X账号动态并推送摘要

每个工作日早晨运行的n8n流程:经Bright Data抓取设定X账号的新帖(用n8n Data Table记录已见帖子避免重复),按账号近期互动中位数筛出异动帖并打上发布、定价、融资等标签,交给OpenAI写成一句话通俗摘要,全部帖子记入Google Sheets,最终把要点摘要或“平静日”通知发到Slack,出错另有告警频道。

原文要点

原模板由Daniel Shashko发布在n8n官方模板库(免费)。流程每个工作日早晨运行:从Settings读取要监控的X账号列表和阈值,先从n8n Data Table取出已见帖子ID传给Bright Data以跳过已处理帖,逐个账号触发Bright Data的X帖子数据集抓取并轮询快照状态;下载后按账号近期非转发帖的互动数中位数建立基线,给帖子打launch/pricing/funding/hiring/incident/event/general标签,选出异动帖交OpenAI写一句话通俗摘要;所有帖子追加进Google Sheets的“Competitor posts”页,帖子ID回写Data Table,最后把摘要或“平静日”消息发到Slack,失败另发告警频道。

这次做成什么

搭一条工作日早上自动跑的竞品X账号监控线:自动跳过已看过的帖子,只对互动异动帖生成一句话中文摘要推到Slack,全部帖子留档表格。练习方案:先用2个账号、3天回溯的小配置手动触发跑通全链路,再打开定时。

准备什么

  • n8n实例(云版或自托管,版本需支持Data Table功能)
  • Bright Data账号及API token,并开通X帖子数据集抓取权限
  • OpenAI API key(用于Chat模型生成摘要)
  • Slack工作区及应用凭据,且有一个摘要频道和告警频道(默认#alerts)
  • Google账号及一份电子表格,内含名为Competitor posts的工作表

具体怎么做

  1. 配置四类凭据

    在n8n凭据页依次新建:HTTP Header Auth凭据,名称字段填Authorization、值填Bearer加你的Bright Data token;OpenAI凭据填API key;Slack凭据完成OAuth或token;Google Sheets凭据完成OAuth授权。

  2. 建Data Table与表格页

    在n8n新建Data Table,命名为x_post_watch,建三个文本列post_id、handle、seen_on,用于记录已抓取的帖子ID。Google Sheets里确认Competitor posts页存在,列头与流程追加字段一致(如handle、post_id、text、likes、reposts、tag、summary、url、crawled_at)。

  3. 填写Settings并小跑

    在流程的Settings节点填入2个竞品X账号主页URL、days_back填3、异动阈值(如互动数超过该账号中位数的倍数)和Slack摘要频道名。先用手动执行跑一遍,确认Bright Data快照轮询能等到ready再下载。

  4. 核对产出并开启定时

    检查Sheets是否每帖一行、Data Table是否写入新post_id、Slack是否收到摘要;再手动跑一次确认已见帖子被跳过。全部通过后把触发器改为工作日早晨的定时调度。

可直接复制的材料

异动帖一句话摘要提示词(喂给OpenAI Chat节点)

本站独立编写的示例提示词,帖子内容为虚构;实际使用时把帖子列表替换为流程中筛选出的真实异动帖,标签和互动数由前置节点拼入。

你是竞品动态编辑。下面是某竞品X账号今天被抓到的互动异动帖。请为每条写一句不超过50字的中文通俗摘要,说明发生了什么、为什么值得关注,不要照搬原文措辞,不要加表情符号。按编号逐条输出,格式为「编号. 摘要」。帖子列表:
1. [launch] @acme_dev: We just shipped offline mode for all Pro users... (likes: 312, 基线中位数: 40)
2. [pricing] @acme_dev: Starting next month, Pro moves to $18/mo... (likes: 205, 基线中位数: 40)

Settings节点练习配置

本站设计的练习配置示例,字段名为示意;真实字段名以原模板Settings节点为准,需在导入模板后逐一核对替换,频道需提前在Slack建好。

{
  "handles": [
    "https://x.com/acme_dev",
    "https://x.com/rivalapphq"
  ],
  "days_back": 3,
  "spike_multiplier": 3,
  "digest_channel": "#competitor-watch",
  "error_channel": "#alerts",
  "data_table": "x_post_watch",
  "sheet_tab": "Competitor posts"
}

Bright Data返回帖子的合成测试数据

本站编造的合成数据,用于在没有真实抓取时练习基线与异动筛选逻辑:170001应被判为异动,170002低于阈值,170003是转贴应从基线计算中排除。

[
  {"post_id":"170001","handle":"acme_dev","text":"We just shipped offline mode for all Pro users.","likes":312,"reposts":45,"is_repost":false,"posted_at":"2026-09-11T09:20:00Z"},
  {"post_id":"170002","handle":"acme_dev","text":"Happy Friday everyone!","likes":12,"reposts":1,"is_repost":false,"posted_at":"2026-09-11T15:02:00Z"},
  {"post_id":"170003","handle":"rivalapphq","text":"RT @someone nice product","likes":0,"reposts":0,"is_repost":true,"posted_at":"2026-09-11T11:40:00Z"}
]

输入与输出示例

本站虚构演示,输入输出数字一一对应,非原作者运行结果,未实际调用任何服务。

输入

用上面的合成测试数据:acme_dev近期非转发帖互动中位数设为40,spike_multiplier为3,即阈值120;三条帖子如data材料所示。

对应输出

筛选结果:仅170001(likes 312 > 120)进入异动清单并打launch标签;170002(12 < 120)只记表不摘要;170003为转贴不参与基线。OpenAI摘要输出示例:「1. Acme向Pro用户上线了离线模式,产品力升级值得跟进。」Sheets追加3行,Data Table写入170001/170002/170003三条post_id,Slack收到含1条摘要的日报。

做完检查这些

  • 第二次手动运行时,已写入x_post_watch的post_id被传给Bright Data且不重复出现在Sheets中
  • Sheets的Competitor posts页每次运行新增行数与当次抓到的帖子数一致,列不错位
  • 某天没有任何异动帖时,Slack收到的是平静日提示而不是空白或报错
  • 人为改错一个凭据后运行,告警频道能收到失败通知而非静默失败

容易卡住的地方

  • Data Table是较新n8n版本的功能,旧版自托管实例可能没有这个节点,需先升级或改用其他存储
  • Bright Data快照是异步的,轮询间隔和最大次数设太小会在数据未就绪时超时失败
  • 中位数基线需要账号有足够近期非转发帖,新监控的账号头几天样本少,异动判定会不稳
  • Google Sheets页名列名必须与流程追加字段完全一致,含大小写和空格,否则追加失败或错列
  • Slack告警频道默认是#alerts,若工作区没有该频道且未在Settings改名,错误通知会发送失败

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Track competitor X announcements with Bright Data, OpenAI, Sheets and Slack
原作者
Daniel Shashko
原始发布日期
2026-09-13T10:40:25.974Z
来源
https://n8n.io/workflows/19533