EP07. "实战工作流案例:非 AI 场景"
🔒 登录后可标记已读- EP04、EP05 讲的是 n8n 接 AI Agent 的玩法,但 n8n 本质上是通用自动化工具,跟 Zapier/Make 一样能做「不牵涉 AI」的日常自动化——这篇专门收纳这类场景
- 5 个真实场景:电商订单同步、CRM 名单管理、数据库/表格备份同步、网站监控告警、定时报表,难度从简单到稍微复杂排列
- 每个案例都是「用到的 Trigger / Node」+「操作步骤(简述)」+「适合谁」,不逐格截图,照着搭就能上手
- 想先学怎么从零搭一个工作流,看 EP01;想知道这些流程大概会消耗多少 Execution 额度,看 EP06《n8n 定价与自架成本详解》
重点内容
案例一:Shopify 电商订单自动同步到 Google Sheets/Airtable
- 用到的 Trigger / Node:Shopify(Trigger Node,监听 Orders Create)→ Edit Fields (Set) Node(整理订单编号、客户 Email、商品清单、金额这些字段)→ Google Sheets Node(Append Row)→ Slack Node(发消息到团队频道)
- 操作步骤(简述):
- Trigger 选 Shopify 的 Orders Create 事件,新订单一进来就启动工作流
- 用 Edit Fields (Set) Node 把 Shopify 传来的 JSON 拆解成好读的字段(订单号、客户名、Email、商品、总金额),方便后面直接映射进表格
- Google Sheets Node 选 Append Row,把整理好的字段写进一张"订单总表",自动多一行
- 再加一个 Slack Node,把订单摘要发到团队频道,让客服/仓库第一时间知道有新订单
- 适合谁:用 Shopify 开店、想要一份随时能查看、排序、筛选的订单总表,又不想手动一笔笔从 Shopify 后台抄进 Excel 的小型网店
案例二:表单提交自动建 CRM 联系人 + 通知业务
- 用到的 Trigger / Node:Webhook Trigger(接表单工具如 Typeform/Google Forms 的提交事件)→ IF Node(判断必填字段是否齐全,过滤掉测试/无效提交)→ HTTP Request Node(呼叫 CRM 的 Create Contact API,比如 HubSpot)→ Slack Node(通知业务团队有新名单)
- 操作步骤(简述):
- Trigger 用 Webhook 接表单工具送来的提交数据(大部分表单工具都能设置提交后打一个 Webhook URL)
- 加 IF Node 检查姓名、Email 这类必填字段有没有值,没填齐的直接跳过,不建假联系人
- HTTP Request Node 呼叫 CRM 的 API,把表单栏位映射进联系人字段(姓名、Email、电话、来源标记成"网站表单")
- 建好联系人后,Slack Node 把新联系人名字和联系方式发到业务频道
- 适合谁:靠 Landing Page 表单收名单的中小企业、做咨询/服务型业务的自由工作者,省掉手动把表单数据抄进 CRM 的步骤;如果 CRM 有现成的 n8n 专属 Node(不是所有 CRM 都有),可以直接用专属 Node 代替 HTTP Request Node,设置更简单
案例三:数据库与 Google Sheets 定时双向备份同步
- 用到的 Trigger / Node:Schedule Trigger(比如每天凌晨 2 点跑一次)→ Postgres Node(Select,抓资料库最新数据)→ Google Sheets Node(先 Get Rows 抓表格现有数据,再跟资料库数据比对)→ IF Node(判断是新增还是更新)→ Google Sheets Node(Append/Update Row)
- 操作步骤(简述):
- Schedule Trigger 设定固定时间跑(比如每天凌晨,避开业务高峰)
- Postgres Node 抓资料库里指定表的最新数据(比如客户名单表)
- Google Sheets Node 先抓表格现有数据,跟资料库数据用订单号/客户 ID 这类唯一值比对,找出哪些是新增的、哪些是要更新的
- IF Node 分流:新记录走 Append Row,已存在但有变动的记录走 Update Row,两边数据才不会一直重复堆叠
- 适合谁:内部系统数据存在资料库、但业务/行政同事习惯看 Google Sheets 做报表的团队,让两边数据自动保持一致,不用请工程师每次手动导出 CSV 再贴进表格;这个案例也能反过来用(Sheets 是主数据源,同步进资料库),逻辑一样,只是把 Postgres Node 换成读/写方向对调
案例四:网站可用性监控 + Slack 告警
- 用到的 Trigger / Node:Schedule Trigger(每 5-10 分钟跑一次)→ HTTP Request Node(对网站 URL 发请求,检查回应状态码)→ IF Node(判断状态码是否正常)→ Slack Node(异常才发告警消息)
- 操作步骤(简述):
- Schedule Trigger 设定固定间隔检查(间隔太短会消耗更多 Execution 额度,太长发现问题会有延迟,一般抓 5-10 分钟)
- HTTP Request Node 对要监控的网站/API 发一个请求,记录回应状态码和响应时间
- IF Node 判断状态码是不是 200(正常),或响应时间是不是超过设定的阈值
- 只有异常(网站打不开、响应过慢)才走 Slack Node 发告警,正常的话工作流直接结束,不会每次检查都发消息刷屏
- 适合谁:自己维护网站/API 服务、没有预算买专业监控工具(如 UptimeRobot 付费版)的小团队,用 n8n 免费搭一个轻量版网站监控告警
flowchart TD
A[Schedule Trigger 每5-10分钟] --> B[HTTP Request 检查网站]
B --> C{状态码正常?}
C -->|是| D[结束,不发消息]
C -->|否,异常| E[Slack 发告警到团队频道]
案例五:每周定时业务报表汇总
- 用到的 Trigger / Node:Schedule Trigger(比如每周一早上 9 点)→ Google Sheets Node(抓销售/客户数据)→ Aggregate Node(按周汇总数字,比如本周订单总数、总营收)→ Edit Fields (Set) Node(组好报表文字)→ Slack Node(发到管理层频道)
- 操作步骤(简述):
- Schedule Trigger 设成每周固定时间跑(比如周一上班前)
- Google Sheets Node 抓过去一周的订单/销售记录
- Aggregate Node 把数据汇总成关键数字(本周订单数、总营收、新客户数)
- Edit Fields (Set) Node 用 Expression 把这些数字组成一段好读的报表文字,比如
本周订单:{{$json["orderCount"]}} 单,营收:RM{{$json["revenue"]}} - Slack Node 把组好的报表文字发到管理层频道,不用人工每周手动整理
- 适合谁:老板/主管想每周固定看到关键数字、但没人手每周手动拉报表的小团队;这个案例也能换成发邮件(用 Send Email Node 代替 Slack Node),或者把汇总结果写进一张"历史报表"Sheet,方便之后拉长期趋势
常见问题
- ❌ 一开始就想把案例三、案例五这种带资料比对/汇总逻辑的流程一次搭好——建议先照案例一、二练熟 Trigger + Action 的基本操作,再加 IF 判断和数据比对逻辑,比较好排查问题
- ❌ 网站监控案例把检查间隔设太短(比如每分钟)——Schedule Trigger 跑一次就消耗一次 Execution 额度,间隔设太密集,Cloud 版免费/低阶方案的月执行次数很快就用完,自架版则是白白浪费服务器资源,5-10 分钟对大多数场景已经足够
- 💡 案例三、案例五都用到「先抓数据 → 判断/汇总 → 再写回」这个组合,这个模式很通用,套到「查库存分流」「按客户等级算折扣」这类场景逻辑都一样
- 📌 这几个案例用到的服务(Shopify、Google Sheets、Postgres、Slack、CRM)如果没有 n8n 专属 Node,都能用 HTTP Request Node 接 REST API 做到,具体怎么用 Expression 组请求参数见 EP02《Nodes 与数据处理》
Sources
Blog / Website:
- Sync Shopify customer order data to Airtable with auto-updates — n8n workflow template
- Automated lead capture, scoring & CRM integration with HubSpot, Clearbit & Slack — n8n workflow template
- Synchronize your Google Sheets with Postgres — n8n workflow template
- Scheduled website uptime monitor with Slack alert — n8n workflow template