当 "Make" 遇到 "n8n":老司机也要懂的换挡逻辑
嘿,我是 N8N大学 的主编。最近笔者在社区里潜水,发现不少从 Integromat (现在叫 Make) 转投 n8n 怀抱的兄弟姐妹们,虽然嘴上说着 "真香",但身体却很诚实地卡在了概念转换的死胡同里。

说实话,这感觉就像开惯了自动挡的老司机,突然给你一台手动挡的性能车。油门还在,刹车也没变,但那个离合器的半联动点,你得重新找。
Make 是个好工具,n8n 也是。但如果你试图把 Make 的 "场景 (Scenarios)" 逻辑原封不动地搬到 n8n 的 "工作流 (Workflow)" 里,那你大概率会撞得头破血流。今天,这篇指南就是来帮你完成这次 "换挡" 的。
第一脚油门:从 "场景" 到 "工作流" 的思维转换
在 Make 里,你习惯叫 "Scenario"。到了 n8n,它叫 "Workflow"。名字变了,但核心都是 "触发器 -> 动作"。
最核心的差异在于 数据流向。Make 的路线图 (Route) 概念非常直观,像电路板一样铺开。而 n8n 更像是一条管道,数据像水流一样流过每一个节点。
在 Make 里,你可能会习惯使用 "Iterator" 或 "Array Aggregator" 来处理批量数据。而在 n8n 里,这个概念被隐藏在了节点的 模式 (Mode) 里。当你看到节点上有 "Run Once" 和 "For Each" 的选项时,请记住,这就是 n8n 版的迭代器。
核心概念对对碰:Make vs n8n
为了让你更直观地理解两者的差异,笔者整理了一个硬核对比表。别眨眼,重点都在这里:
| 功能点 | Make (Integromat) | n8n | 重构建议 |
|---|---|---|---|
| 基本单元 | Scenario (场景) | Workflow (工作流) | 直接对应,无需多虑 |
| 数据操作 | Tools > Set Variable / Aggregator | Set / Aggregate 节点 | n8n 的 Set 节点非常强大,不仅能设变量,还能做数据清洗 |
| 路由分支 | Router 模块 | IF 或 Switch 节点 | n8n 需要手动连线,灵活性更高,但连线可能变乱 |
| 错误处理 | 红色线路 / Error Handler | Error Trigger / 节点内的 "On Error" | 建议全局加一个 Error Trigger,防止漏网之鱼 |
| 数据存储 | Data Store | n8n Data Store 或直接用 Redis | 如果只是暂存,用 Set 节点即可,没必要硬搬 Data Store |
重构实战:如何把 Make 的逻辑平移到 n8n
光说不练假把式。假设你在 Make 里有一个经典的场景:Webhook 接收数据 -> 筛选类型 -> 发送邮件。我们来看看在 n8n 里怎么 "重构" 它。
1. 触发器的替换
Make 里用的是 Webhook 模块。在 n8n 里,老版本叫 Webhook 节点,新版本 (v1.0+) 推荐直接在工作流设置里开启 Production Execution,然后复制那个 URL。别纠结,直接用那个 URL,它就是你的新入口。
2. 逻辑判断的重构
Make 的路由 (Router) 其实就是 n8n 的 IF 节点。如果你在 Make 里设置了 "如果 Type = A 则走左边",在 n8n 里,你需要从 Webhook 节点拉出一条线,连到 IF 节点,设置条件:json.type == "A"。
这里有个坑:n8n 的 IF 节点默认是 "All" (AND) 逻辑。如果你要 "或" (OR) 逻辑,记得在节点设置里切换。
3. 数据聚合的重构
这是最容易让人崩溃的地方。Make 的 Aggregator 是个独立模块。在 n8n,如果你要对一组数据进行循环处理并合并结果,你需要用到 Aggregate 节点,或者在 Set 节点里配合 JavaScript 语法进行处理。
笔者的建议是:除非你非常熟练,否则尽量保持流水线简单。n8n 的 Function 节点可以解决 90% 的复杂数据转换,写两行 JS 代码,比拖拽十个节点更清爽。
避坑指南:那些 Make 老用户容易摔的跟头
1. 时区问题 (Timezone):
Make 默认 UTC。n8n 也默认 UTC。但如果你的 n8n 是 Docker 部署的,且没挂载时区映射,那么你的 Schedule Trigger 可能会比你预期的早 8 小时。记得在 Docker run 命令里加上 -e TZ=Asia/Shanghai。
2. 数据格式化:
Make 对 JSON 的容错率很高,n8n 有时会比较较真。如果你在 n8n 的节点里看到 undefined 或者报错,先检查一下上游节点的输出是不是标准的 JSON 格式。用 JSON 节点可以强制转换。
3. 无限循环:
在 n8n 里,如果你的 Webhook 触发了自己,或者两个工作流互发消息,很容易造成死循环。n8n 没有像 Make 那样的 "Infinite Loop" 自动检测,全靠你自己把控。记得加判断条件。
FAQ:从 Make 到 n8n 的常见疑问
Q1: 我是 n8n 新手,直接从 Make 迁移过来会不会太难?
A: 不会。虽然底层逻辑有差异,但 n8n 的可视化编辑器比 Make 更直观。只要你理解了 "数据流" 这一个核心点,上手速度会非常快。
Q2: n8n 的免费版和 Make 的免费版有什么区别?
A: Make 的免费版限制了执行次数和活跃时间。n8n 的 Community Edition (CE) 是**完全免费且无执行次数限制**的,唯一的限制是你需要自己部署在服务器上,或者本地电脑保持开机。
Q3: Make 的 "Operations" 概念在 n8n 里怎么计算?
A: n8n 不按 Operations 收费。通常,一个节点的成功执行算一次 "执行"。n8n 的计费逻辑更偏向于 "工作流执行次数" 和 "节点数" (在云版中),但在社区版中,你不需要关心这个。
总结与资源
从 Make 迁移到 n8n,本质上是一次从 "SaaS 订阅思维" 到 "开源掌控思维" 的升级。你牺牲了一点点上手的便捷性,换来的是无限的扩展性和数据隐私。
不要试图 1:1 复刻你的 Make 场景。试着用 n8n 的方式去思考,去利用它的 Function 节点和 HTTP Request 节点的灵活性。
如果你在迁移过程中遇到具体的报错,欢迎在 N8N大学 社区发帖。记住,每一个报错的红框,都是你通往自动化大师的阶梯。