有个场景困扰了我很久:每天要从三个不同的系统里拉数据,整理成报告发到Slack,遇到异常数据还要单独通知。手动做每天要花40分钟,写脚本又觉得维护成本太高——万一哪个系统的API改了,又得去修;
后来发现了N8N,一个开源的工作流自动化平台。用可视化的方式把各种服务串成流程,配上AI节点做智能判断,那40分钟的活变成了全自动。今天把部署和几个实用工作流分享出来;
部署
Docker Compose是最干净的方式:
version: "3.8"
services:
n8n:
image: n8nio/n8n:latest
container_name: n8n
restart: unless-stopped
ports:
- "5678:5678"
environment:
- N8N_HOST=0.0.0.0
- N8N_PORT=5678
- GENERIC_TIMEZONE=Asia/Shanghai
- WEBHOOK_URL=http://your-domain:5678
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
启动后访问http://localhost:5678创建管理员账号,就能进入控制台了。
工作流一:AI邮件分类和回复
这个工作流解决的问题是:每天收几十封邮件,需要快速判断哪些紧急、哪些可以稍后处理、哪些直接是垃圾邮件;
流程设计:Email Trigger每15分钟检查新邮件→AI Agent分析邮件内容→根据分类结果路由到不同处理分支;
AI Agent节点的配置是关键。模型选Ollama的本地模型(或者OpenAI),提示词这样写:
分析以下邮件,返回JSON格式结果:
邮件主题:{{$json.subject}}
邮件发件人:{{$json.from}}
邮件正文:{{$json.text}}
返回格式:
{
"category": "urgent/normal/bill/spam",
"summary": "一句话摘要",
"reply_draft": "回复草稿,spam和bill类型留空"
}
IF节点根据category字段做路由。urgent走Slack通知(立即告知),normal和bill写入数据库(统一管理),spam标记已读(不打扰)。
工作流二:定时数据报告
每天早上8点自动跑数据、生成报告、发到团队频道;
Schedule Trigger设cron表达式0 8 * * *→PostgreSQL节点执行数据查询(SELECT昨天的聚合数据)→Code节点把数据格式化成文本→AI节点生成中文分析报告(包含数据解读和异常标注)→Slack/Telegram节点发送到指定频道。
AI节点的提示词里要明确报告格式:
根据以下数据生成一份日报,格式如下:
1. 核心指标概览(用表格展示)
2. 异常标注(偏离正常范围20%以上的指标)
3. 一句话总结
数据:
{{$json.data}}
工作流三:文档变更监控
监控Google Drive或本地目录的文件变化,自动更新知识库;
Google Drive Trigger监听文件夹→检测到变更后Download节点下载文件→HTTP Request节点调用向量数据库API做增量更新→发送完成通知;
这个工作流的核心价值是让RAG知识库保持最新状态,不用手动上传文档;
工作流四:客服工单自动分派
收到新的客服工单→AI分析问题类型和紧急程度→技术问题派给研发、产品问题派给产品、退款问题派给财务→每个部门只看到属于自己的工单。
和Dify的区别
经常有人问N8N和Dify怎么选。Dify专注AI应用开发,提示词编排和RAG管理是强项。N8N专注工作流自动化,强项在于串联各种外部服务。两者不冲突,甚至可以配合:N8N负责数据采集和流程编排,Dify负责AI推理。
写在最后
工作流自动化的价值不在于"多酷炫",而在于"每天省下多少时间"。从最浪费时间的重复性工作开始,用N8N把它自动化掉。一个工作流省20分钟,十个就是200分钟。这笔账很划算。