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

2026-10-01 · 原文发布日

n8n模板:用聊天窗口查询和改写UnoPim商品目录

团队任何人打开Chat Trigger聊天窗即可问商品或改字段,GPT-4o驱动的工具调用代理通过六个UnoPim工具浏览、查SKU、写回PATCH,写入前先查属性和族防止编造字段。每条回复末尾带状态块,代码节点解析后确定性分流:已变更则从UnoPim回读确认、前后值记入Google Sheet并发Slack;无法解决的开Linear工单而不是瞎编。仅支持自托管n8n(需装社区节点),并建议先指向测试目录,可移除写入工具变只读。

原文要点

来源是n8n官网工作流20267(免费模板)。流程为Chat Trigger聊天窗→GPT-4o工具调用代理(挂六个UnoPim工具:浏览商品、按SKU读取、PATCH更新、列属性、列族、按code查可配置商品)→15条窗口记忆→代理回复末尾带STATUS状态块→Code节点解析→Switch三分支:已变更则回读SKU确认并写Google Sheet、发Slack;无法解决开Linear工单;已回答直接返回。仅限自托管n8n,需社区节点n8n-nodes-unopim和UnoPim 3.0+。

这次做成什么

搭建一个团队可直接在聊天窗里查询并受控改写UnoPim商品目录的助手。独立练习方案:导入模板后先指向测试目录,用三句预设对话分别验证"查询→写入→无法解决"三条分支是否按预期走通,再考虑接生产库。

准备什么

  • 自托管n8n实例(n8n Cloud装不了社区节点,硬前提)
  • UnoPim 3.0或更新版本,已装n8n连接器包,且有一个测试目录
  • OpenAI API密钥且账号可调gpt-4o(调用费另计)
  • Google Sheets、Linear、Slack账号各一,用于变更日志、工单和通知
  • UnoPim里Configuration→Integrations→API Keys创建密钥的权限

具体怎么做

  1. 安装社区节点并导入模板

    在自托管n8n的Settings→Community nodes里安装n8n-nodes-unopim,然后从n8n.io/workflows/20267把模板导入画布。画布上的sticky note里有作者的视频讲解,可先扫一眼。

  2. 配UnoPim和OpenAI凭据

    在UnoPim后台Configuration→Integrations→API Keys新建密钥,同一行给出凭据需要的四个值。在n8n添加UnoPim API凭据时URL填应用根地址(如https://demo.unopim.com),不是admin地址。再添加OpenAI凭据并确认能调gpt-4o。先把凭据指向测试目录,因为它能摸到线上目录。

  3. 检查Settings节点与系统消息

    Settings节点集中放着locale、channel和只读开关。打开代理的系统消息逐条读一遍写入前确认、写前先查属性和族等安全规则——这是防止代理乱写的那道闸,分享聊天窗之前必须读过。如需只读模式,直接移除Update a product工具,changed分支就不会触发。

  4. 接三个分支的输出

    在changed分支选好Google Sheet和工作表(列见下方材料),选定Slack公告频道;在unresolved分支选好Linear团队。这三个是普通节点不是代理工具,换掉不影响代理行为。

  5. 用三句对话测三条分支

    在Chat Trigger聊天窗依次发:①"查一下SKU TEST-001的当前重量"(answered分支);②"把TEST-001的重量从0.5改成0.6千克"并确认(changed分支,应在Sheet看到confirmed行和Slack消息);③"把TEST-001的供应商评分改成5分"(如果属性不存在应走unresolved开Linear工单,而不是编一个值)。

可直接复制的材料

代理系统消息(本站改写示例,需替换占位符)

本站按模板说明独立重写的系统消息骨架,{{locale}}/{{channel}}从Settings节点注入;原模板系统消息以画布实际内容为准,导入后请逐字核对安全规则。

你是UnoPim商品目录助手。规则:
1. 读取语言环境【{{locale}}】、渠道【{{channel}}】的值。
2. 写入前必须先用List attributes和List families核实属性代码存在且属于该商品的族,禁止凭空发明属性代码。
3. 任何写入前先把当前值和拟改值报给用户,等用户明确确认后才调用Update a product(PATCH,只改指定字段)。
4. 可配置商品(有变体)用Look up a configurable product按code查,不要用SKU端点。
5. 回答不了的问题不要编值,如实说明缺什么。
6. 每次回复末尾固定输出状态块:
STATUS: answered|changed|unresolved
SKU: 
FIELD: 
OLD: 
NEW: 
REASON: 

测试目录商品CSV(导入测试UnoPim用)

本站虚构的合成测试数据,仅用于隔离的测试目录,不要导入生产库;family和属性代码需与你测试库里实际存在的对齐。

sku,family,name_zh,weight_kg,price_cny,enabled
TEST-001,accessories,测试保温杯,0.5,89.00,true
TEST-002,accessories,测试帆布袋,0.3,39.00,true
TEST-003,configurable-demo,测试T恤(可配置),0.2,59.00,true

变更日志表结构与状态块解析约定

本站按模板描述整理的落库与解析约定,具体字段名以导入后的实际节点配置为准。

Google Sheet表头(一行):timestamp | sku | field | old_value | new_value | reason | confirmed
confirmed取值:回读成功=true;回读查不到或值不符=false(即声称改了但没落库)。
Code节点解析约定:从代理回复末尾按行拆分STATUS/SKU/FIELD/OLD/NEW/REASON六个键;缺STATUS行视为answered,避免误走changed分支。
Linear工单字段映射:title="未解决:{SKU} {FIELD}",description=REASON+对话摘要,team=你在节点里选的团队。

输入与输出示例

本站虚构演示,非原作者运行结果;时间、文案均为示意。

输入

聊天窗发送:"把SKU TEST-001的重量从0.5改成0.6千克",代理回报当前值0.5kg后用户回复"确认修改"。

对应输出

代理回复末尾:
STATUS: changed
SKU: TEST-001
FIELD: weight_kg
OLD: 0.5
NEW: 0.6
REASON: 用户确认后更新
Switch走changed分支→回读TEST-001确认weight_kg=0.6→Sheet追加一行:2026-10-01T14:00:00 | TEST-001 | weight_kg | 0.5 | 0.6 | 用户确认后更新 | true→Slack公告"TEST-001 重量 0.5→0.6kg(已回读确认)"。

做完检查这些

  • 三句测试对话分别触发answered、changed、unresolved三条分支,无串线
  • changed后Sheet行confirmed=true,且回读值与新值一致;若confirmed=false说明写入没落库
  • Slack公告内容与Sheet行一致,Linear工单只在unresolved时出现
  • 写入前代理确实先调用了List attributes/List families核实属性,而不是直接PATCH
  • 聊天窗对无n8n背景的同事可用:只发自然语言即可完成查询

容易卡住的地方

  • n8n Cloud装不了社区节点,此模板只能自托管,云上部署会直接失败
  • UnoPim凭据URL必须是应用根地址而非admin后台地址,填错会连不上
  • 凭据能摸到线上目录,务必先指向测试目录;写入工具可整体移除变只读
  • Update a product只发PATCH不会整记录覆盖,但仍会在确认后真实改库,别把测试消息发进生产会话
  • OpenAI调用费另计,模板本身免费;记忆窗口默认15条,长会话超窗后上下文会丢
  • 可配置商品走code端点不是SKU端点,查变体商品时用错端点会查不到

原文与作者资料 ↗

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

原文标题
Query and edit UnoPim product catalogs with OpenAI GPT-4o and Slack
原作者
UnoPim
原始发布日期
2026-10-01T05:27:55.216Z
来源
https://n8n.io/workflows/20267