2026-10-12 · 原文发布日
店铺差评自动回复与人工把关
面向代运营或多店管理者的Google评论处理n8n模板:每3小时拉取新评论,先在Supabase里去重,再由Claude判断情绪、话题和紧急度并起草公开回复;低分、敏感词或高紧急度的评论会发到Slack等人工点批准或驳回,通过的回复经HTTP接口发布(可换成Google商家资料回复API),同时把每条评论的洞察写入洞察表。品牌语气、审批严格度、检查频率和告警渠道都可调。模板免费,但需要商家资料API的OAuth配置和Supabase建表。
原文要点
这是n8n.io上的免费工作流模板(编号20779,作者Bhaskar Gorati),面向代运营或多店Google评论管理:定时每3小时拉新评论,在Supabase按review_id去重,调用Anthropic模型判断情绪/话题/紧急度并起草公开回复;按情绪分流后还有一道AI升级检查和规则兜底,低分、风险关键词或高紧急度的评论发到Slack等待批准/驳回(带超时);通过的回复经HTTP节点发布(可换成Google商家资料回复API),并把逐条洞察写入feedback_insights表。语气、审批严格度、频率、告警渠道均可改。
这次做成什么
在n8n里搭起一条“定时拉评论→AI起草→高风险人工审批→发布→留档”的流水线,用演示评论数据跑通全链路,理解每个分支的判断条件,之后再替换为真实的Google商家资料API。
准备什么
- 一个n8n实例(云端或自托管)并能导入模板页面提供的工作流
- Supabase项目及API凭据,可建reviews与feedback_insights两张表
- Slack工作区及OAuth2应用凭据,机器人已被邀请进审批频道
- Anthropic API凭据(模板原文要求清单里同时提到OpenAI key,需以模板实际节点为准核对)
具体怎么做
建Supabase表结构
在Supabase建reviews表,字段至少含review_id(主键)、customer_name、rating、review_text、review_date、business_id、business_name,以及工作流写入用的analysis、drafted_reply、priority、status列;再建feedback_insights表存逐条洞察。字段名必须与工作流插入/更新节点里的一致,先导入模板看节点再定列。
配四类凭据并导入模板
在n8n凭据页添加Supabase、Slack OAuth2、Anthropic三类凭据;从模板页导入工作流后,把各节点绑定到对应凭据,在审批节点填入你的Slack频道ID,在设置类节点填business_name和business_id。
用演示数据跑通去重与分类
模板自带的“Get New Reviews”演示节点输出示例评论,先把示例数据替换成材料C的测试数据,手动执行一次:应看到这条评论写入reviews表,AI返回情绪、话题、紧急度和回复草稿。
验证审批分支
测试数据是1星差评且含“退款”字样,应触发人工审批:Slack频道收到带批准/驳回链接的消息。先点驳回看状态如何更新,再重跑点批准,确认回复被送到发布HTTP节点(此时还是mock地址)。
换真实接口前核对清单
确认逻辑都正确后,把拉取节点换成Google Business Profile Reviews API(需要客户把你加为商家资料管理员并配OAuth2),把发布mock URL换成回复API,并确认发布节点使用工作流的final_response字段。此两步的API细节需对照Google官方文档,模板页未给出具体路径。
可直接复制的材料
AI回复起草系统提示词(本站独立编写示例)
本站设计的示例提示词,用来理解模板中Generate AI Response节点该写什么;店名、邮箱、字数上限需替换成你的实际值。模板默认对2星及以下、风险关键词、高紧急度要求人工审批。
你是{店铺名}的客服负责人。根据顾客评论起草一条公开回复,要求:1. 语气友好、简短,不超过80字;2. 三星及以下评论必须致歉并留下店长邮箱manager@example.com邀请私下沟通;3. 不承诺退款金额、不承认法律责任、不提及内部政策;4. 不使用表情符号;5. 署名“{店铺名}团队”。同时输出JSON:{"sentiment":"positive|neutral|negative","topics":[...],"urgency":"high|medium|low","reply":"..."}。reviews表参考建表结构
本站编写的参考SQL,列名需以你导入模板后节点里实际写入的字段为准调整。
create table reviews (
review_id text primary key,
customer_name text,
rating int,
review_text text,
review_date timestamptz,
business_id text,
business_name text,
analysis jsonb,
drafted_reply text,
priority text,
status text default 'new',
created_at timestamptz default now()
);测试用评论数据
本站虚构的演示评论,字段对应模板要求的七字段映射;用于触发负面+风险词+高紧急度的人工审批分支,非真实客户信息。
{"review_id":"demo-1001","customer_name":"林小舟","rating":1,"review_text":"等了40分钟菜还没上齐,服务员态度很差,我要求退款!","review_date":"2026-10-11T12:30:00Z","business_id":"demo-biz-01","business_name":"样例小馆"}输入与输出示例
本站按模板逻辑推演的示意结果,非实测;mock发布地址需自行替换为真实回复API。
输入
材料C的测试评论(1星、含“退款”字样)随定时触发进入工作流。对应输出
Supabase reviews表新增一行review_id=demo-1001、status=待审批;AI分析结果为negative/urgency=high;Slack频道收到审批卡片含回复草稿,点批准后发布节点以final_response调用mock发布地址,状态更新为已发布,feedback_insights表新增一条洞察记录。做完检查这些
- 同一review_id重复进入时被Supabase去重逻辑拦截,不重复处理
- 1星或含风险词的评论必然走到Slack审批,人工批准前不会发布
- 批准的回复调用发布接口且使用final_response文本,状态回写Supabase
- 每条处理过的评论都在feedback_insights表留下结构化洞察
容易卡住的地方
- 模板原文“要求”清单里写OpenAI key而正文写Anthropic,导入后以节点实际凭据类型为准,别配错
- 拉取和发布默认是演示/mock节点,不接Google API前不会处理真实评论
- Supabase列名与节点写入字段不一致会静默失败或报错,先对照节点建表
- Slack审批有超时,超时后评论的去向需在模板里确认,避免既没发布也没提醒
- 读取和回复Google评论需要客户把你加为商家资料管理员并完成OAuth2,这一步在Google侧完成
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Manage Google reviews with Claude Sonnet, Supabase, and Slack
- 原作者
- Bhaskar Gorati
- 原始发布日期
- 2026-10-12T04:03:54.617Z
- 来源
- https://n8n.io/workflows/20779