2026-09-29 · 原文发布日
n8n每周监控竞品网页与新闻:Gemini评估变化并邮件+Slack简报
每周一早上定时运行(可改频率),从Google Sheets读取竞品页面清单并抓取网页转成纯文本,与上周快照逐行比对;抓取失败会保留上次副本,避免把宕机误报为变化。只把有变化的行交给Gemini打分、分类并解释重要性,噪音直接丢弃,真实变化写入Change Log标签页。同时用Google News RSS(无需密钥)收集竞品近7天新闻,最后由Gemini生成包含动向、威胁、机会和建议行动的周报,经Gmail发HTML邮件、Slack发摘要。首次运行只存基线,第二轮才开始报变化。
原文要点
原模板发布于n8n.io(作者vijay kireeti varma,标注免费):每周一8点定时运行,从Google Sheets读取竞品页面清单,抓取网页转纯文本后与上周快照逐行比对,抓取失败保留上次副本避免误报。仅把有变化的行交给Google Gemini打分分类,噪音丢弃,真实变化写入Change Log;另用Google News RSS(无需密钥)收集竞品近7天新闻,由Gemini生成周报,经Gmail发HTML邮件、Slack发摘要。首次运行只存基线,第二轮才报变化。
这次做成什么
搭一条「定时触发→抓取比对→AI评估分支→邮件/Slack输出」的竞品监控流程:用一张三标签页的Google Sheet做数据源,让Gemini只处理变化行,最终每周收到一封HTML简报和一条Slack摘要。本站给出独立的字段映射、测试数据和两段可粘贴的Gemini提示词。
准备什么
- 一个n8n实例(云端或自托管),并能打开原模板页面复制工作流
- Google账号:可创建Google Sheets并使用Gmail发送邮件
- Google Gemini API密钥:在aistudio.google.com申请,免费档对每周运行足够
- Slack工作区(可选,不用可删除该节点)
- 2至3个可公开访问的竞品页面URL用于练习
具体怎么做
建立三标签页的Google Sheet
新建一个Sheet,建三个标签页。Competitors页表头:Competitor、Page URL、Page Type、News Keywords、Active;Snapshots页表头:Page URL、Competitor、Page Type、Status、Last Checked、Last Changed、Content;Change Log页表头:Date、Competitor、Page Type、Page URL、Significance、Change Type、Headline、What Changed、Why It Matters。在Competitors页填入2至3行竞品页面,Active填yes。
导入工作流并配置Settings节点
从n8n模板页复制该工作流到你的实例(原页提供工作流,具体按钮位置以n8n.io页面为准)。打开Settings节点:粘贴Sheet链接、用一两句话描述你的公司和卖什么(这句会进入Gemini评估上下文)、填收件邮箱。
连接四类凭据
为四个Google Sheets节点绑定同一Google账号凭据;为Gmail(Email Brief)节点授权发信;在两个Gemini节点填入Gemini API密钥;如需Slack,连接Slack并在Post to Slack节点设置频道(默认#competitor-intel),不需要就删掉该节点。
核对处理链路
链路为:Schedule Trigger(每周一8点,可改频率)→读Competitors与Snapshots→跳过Active为no的行→Fetch Page抓取并转纯文本→与上周快照逐行比对→写入Snapshots页(抓取失败保留旧副本,Status标记失败)→仅变化行进Gemini评分分支→噪音丢弃、真实变化写Change Log→Google News RSS取近7天新闻→Gemini写周报→Gmail发HTML、Slack发摘要。
先跑基线再启用定时
手动点击Execute workflow跑一次:这一轮只把当前页面存入Snapshots作基线,不会报变化。确认三个标签页都正确写入后,发布(激活)工作流,让它每周自动运行;变化报告从第二轮开始。
可直接复制的材料
Competitors标签页练习数据(CSV)
本站虚构练习数据,URL为示例域名请替换成真实公开页面;第三行Active为no用于验证跳过逻辑。名字常见的竞品务必填News Keywords以提高RSS命中率。
Competitor,Page URL,Page Type,News Keywords,Active
Acme笔记,https://example-acme.com/pricing,pricing,"Acme 笔记软件",yes
Acme笔记,https://example-acme.com/blog,announcements,"Acme 笔记软件",yes
Beta表格,https://example-beta.com/product,product,"Beta 表格工具",noAI Change Analyst评分提示词
本站按原模板「只送变化行、噪音丢弃」的描述独立编写,需在工作流里核对原文节点的实际字段名并替换双花括号变量;评分阈值可在提示词中按你的市场调整。
你是竞争情报分析师。我的公司是:{{Settings里的公司描述}}。
下面是竞品网页「{{Competitor}} - {{Page Type}}」本周与上周的逐行差异:
{{变化的行}}
请只依据这些差异输出JSON:
{"significance": "high|medium|low|noise", "change_type": "pricing|product|messaging|other", "headline": "一句话概括", "what_changed": "具体变了什么", "why_it_matters": "对我们为什么重要,结合上面的公司描述"}
规则:价格数字、套餐档位变化一律至少medium;错别字、日期戳、页脚改版等无商业含义的变化判为noise。只输出JSON,不要解释。周报生成提示词
本站独立编写,变量名需对照原工作流实际输出字段调整;500字上限为本站设定,可改。
你是竞争情报主编。基于以下两部份素材写本周简报:
一、本周确认的竞品变化(Change Log行):
{{本周Change Log记录}}
二、各竞品近7天新闻标题:
{{RSS标题列表}}
输出HTML邮件正文,结构为:
1. 本周三大动向(每条含竞品名、发生了什么、重要性评级)
2. 威胁:可能影响我们的两件事
3. 机会:可借力的一件事
4. 建议行动:三条具体可执行的下一步,每条一句话
语气简洁,全文不超过500字,只输出HTML。输入与输出示例
本站虚构演示,数字为练习设定,非真实抓取或调用结果。
输入
Competitors页含Acme笔记的pricing页。上周快照中套餐行是「标准版 每月29元」,本周抓取文本该行变为「标准版 每月39元」,其余行不变;RSS近7天命中标题『Acme笔记推出团队协作版』。对应输出
Change Log新增一行:2026-10-05,Acme笔记,pricing,https://example-acme.com/pricing,high,pricing,"标准版涨价10元","标准版由29元/月改为39元/月","对手提价约34%,我们28元档的价格优势扩大,可在投放中强调"。邮件简报『本周三大动向』第1条即此涨价,建议行动含『本周内更新对比落地页价格表』。做完检查这些
- 第一次手动运行后Snapshots页每行都有Status与Content,Change Log为空(基线轮无变化)
- 把练习页某行文字改动后再跑,Change Log只新增与该差异对应的一行,无噪音条目
- Active填no的行在运行日志中被跳过,不发抓取请求
- 人为把某URL改成无效地址后运行,该行保留旧快照且不被误报为变化
- Gmail收到含三大动向/威胁/机会/行动四段的HTML邮件,Slack频道收到摘要
容易卡住的地方
- 首轮只存基线是设计行为,不要以为首轮没报变化就是流程坏了
- Gemini免费档有每日限额,命中限额时按原作者建议换Flash模型或开启计费
- 对JavaScript动态渲染的页面,原Fetch Page节点可能抓不到内容,原作者建议换Firecrawl等抓取API
- Google News RSS无需密钥但结果受关键词影响,竞品名常见时必须用News Keywords列收窄
- 只监控公开页面并遵守各网站使用条款;不要抓取需要登录或禁止抓取的内容
- 原模板节点名和参数以n8n模板页实际文件为准,导入后先核对字段映射再填凭据
- 定时频率可在Schedule节点改,原作者提示定价页适合改成每日,但会相应增加AI调用次数
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Track competitor pricing and news changes in Google Sheets with Gemini, Gmail and Slack
- 原作者
- vijay kireeti varma
- 原始发布日期
- 2026-09-29T14:21:34.157Z
- 来源
- https://n8n.io/workflows/20162