26c - 工作流蓝图集
本文是《AI Agent 实战手册》第 26 章第 3 节。 上一节:26b-n8n-AI-Agent节点配置 | 下一节:26d-错误处理模式
概述
本节提供 5 个经过生产验证的 n8n AI 工作流蓝图,覆盖内容管线、线索评分、员工入职、跨平台数据同步和 AI 报告生成等高频场景。每个蓝图包含完整的节点拓扑图、逐步搭建说明、关键配置参数和提示词模板,可直接导入 n8n 或作为起点进行定制。
1. 蓝图总览与工具对比
五大蓝图速查表
| 蓝图 | 核心场景 | 关键节点 | 触发方式 | 预估搭建时间 |
|---|---|---|---|---|
| AI 内容管线 | RSS → 摘要 → 翻译 → 发布 | RSS Feed、LLM Chain、HTTP Request | Schedule Trigger(定时) | 30-45 分钟 |
| AI 线索评分 | 表单/CRM → LLM 评分 → 分级路由 | Webhook、AI Agent、Switch | Webhook / CRM 触发 | 45-60 分钟 |
| AI 辅助入职 | HR 表单 → 账号创建 → 欢迎邮件 | Form Trigger、Code、Gmail | Form Trigger | 60-90 分钟 |
| 数据同步 + AI 增强 | 多平台数据 → 清洗 → 增强 → 回写 | Schedule、HTTP Request、LLM Chain | Schedule / Webhook | 45-60 分钟 |
| AI 报告生成 | 数据采集 → 分析 → 报告 → 分发 | Schedule、Postgres/HTTP、LLM Chain | Schedule Trigger(周期) | 60-90 分钟 |
相关工具与服务
| 工具/服务 | 用途 | 价格 | 备注 |
|---|---|---|---|
| n8n Cloud | 工作流托管 | €24/月起(Starter) | 含 2,500 次执行/月 |
| n8n Self-hosted | 自托管工作流 | 免费(社区版) | 需自备服务器 |
| OpenAI API | LLM 推理 | $2.00/$8.00 每百万 token(GPT-4.1) | 工具调用稳定 |
| Anthropic API | LLM 推理 | $3.00/$15.00 每百万 token(Claude Sonnet) | 复杂推理优势 |
| Google Gemini API | LLM 推理 | $1.25/$10.00 每百万 token(2.5 Pro) | 长上下文优势 |
| DeepSeek API | LLM 推理 | $0.27/$1.10 每百万 token(V3) | 高性价比 |
| Supabase | 数据库 + 向量存储 | 免费层可用,Pro $25/月 | PostgreSQL 兼容 |
| Google Sheets | 轻量数据存储 | 免费(Google 账号) | 适合原型和小规模 |
💡 价格信息截止日期:2025 年 7 月。请以各服务官方最新定价为准。
2. 蓝图一:AI 内容管线(RSS → 摘要 → 翻译 → 发布)
场景说明
自动从多个 RSS 源抓取最新文章,用 LLM 生成中文摘要,可选翻译为其他语言,最终发布到 Slack/Telegram/Notion 等渠道。适用于技术团队的每日资讯速递、内容运营的素材采集、竞品动态监控等场景。
节点拓扑
[Schedule Trigger] → [RSS Feed Read ×N] → [Merge] → [Filter: 去重/时间过滤]
→ [Loop Over Items] → [LLM Chain: 摘要生成]
→ [LLM Chain: 翻译(可选)] → [Switch: 发布渠道]
├→ [Slack: 发送摘要]
├→ [Telegram: 发送消息]
└→ [Notion: 创建页面]
→ [Google Sheets: 归档记录]操作步骤
步骤 1:创建定时触发器
- 新建工作流,添加 Schedule Trigger 节点
- 设置触发频率:
- 每日资讯:
每天 08:00 - 实时监控:
每 2 小时
- 每日资讯:
- 时区设置为
Asia/Shanghai
步骤 2:配置 RSS 源读取
- 添加多个 RSS Feed Read 节点,每个对应一个信息源
- 填入 RSS URL,例如:
https://hnrss.org/newest?points=100(Hacker News 热门)https://blog.langchain.dev/rss/(LangChain 博客)https://openai.com/blog/rss.xml(OpenAI 博客)
- 添加 Merge 节点,模式选择
Append,合并所有源的文章
步骤 3:去重与时间过滤
添加 Filter 节点或 Code 节点进行过滤:
// Code 节点:过滤最近 24 小时的文章并去重
const cutoff = new Date(Date.now() - 24 * 60 * 60 * 1000);
const seen = new Set();
const results = [];
for (const item of $input.all()) {
const pubDate = new Date(item.json.pubDate || item.json.isoDate);
const link = item.json.link;
if (pubDate >= cutoff && !seen.has(link)) {
seen.add(link);
results.push(item);
}
}
return results;步骤 4:LLM 摘要生成
- 添加 Loop Over Items 节点(逐条处理)
- 在循环内添加 Basic LLM Chain 节点
- 连接 Chat Model 子节点(推荐 GPT-4o-mini 或 DeepSeek-V3,成本低)
- 配置 Prompt:
提示词模板:内容摘要
你是一位专业的技术内容编辑。请将以下英文文章摘要为中文,要求:
1. 标题:翻译为中文,保留关键技术术语的英文原文
2. 核心要点:3-5 个要点,每个 1-2 句话
3. 一句话总结:不超过 50 字
4. 相关标签:2-4 个标签
文章标题:{{ $json.title }}
文章链接:{{ $json.link }}
文章内容:{{ $json.contentSnippet || $json.content || '无内容,请基于标题生成摘要' }}
请用以下 JSON 格式输出:
{
"title_cn": "中文标题",
"key_points": ["要点1", "要点2", "要点3"],
"summary": "一句话总结",
"tags": ["标签1", "标签2"],
"original_link": "原文链接"
}步骤 5:可选翻译步骤
如需多语言发布,添加第二个 Basic LLM Chain 节点:
将以下中文摘要翻译为 [目标语言],保持技术术语准确:
{{ $json.summary }}步骤 6:多渠道发布
添加 Switch 节点按渠道分发,或并行发送到多个渠道:
Slack 发布:使用 Slack 节点,消息格式:
📰 *{{ $json.title_cn }}*
{{ $json.key_points.join('\n• ') }}
💡 {{ $json.summary }}
🔗 {{ $json.original_link }}
🏷️ {{ $json.tags.join(' | ') }}Notion 归档:使用 Notion 节点创建数据库条目,字段映射:
- Title →
title_cn - Tags →
tags(多选属性) - URL →
original_link - Summary →
summary
步骤 7:归档到 Google Sheets
添加 Google Sheets 节点,将每条处理记录写入表格,便于追踪和去重:
- 列:日期、原标题、中文标题、摘要、链接、标签、发布渠道
关键配置参数
| 参数 | 推荐值 | 说明 |
|---|---|---|
| LLM Temperature | 0.3 | 摘要需要准确性,低温度 |
| Max Tokens | 1024 | 摘要不需要太长 |
| 批处理大小 | 10-20 篇/次 | 避免 API 速率限制 |
| 定时间隔 | 每日或每 4 小时 | 根据信息时效性需求 |
| 错误处理 | Continue On Fail | 单篇失败不影响整体 |
n8n JSON 片段:核心摘要节点
{
"nodes": [
{
"parameters": {
"url": "https://hnrss.org/newest?points=100",
"options": {}
},
"name": "RSS Feed Read",
"type": "n8n-nodes-base.rssFeedRead",
"position": [250, 300]
},
{
"parameters": {
"promptType": "define",
"text": "=你是一位专业的技术内容编辑。请将以下英文文章摘要为中文...\n\n文章标题:{{ $json.title }}\n文章链接:{{ $json.link }}\n文章内容:{{ $json.contentSnippet }}"
},
"name": "AI Summarizer",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [650, 300]
}
]
}3. 蓝图二:AI 线索评分(Lead Scoring)
场景说明
当新线索通过表单、CRM 或 Webhook 进入系统时,自动用 LLM 分析线索质量,生成 0-100 分的评分和 A-F 等级,并根据分级路由到不同处理流程:高分线索立即通知销售、中分线索进入培育序列、低分线索归档。适用于 B2B SaaS、数字营销、咨询服务等需要线索筛选的业务。
节点拓扑
[Webhook / Form Trigger / CRM Trigger]
→ [HTTP Request: 数据增强(可选)]
→ [AI Agent: 线索评分与分析]
→ [Code: 解析评分结果]
→ [Switch: 按等级路由]
├→ HOT (A-B, 80-100) → [Slack 通知] + [CRM 更新: 高优先级]
├→ WARM (C, 50-79) → [Email 序列: 培育] + [CRM 更新: 跟进]
└→ COLD (D-F, 0-49) → [Google Sheets: 归档] + [CRM 更新: 低优先级]
→ [Google Sheets: 全量日志]操作步骤
步骤 1:配置触发器
方式 A:Webhook 触发(推荐,灵活性最高)
- 添加 Webhook 节点
- HTTP Method 选择
POST - 路径设置为
/lead-scoring - 将 Webhook URL 配置到你的表单服务(JotForm、Typeform、自建表单)
方式 B:CRM 触发
- 添加 Salesforce Trigger 或 HubSpot Trigger 节点
- 监听”新建联系人”或”新建线索”事件
步骤 2:数据增强(可选)
添加 HTTP Request 节点调用数据增强 API,补充线索信息:
URL: https://api.apollo.io/v1/people/match
Method: POST
Body:
{
"email": "{{ $json.email }}",
"reveal_personal_emails": false
}可增强的数据维度:公司规模、行业、职位级别、融资阶段、技术栈等。
步骤 3:配置 AI Agent 评分
- 添加 AI Agent 节点
- 连接 Chat Model(推荐 GPT-4o 或 Claude Sonnet,评分需要较强推理能力)
- 添加工具(可选):
- HTTP Request Tool:查询 CRM 历史交互记录
- Code Tool:执行自定义评分逻辑
- 配置 System Prompt:
提示词模板:线索评分
你是一位经验丰富的 B2B 销售分析师。请根据以下线索信息进行评分和分析。
## 评分维度(总分 100)
- 公司匹配度(0-30 分):公司规模、行业、地区是否匹配 ICP
- 角色匹配度(0-25 分):职位是否为决策者或影响者
- 行为信号(0-25 分):访问页面、下载资料、参加活动等
- 预算信号(0-20 分):公司融资阶段、营收规模、明确预算表达
## 我们的 ICP(理想客户画像)
- 行业:[SaaS/电商/金融科技]
- 公司规模:[50-500 人]
- 地区:[中国大陆/东南亚]
- 目标角色:[CTO/VP Engineering/技术总监]
## 线索信息
姓名:{{ $json.name }}
邮箱:{{ $json.email }}
公司:{{ $json.company }}
职位:{{ $json.title }}
公司规模:{{ $json.company_size || '未知' }}
行业:{{ $json.industry || '未知' }}
来源:{{ $json.source || '未知' }}
备注:{{ $json.message || '无' }}
## 输出格式(严格 JSON)
{
"score": 85,
"grade": "A",
"tier": "HOT",
"reasoning": "评分理由,2-3 句话",
"dimensions": {
"company_fit": 25,
"role_fit": 22,
"behavior_signal": 20,
"budget_signal": 18
},
"recommended_action": "建议的下一步行动",
"personalized_message": "个性化跟进邮件草稿(3-5 句话)"
}步骤 4:解析评分结果
添加 Code 节点解析 LLM 输出:
// 解析 AI Agent 的评分结果
const response = $json.output || $json.text || '';
let parsed;
try {
// 尝试从响应中提取 JSON
const jsonMatch = response.match(/\{[\s\S]*\}/);
parsed = JSON.parse(jsonMatch[0]);
} catch (e) {
// 解析失败时的降级处理
parsed = {
score: 50,
grade: 'C',
tier: 'WARM',
reasoning: '自动评分解析失败,默认中等优先级',
recommended_action: '人工审查'
};
}
// 确保 tier 分类正确
if (parsed.score >= 80) parsed.tier = 'HOT';
else if (parsed.score >= 50) parsed.tier = 'WARM';
else parsed.tier = 'COLD';
return [{ json: { ...parsed, lead_email: $('Webhook').item.json.email } }];步骤 5:分级路由
添加 Switch 节点,按 tier 字段路由:
| 条件 | 路由 | 处理 |
|---|---|---|
tier = “HOT” | 输出 1 | Slack 即时通知 + CRM 标记高优先级 |
tier = “WARM” | 输出 2 | 自动发送培育邮件 + CRM 标记跟进 |
tier = “COLD” | 输出 3 | 归档到 Google Sheets + CRM 标记低优先级 |
HOT 线索 Slack 通知模板:
🔥 *高质量线索!评分 {{ $json.score }}/100 ({{ $json.grade }})*
👤 {{ $('Webhook').item.json.name }} — {{ $('Webhook').item.json.title }}
🏢 {{ $('Webhook').item.json.company }}
📧 {{ $('Webhook').item.json.email }}
📊 *评分详情*
• 公司匹配:{{ $json.dimensions.company_fit }}/30
• 角色匹配:{{ $json.dimensions.role_fit }}/25
• 行为信号:{{ $json.dimensions.behavior_signal }}/25
• 预算信号:{{ $json.dimensions.budget_signal }}/20
💡 *建议行动*:{{ $json.recommended_action }}
✉️ *建议跟进话术*:
{{ $json.personalized_message }}关键配置参数
| 参数 | 推荐值 | 说明 |
|---|---|---|
| LLM 模型 | GPT-4o / Claude Sonnet | 评分需要较强推理能力 |
| Temperature | 0.2 | 评分需要高一致性 |
| Max Tokens | 1024 | 评分结果不需要太长 |
| 数据增强 | 可选 | Apollo/Clearbit API 增强线索信息 |
| 人工审查门槛 | 评分 70-85 | 边界线索建议人工复核 |
4. 蓝图三:AI 辅助员工入职(Onboarding Automation)
场景说明
HR 提交新员工信息后,自动完成账号创建、权限分配、入职文档生成、欢迎邮件发送、Slack 频道邀请、入职任务清单创建等一系列操作。LLM 负责生成个性化的欢迎消息、入职指南和培训计划。适用于快速增长的团队,将入职流程从数小时缩短到几分钟。
节点拓扑
[Form Trigger: HR 填写新员工信息]
→ [Code: 数据标准化]
→ [并行分支]
├→ [Google Workspace: 创建账号]
├→ [Jira/Linear: 创建入职任务]
├→ [Slack: 邀请加入频道 + 发送欢迎消息]
└→ [LLM Chain: 生成个性化入职指南]
→ [Merge: 汇总结果]
→ [LLM Chain: 生成欢迎邮件]
→ [Gmail: 发送欢迎邮件]
→ [Notion: 创建员工档案页]
→ [Google Sheets: 记录入职日志]操作步骤
步骤 1:创建 HR 输入表单
- 添加 n8n Form Trigger 节点
- 配置表单字段:
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| employee_name | Text | ✅ | 员工姓名 |
| ✅ | 个人邮箱 | ||
| department | Dropdown | ✅ | 部门(工程/产品/设计/运营/销售) |
| role | Text | ✅ | 职位名称 |
| start_date | Date | ✅ | 入职日期 |
| manager_name | Text | ✅ | 直属上级 |
| manager_email | ✅ | 上级邮箱 | |
| equipment_needs | Text | ⬜ | 设备需求 |
步骤 2:数据标准化
添加 Code 节点处理表单数据:
const data = $json;
const startDate = new Date(data.start_date);
const username = data.email.split('@')[0];
// 根据部门确定 Slack 频道和权限组
const deptConfig = {
'工程': {
slack_channels: ['#engineering', '#dev-general', '#code-review'],
jira_project: 'ENG',
tools: ['GitHub', 'AWS Console', 'Datadog']
},
'产品': {
slack_channels: ['#product', '#roadmap', '#user-research'],
jira_project: 'PROD',
tools: ['Figma (查看)', 'Amplitude', 'Notion']
},
'设计': {
slack_channels: ['#design', '#design-system', '#product'],
jira_project: 'DES',
tools: ['Figma', 'Framer', 'Notion']
},
'运营': {
slack_channels: ['#operations', '#metrics', '#support'],
jira_project: 'OPS',
tools: ['Google Analytics', 'Intercom', 'Notion']
},
'销售': {
slack_channels: ['#sales', '#deals', '#customer-success'],
jira_project: 'SALES',
tools: ['HubSpot', 'Gong', 'Notion']
}
};
const config = deptConfig[data.department] || deptConfig['运营'];
return [{
json: {
...data,
username,
corporate_email: `${username}@yourcompany.com`,
slack_channels: config.slack_channels,
jira_project: config.jira_project,
required_tools: config.tools,
start_date_formatted: startDate.toLocaleDateString('zh-CN'),
first_week_end: new Date(startDate.getTime() + 5 * 24 * 60 * 60 * 1000)
.toLocaleDateString('zh-CN')
}
}];步骤 3:并行执行账号创建和任务分配
使用 n8n 的并行分支(从同一节点引出多条连线)同时执行:
分支 A:创建 Google Workspace 账号
- 使用 Google Admin 节点或 HTTP Request 调用 Google Admin SDK
- 创建企业邮箱账号
- 设置初始密码并标记”首次登录需修改”
分支 B:创建入职任务清单
- 使用 Jira 或 Linear 节点
- 创建 Epic:“[员工姓名] 入职任务”
- 子任务包括:完成 IT 设置、阅读团队文档、参加入职培训、完成合规培训、与团队成员 1:1
分支 C:Slack 邀请
- 使用 Slack 节点邀请加入相关频道
- 在 #general 频道发送欢迎公告
分支 D:AI 生成个性化入职指南
提示词模板:入职指南生成
你是一位友好的 HR 助手。请为新员工生成一份个性化的入职指南。
## 新员工信息
- 姓名:{{ $json.employee_name }}
- 部门:{{ $json.department }}
- 职位:{{ $json.role }}
- 入职日期:{{ $json.start_date_formatted }}
- 直属上级:{{ $json.manager_name }}
- 需要使用的工具:{{ $json.required_tools.join('、') }}
## 要求
1. 第一天清单(5-7 项,包括 IT 设置、团队介绍、环境熟悉)
2. 第一周目标(3-5 项,包括阅读文档、参加会议、完成培训)
3. 第一个月里程碑(2-3 项,包括独立完成小任务、理解业务流程)
4. 推荐阅读的内部文档列表(基于部门)
5. 常见问题 FAQ(3-5 个新员工常问的问题和回答)
语气要友好、鼓励,让新员工感到被欢迎。步骤 4:汇总并生成欢迎邮件
- 添加 Merge 节点(Wait for All),等待所有并行分支完成
- 添加 Basic LLM Chain 节点生成欢迎邮件:
请基于以下信息生成一封专业且温暖的欢迎邮件(HTML 格式):
收件人:{{ $json.employee_name }}({{ $json.email }})
企业邮箱:{{ $json.corporate_email }}
部门:{{ $json.department }}
直属上级:{{ $json.manager_name }}
入职日期:{{ $json.start_date_formatted }}
Slack 频道:{{ $json.slack_channels.join('、') }}
入职指南摘要:
{{ $json.onboarding_guide }}
邮件需包含:
1. 热情的欢迎语
2. 企业邮箱和初始密码信息
3. 第一天需要做的 3 件事
4. 直属上级和 HR 联系方式
5. 相关 Slack 频道列表
输出纯 HTML,使用简洁专业的样式。- 添加 Gmail 节点发送邮件
步骤 5:创建 Notion 员工档案
使用 Notion 节点在员工数据库中创建新页面:
- 属性映射:姓名、部门、职位、入职日期、上级、状态(“入职中”)
- 页面内容:入职指南全文
关键配置参数
| 参数 | 推荐值 | 说明 |
|---|---|---|
| LLM 模型 | GPT-4o-mini / DeepSeek-V3 | 文本生成任务,性价比优先 |
| Temperature | 0.6 | 欢迎邮件需要一定创意 |
| 并行分支超时 | 30 秒 | 防止单个 API 阻塞整体 |
| 错误处理 | Continue On Fail | 单个步骤失败不阻塞入职流程 |
5. 蓝图四:跨平台数据同步 + AI 增强
场景说明
定期从多个数据源(CRM、电商平台、客服系统)拉取数据,用 LLM 进行数据清洗、字段标准化、缺失信息推断和标签分类,然后将增强后的数据回写到主数据库或数据仓库。适用于多系统并行的企业,解决数据孤岛和数据质量问题。
节点拓扑
[Schedule Trigger: 每日/每小时]
→ [并行数据拉取]
├→ [HTTP Request: CRM API(HubSpot/Salesforce)]
├→ [HTTP Request: 电商平台 API(Shopify)]
└→ [Postgres: 客服工单数据]
→ [Merge: 合并数据流]
→ [Code: 数据标准化 + 去重]
→ [Loop Over Items]
→ [LLM Chain: AI 数据增强]
→ [Code: 数据验证]
→ [Switch: 路由]
├→ 有效数据 → [Postgres/Supabase: 写入主库]
└→ 异常数据 → [Google Sheets: 人工审查队列]
→ [Slack: 同步报告通知]操作步骤
步骤 1:配置多源数据拉取
CRM 数据(HubSpot 示例):
- 添加 HTTP Request 节点
- URL:
https://api.hubapi.com/crm/v3/objects/contacts - 认证:Bearer Token(HubSpot API Key)
- 查询参数:
limit=100&properties=email,firstname,lastname,company,jobtitle,industry - 添加分页逻辑(使用 Loop 节点处理
paging.next.after)
电商数据(Shopify 示例):
- 添加 HTTP Request 节点
- URL:
https://{{ $credentials.shopifyDomain }}/admin/api/2025-01/customers.json - 认证:Shopify Admin API Token
- 过滤:
updated_at_min={{ $now.minus(1, 'day').toISO() }}
客服数据(Postgres 直连):
- 添加 Postgres 节点
- 查询:
SELECT customer_email, ticket_count, avg_satisfaction,
last_ticket_date, common_issues
FROM customer_support_summary
WHERE updated_at >= NOW() - INTERVAL '1 day'步骤 2:数据标准化与去重
添加 Code 节点统一数据格式:
const allRecords = $input.all().map(item => item.json);
// 统一字段名
const normalized = allRecords.map(record => ({
email: (record.email || record.customer_email || '').toLowerCase().trim(),
name: record.firstname
? `${record.firstname} ${record.lastname}`
: record.name || '',
company: record.company || record.company_name || '',
title: record.jobtitle || record.job_title || '',
industry: record.industry || '',
source: record._source || 'unknown',
ticket_count: record.ticket_count || 0,
satisfaction: record.avg_satisfaction || null,
order_count: record.orders_count || 0,
total_spent: record.total_spent || 0
}));
// 按 email 去重,合并多源数据
const merged = {};
for (const record of normalized) {
if (!record.email) continue;
if (!merged[record.email]) {
merged[record.email] = { ...record, sources: [record.source] };
} else {
// 合并非空字段
const existing = merged[record.email];
for (const [key, value] of Object.entries(record)) {
if (value && !existing[key]) existing[key] = value;
}
existing.sources.push(record.source);
}
}
return Object.values(merged).map(r => ({ json: r }));步骤 3:AI 数据增强
在 Loop Over Items 内添加 Basic LLM Chain 节点:
提示词模板:数据增强
你是一位数据分析专家。请根据以下客户记录,推断和补充缺失信息。
## 客户记录
- 邮箱:{{ $json.email }}
- 姓名:{{ $json.name }}
- 公司:{{ $json.company }}
- 职位:{{ $json.title }}
- 行业:{{ $json.industry }}
- 工单数:{{ $json.ticket_count }}
- 满意度:{{ $json.satisfaction || '未知' }}
- 订单数:{{ $json.order_count }}
- 消费总额:{{ $json.total_spent }}
## 任务
1. 如果行业为空,根据公司名和邮箱域名推断行业
2. 根据所有数据,给出客户分类标签(从以下选项中选择 1-3 个):
VIP客户、活跃用户、沉睡用户、高风险流失、新客户、大客户、技术用户、决策者
3. 计算客户健康度评分(0-100):
- 满意度权重 40%
- 活跃度(工单+订单频率)权重 30%
- 消费金额权重 30%
4. 如果健康度 < 50,给出流失风险预警和建议行动
## 输出格式(严格 JSON)
{
"inferred_industry": "推断的行业(如已有则保持原值)",
"tags": ["标签1", "标签2"],
"health_score": 75,
"churn_risk": "low/medium/high",
"recommended_action": "建议行动(仅当 churn_risk 为 medium/high 时)"
}步骤 4:数据验证与路由
添加 Code 节点验证增强后的数据:
const original = $json;
const aiResult = JSON.parse($json.ai_output);
const enriched = {
...original,
industry: aiResult.inferred_industry || original.industry,
tags: aiResult.tags,
health_score: aiResult.health_score,
churn_risk: aiResult.churn_risk,
recommended_action: aiResult.recommended_action || null,
enriched_at: new Date().toISOString(),
is_valid: true
};
// 基本验证
if (!enriched.email || !enriched.email.includes('@')) {
enriched.is_valid = false;
enriched.validation_error = '无效邮箱';
}
if (enriched.health_score < 0 || enriched.health_score > 100) {
enriched.health_score = Math.max(0, Math.min(100, enriched.health_score));
}
return [{ json: enriched }];添加 Switch 节点按 is_valid 路由:
- 有效数据 → 写入 Postgres/Supabase 主库
- 异常数据 → 写入 Google Sheets 人工审查队列
步骤 5:同步报告通知
添加 Code 节点汇总统计,然后通过 Slack 发送报告:
📊 *数据同步报告 — {{ $now.format('yyyy-MM-dd HH:mm') }}*
✅ 同步成功:{{ $json.success_count }} 条
⚠️ 需人工审查:{{ $json.review_count }} 条
🔴 高流失风险:{{ $json.high_churn_count }} 条
📈 健康度分布:
• 优秀 (80-100):{{ $json.health_excellent }} 条
• 良好 (60-79):{{ $json.health_good }} 条
• 关注 (40-59):{{ $json.health_attention }} 条
• 预警 (<40):{{ $json.health_warning }} 条关键配置参数
| 参数 | 推荐值 | 说明 |
|---|---|---|
| LLM 模型 | GPT-4o-mini / DeepSeek-V3 | 数据增强任务,性价比优先 |
| Temperature | 0.1 | 数据推断需要高确定性 |
| 批处理大小 | 50 条/批 | 平衡速度和 API 限制 |
| 同步频率 | 每日或每 4 小时 | 根据数据时效性需求 |
| 去重策略 | 以 email 为主键 | 跨平台统一标识 |
6. 蓝图五:AI 报告生成(自动化周报/月报)
场景说明
定期从数据库、API 和 Google Sheets 采集业务数据,用 LLM 分析趋势、生成洞察和建议,输出格式化的 HTML 报告,通过邮件分发给管理层。适用于月度财务报告、周度运营报告、营销效果分析、项目进度汇报等场景。
节点拓扑
[Schedule Trigger: 每周一 09:00 / 每月 1 日]
→ [并行数据采集]
├→ [Postgres: 业务指标查询]
├→ [Google Sheets: 手动录入数据]
├→ [HTTP Request: 第三方 API(Google Analytics / Stripe)]
└→ [HTTP Request: 上期报告数据(用于环比)]
→ [Merge: 汇总所有数据]
→ [Code: 数据预处理 + 计算指标]
→ [LLM Chain: 生成分析报告]
→ [Code: 组装 HTML 报告]
→ [Switch: 分发渠道]
├→ [Gmail: 发送给管理层]
├→ [Slack: 发送摘要到频道]
└→ [Google Drive: 存档 PDF(可选)]
→ [Google Sheets: 记录报告历史]操作步骤
步骤 1:配置定时触发
- 添加 Schedule Trigger 节点
- 周报:
每周一 09:00 - 月报:
每月 1 日 09:00 - 时区:
Asia/Shanghai
步骤 2:并行数据采集
业务指标(Postgres):
-- 本期核心指标
SELECT
COUNT(DISTINCT user_id) AS active_users,
COUNT(*) FILTER (WHERE created_at >= date_trunc('week', NOW()) - INTERVAL '1 week') AS new_signups,
SUM(amount) FILTER (WHERE status = 'paid') AS revenue,
AVG(satisfaction_score) AS avg_satisfaction,
COUNT(*) FILTER (WHERE status = 'churned') AS churned_users
FROM business_metrics
WHERE created_at >= date_trunc('week', NOW()) - INTERVAL '1 week'
AND created_at < date_trunc('week', NOW());-- 上期指标(用于环比计算)
SELECT
COUNT(DISTINCT user_id) AS prev_active_users,
SUM(amount) FILTER (WHERE status = 'paid') AS prev_revenue
FROM business_metrics
WHERE created_at >= date_trunc('week', NOW()) - INTERVAL '2 weeks'
AND created_at < date_trunc('week', NOW()) - INTERVAL '1 week';第三方数据(Stripe 收入):
URL: https://api.stripe.com/v1/charges
Method: GET
Query: created[gte]={{ $now.minus(7, 'days').toSeconds() }}&limit=100
Auth: Bearer sk_live_xxxGoogle Analytics(网站流量):
使用 HTTP Request 调用 GA4 Data API,获取页面浏览量、会话数、跳出率等。
步骤 3:数据预处理
添加 Code 节点计算关键指标和环比变化:
const current = $('Postgres Current').item.json;
const previous = $('Postgres Previous').item.json;
const stripe = $('Stripe').item.json;
// 计算环比变化
const calcChange = (curr, prev) => {
if (!prev || prev === 0) return { value: curr, change: 'N/A', trend: '➡️' };
const pct = ((curr - prev) / prev * 100).toFixed(1);
const trend = pct > 5 ? '📈' : pct < -5 ? '📉' : '➡️';
return { value: curr, change: `${pct}%`, trend };
};
return [{
json: {
period: `${$now.minus(7, 'days').format('MM-dd')} ~ ${$now.minus(1, 'day').format('MM-dd')}`,
metrics: {
active_users: calcChange(current.active_users, previous.prev_active_users),
revenue: calcChange(current.revenue, previous.prev_revenue),
new_signups: { value: current.new_signups, change: 'N/A', trend: '➡️' },
satisfaction: { value: current.avg_satisfaction?.toFixed(1), change: 'N/A', trend: '➡️' },
churn: { value: current.churned_users, change: 'N/A', trend: '➡️' }
},
raw_data: { current, previous, stripe }
}
}];步骤 4:LLM 生成分析报告
添加 Basic LLM Chain 节点(推荐 GPT-4o 或 Claude Sonnet,分析质量更高):
提示词模板:周报分析
你是一位资深业务分析师。请根据以下数据生成一份专业的周度业务报告。
## 报告周期
{{ $json.period }}
## 核心指标
- 活跃用户:{{ $json.metrics.active_users.value }}(环比 {{ $json.metrics.active_users.change }})
- 营收:¥{{ $json.metrics.revenue.value }}(环比 {{ $json.metrics.revenue.change }})
- 新注册:{{ $json.metrics.new_signups.value }}
- 用户满意度:{{ $json.metrics.satisfaction.value }}/5.0
- 流失用户:{{ $json.metrics.churn.value }}
## 要求
请生成以下内容:
### 1. 执行摘要(3-5 句话)
概括本周整体表现,突出最重要的变化。
### 2. 关键发现(3-5 条)
每条发现包含:数据事实 + 可能原因 + 影响评估。
### 3. 风险预警
如果有指标出现显著下降或异常,列出风险点和建议的应对措施。
### 4. 下周建议行动(2-3 条)
基于数据趋势,给出具体可执行的建议。
### 5. 趋势判断
用一句话总结整体趋势方向(上升/平稳/下降)。
语气要专业、数据驱动,避免模糊表述。每个观点都要有数据支撑。步骤 5:组装 HTML 报告
添加 Code 节点将 LLM 分析结果组装为格式化 HTML:
const metrics = $('Data Processing').item.json.metrics;
const analysis = $json.text; // LLM 输出
const period = $('Data Processing').item.json.period;
const html = `
<!DOCTYPE html>
<html>
<head>
<style>
body { font-family: -apple-system, sans-serif; max-width: 700px; margin: 0 auto; padding: 20px; color: #333; }
.header { background: #1a1a2e; color: white; padding: 24px; border-radius: 8px; margin-bottom: 24px; }
.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 24px 0; }
.metric-card { background: #f8f9fa; padding: 16px; border-radius: 8px; text-align: center; }
.metric-value { font-size: 28px; font-weight: bold; color: #1a1a2e; }
.metric-label { font-size: 13px; color: #666; margin-top: 4px; }
.metric-change { font-size: 13px; margin-top: 4px; }
.analysis { line-height: 1.8; }
.footer { margin-top: 32px; padding-top: 16px; border-top: 1px solid #eee; font-size: 12px; color: #999; }
</style>
</head>
<body>
<div class="header">
<h1 style="margin:0;">📊 周度业务报告</h1>
<p style="margin:8px 0 0;opacity:0.8;">${period}</p>
</div>
<div class="metric-grid">
<div class="metric-card">
<div class="metric-value">${metrics.active_users.value}</div>
<div class="metric-label">活跃用户</div>
<div class="metric-change">${metrics.active_users.trend} ${metrics.active_users.change}</div>
</div>
<div class="metric-card">
<div class="metric-value">¥${Number(metrics.revenue.value).toLocaleString()}</div>
<div class="metric-label">营收</div>
<div class="metric-change">${metrics.revenue.trend} ${metrics.revenue.change}</div>
</div>
<div class="metric-card">
<div class="metric-value">${metrics.new_signups.value}</div>
<div class="metric-label">新注册</div>
<div class="metric-change">${metrics.new_signups.trend}</div>
</div>
</div>
<div class="analysis">
${analysis.replace(/\n/g, '<br>')}
</div>
<div class="footer">
此报告由 AI 自动生成 | 生成时间:${new Date().toLocaleString('zh-CN')} | 数据来源:内部数据库 + Stripe + GA4
</div>
</body>
</html>`;
return [{ json: { html, subject: `📊 周度业务报告 | ${period}`, analysis } }];步骤 6:多渠道分发
邮件分发:使用 Gmail 节点
- 收件人:管理层邮件列表
- 主题:
{{ $json.subject }} - 内容类型:HTML
- 正文:
{{ $json.html }}
Slack 摘要:使用 Slack 节点发送精简版
📊 *周度业务报告已生成* | {{ $json.period }}
{{ $json.analysis.substring(0, 500) }}...
📧 完整报告已发送至管理层邮箱Google Drive 存档(可选):使用 Google Drive 节点上传 HTML 文件
关键配置参数
| 参数 | 推荐值 | 说明 |
|---|---|---|
| LLM 模型 | GPT-4o / Claude Sonnet | 分析报告需要高质量推理 |
| Temperature | 0.4 | 分析需要准确但不死板 |
| Max Tokens | 4096 | 报告内容较长 |
| 数据查询超时 | 30 秒 | 防止慢查询阻塞 |
| 报告存档 | 建议开启 | 便于历史对比 |
n8n JSON 片段:报告生成核心节点
{
"nodes": [
{
"parameters": {
"rule": {
"interval": [{ "field": "weeks", "weekday": 1, "hour": 9 }]
}
},
"name": "Weekly Schedule",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [250, 300]
},
{
"parameters": {
"operation": "executeQuery",
"query": "SELECT COUNT(DISTINCT user_id) AS active_users, SUM(amount) AS revenue FROM business_metrics WHERE created_at >= date_trunc('week', NOW()) - INTERVAL '1 week'"
},
"name": "Postgres Metrics",
"type": "n8n-nodes-base.postgres",
"position": [450, 300]
},
{
"parameters": {
"promptType": "define",
"text": "=你是一位资深业务分析师...\n\n核心指标:\n{{ $json.metrics }}"
},
"name": "AI Report Generator",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [850, 300]
}
]
}实战案例:从零搭建 AI 内容管线
案例背景
一个 3 人技术团队需要每天追踪 AI 领域的最新动态,但手动浏览 10+ 个信息源耗时 1-2 小时。目标:用 n8n 搭建自动化内容管线,每天早上 8 点在 Slack 频道推送中文摘要。
完整搭建流程
第 1 步:规划信息源
确定 5 个核心 RSS 源:
- Hacker News 热门(
https://hnrss.org/newest?points=100) - OpenAI 博客(
https://openai.com/blog/rss.xml) - Anthropic 研究(
https://www.anthropic.com/research/rss.xml) - n8n 博客(
https://blog.n8n.io/rss/) - The Verge AI 板块(
https://www.theverge.com/rss/ai-artificial-intelligence/index.xml)
第 2 步:搭建工作流骨架
- 创建新工作流,命名为”AI 每日资讯”
- 添加 Schedule Trigger → 5 个 RSS Feed Read → Merge → Code(过滤)→ Loop → LLM Chain → Slack
- 先不配置 LLM,用 Set 节点模拟输出,验证数据流通
第 3 步:调试数据流
常见问题:
- RSS 节点返回空数据 → 检查 URL 是否正确,部分站点需要代理
- Merge 后数据格式不一致 → 在 Code 节点中统一字段名
- 时间过滤不生效 → 注意 RSS 的时间字段名可能是
pubDate、isoDate或date
第 4 步:接入 LLM
- 选择 DeepSeek-V3($0.27/百万 token),每天处理 20 篇文章约花费 $0.01
- Temperature 设为 0.3,确保摘要准确
- 添加 Auto-fixing Output Parser 处理偶尔的 JSON 格式错误
第 5 步:优化与上线
- 添加 Google Sheets 归档,用于去重(下次运行时跳过已处理的链接)
- 设置 Continue On Fail,单篇文章处理失败不影响整体
- 添加错误通知:工作流失败时发送 Slack 告警
案例分析
| 指标 | 优化前 | 优化后 |
|---|---|---|
| 每日信息追踪时间 | 1-2 小时 | 5 分钟(阅读摘要) |
| 信息源覆盖 | 3-5 个(手动) | 10+ 个(自动) |
| 每月成本 | 0(人力成本除外) | ~$0.30(LLM API) |
| 信息延迟 | 不确定 | 固定每天 08:00 |
关键决策点:
- 选择 Basic LLM Chain 而非 AI Agent——摘要是确定性任务,不需要工具调用
- 使用 DeepSeek-V3 而非 GPT-4o——摘要任务对模型能力要求不高,成本降低 90%
- 先归档再发布——确保数据可追溯,便于后续分析
避坑指南
❌ 常见错误
-
在 Loop 中使用 AI Agent 而非 LLM Chain
- 问题:AI Agent 节点每次调用都会初始化工具和记忆,在循环中使用会导致性能极差且成本翻倍
- 正确做法:批量处理确定性任务(摘要、翻译、分类)时使用 Basic LLM Chain;只有需要工具调用和自主决策时才用 AI Agent
-
忽略 API 速率限制导致工作流失败
- 问题:在 Loop 中快速连续调用 LLM API,触发速率限制(429 错误),整个工作流中断
- 正确做法:在 Loop 节点中启用 Batch Size 和 Wait Between Batches(建议 1-2 秒间隔);或使用 n8n 的 Wait 节点添加延迟
-
LLM 输出 JSON 解析失败导致后续节点崩溃
- 问题:LLM 偶尔输出格式不规范的 JSON(多余逗号、缺少引号),Code 节点
JSON.parse()直接报错 - 正确做法:使用 try-catch 包裹解析逻辑,提供降级默认值;或使用 Auto-fixing Output Parser 自动修复
- 问题:LLM 偶尔输出格式不规范的 JSON(多余逗号、缺少引号),Code 节点
-
数据同步工作流缺少幂等性设计
- 问题:工作流重试或重复执行时,同一条数据被多次写入目标系统,造成数据重复
- 正确做法:使用唯一标识(如 email、order_id)作为去重键;写入时使用 UPSERT(INSERT ON CONFLICT UPDATE)而非 INSERT
-
报告生成工作流的数据查询超时
- 问题:复杂 SQL 查询在大数据量下超时,导致报告生成失败
- 正确做法:为数据查询设置明确的超时时间;预先创建物化视图或汇总表;将数据采集和报告生成拆分为两个工作流
-
入职工作流中并行分支的错误处理不当
- 问题:某个并行分支(如 Google Workspace API)失败,Merge 节点等待超时,整个入职流程卡住
- 正确做法:每个并行分支都启用 Continue On Fail;Merge 节点设置合理超时;失败的步骤记录到日志,后续人工补救
-
线索评分的 Prompt 没有包含 ICP 定义
- 问题:LLM 不了解你的理想客户画像,评分标准不一致,同类线索得分差异大
- 正确做法:在 System Prompt 中明确定义 ICP(行业、规模、角色、地区),并提供评分维度和权重
-
工作流蓝图直接用于生产而不做适配
- 问题:蓝图中的字段名、API 端点、凭证配置与实际环境不匹配,导致各种运行时错误
- 正确做法:将蓝图视为起点而非终点;逐个节点验证配置;先用测试数据跑通全流程,再接入真实数据
✅ 最佳实践
- 先跑通骨架,再接入 LLM:用 Set 节点模拟 LLM 输出,验证整个数据流通后再替换为真实 LLM 调用,节省调试时的 API 费用
- 为每个蓝图添加”健康检查”节点:在工作流末尾添加 Code 节点统计成功/失败数量,发送执行摘要到 Slack
- 使用环境变量管理配置:将 API Key、数据库连接串、Slack Channel ID 等存储在 n8n 凭证中,而非硬编码在节点参数里
- 建立蓝图版本管理:导出工作流 JSON 存入 Git 仓库,每次修改都提交,便于回滚和团队协作
- 设计渐进式复杂度:从最简单的版本开始(如只有 1 个 RSS 源 + 1 个 Slack 输出),验证后再逐步添加翻译、多渠道、归档等功能
- 监控 LLM 成本:在 Code 节点中记录每次 LLM 调用的 token 使用量,定期审查成本趋势
相关资源与延伸阅读
-
n8n 工作流模板库 — 社区贡献的 2,000+ 工作流模板,可按场景搜索和一键导入 https://n8n.io/workflows/
-
n8n AI 工作流官方文档 — AI 节点的完整参考文档,包括 LLM Chain、AI Agent、向量存储等 https://docs.n8n.io/advanced-ai/
-
n8n 社区论坛 — 工作流问题讨论、故障排查和经验分享的活跃社区 https://community.n8n.io/
-
n8n GitHub 仓库 — 开源代码、Issue 追踪和功能请求 https://github.com/n8n-io/n8n
-
n8n RSS Feed Read 节点文档 — RSS 节点的详细配置参考 https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.rssfeedread/
-
n8n AI Automation Guide 2025 — n8nhost.io 的 AI 自动化实践指南 https://n8nhost.io/ai-automation-n8n-guide-2025/
-
Apollo.io API 文档 — 线索数据增强 API,可用于线索评分蓝图中的数据增强步骤 https://docs.apollo.io/
-
Supabase 文档 — 开源 PostgreSQL 托管平台,适合作为数据同步蓝图的目标数据库 https://supabase.com/docs
-
n8n 本地部署指南 — 使用 Docker 自托管 n8n 的完整教程 https://docs.n8n.io/hosting/
-
Osinity: 自动化 Meta 广告报告 — 使用 n8n + AI 自动生成广告报告的实战案例 https://osinity.com/blog/automate-meta-ads-reporting-n8n
参考来源
- n8n Workflow Templates Library (n8n 官方,持续更新)
- n8n Advanced AI Documentation (n8n 官方,持续更新)
- Curate & Translate News from RSS Using Google Gemini (n8n 社区模板,2025)
- AI-Powered Lead Scoring with Salesforce, GPT-4o, and Slack (n8n 社区模板,2025)
- AI-Powered Lead Scoring & Personalized Responses with JotForm (n8n 社区模板,2025)
- Automate Employee Onboarding with GPT-4o: Jira, Notion & Gmail (n8n 社区模板,2025)
- Automate Employee Onboarding with n8n Workflows (OneClick IT Solution,2025-06)
- Generate Monthly Financial Reports with Gemini AI, SQL, and Outlook (n8n 社区模板,2025)
- AI for Business Productivity: Practical n8n Workflows (ThinkBot Agency,2025-06)
- Automating CRM Workflows with n8n: AI Integration in 2025 (ThinkBot Agency,2025-08)
- AI Automation in 2025: Practical Guide with n8n + LLMs (n8nhost.io,2025-08)
- Automate Your Monthly Meta Ads Report with n8n and AI (Osinity,2025-07)
📖 返回 总览与导航 | 上一节:26b-n8n-AI-Agent节点配置 | 下一节:26d-错误处理模式