# 从线索到收款的全自动化：一个基于 n8n 和 AI 的端到端销售流程改造案例

> 本文深入解析了一个真实商业项目——为德克萨斯州窗户更换公司打造的 quote-to-cash 自动化系统。该系统通过 7 个 n8n 工作流、Claude AI 报价生成、ElevenLabs 语音代理和 Stripe 支付闭环，将原本 100% 手动的销售周期压缩至仅需销售经理一次点击审批。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-03T21:45:17.000Z
- 最近活动: 2026-05-03T21:47:33.740Z
- 热度: 0.0
- 关键词: n8n, workflow automation, AI agent, voice AI, ElevenLabs, Claude, quote-to-cash, sales automation, no-code, Twilio, Stripe
- 页面链接: https://www.zingnex.cn/forum/thread/n8n-ai-81a0eee9
- Canonical: https://www.zingnex.cn/forum/thread/n8n-ai-81a0eee9
- Markdown 来源: ingested_event

---

# 从线索到收款的全自动化：一个基于 n8n 和 AI 的端到端销售流程改造案例

在销售流程自动化领域，大多数解决方案停留在单点工具的层面——要么只做线索收集，要么只做邮件跟进。而今天要介绍的这个开源项目展示了一种更激进的思路：从客户第一次接触（无论是网页表单还是电话）到最终付款完成的完整闭环，全部交由自动化系统处理，人类仅需在关键节点进行一次审批。

## 项目背景与业务场景

这个系统是为德克萨斯州达拉斯-沃斯堡都会区的一家窗户更换公司（Apex Windows）打造的。在改造之前，该公司的销售流程完全依赖人工：销售经理需要手动接听电话、记录客户信息、上门测量、计算报价、发送邮件、跟进付款——每个环节都是人肉操作，效率低下且容易出错。

项目的核心目标很明确：**让整个销售流程除了最终的报价审批外，全部自动化运行**。这意味着系统需要处理多渠道线索输入、AI 辅助报价生成、语音交互、支付集成以及完整的异常处理机制。

## 系统架构概览

整个自动化流水线由 **7 个 n8n 工作流** 组成，包含约 **347 个节点**，通过 **17 个 Webhook** 相互连接，底层数据存储在 **9 张 Supabase 数据表** 中。系统集成超过 12 个外部服务，包括 Anthropic Claude、OpenAI GPT-4、ElevenLabs 语音合成、Twilio 电话服务、Stripe 支付、Google Calendar/Sheets、PDFShift 文档生成等。

系统的数据流可以概括为以下几个阶段：

1. **线索捕获阶段**（WF1 & WF7）：同时支持网页表单和语音电话两种输入方式
2. **外呼跟进阶段**（WF3 Outbound）：自动触发语音代理或短信跟进
3. **AI 报价生成阶段**（WF1 子流程）：基于客户上传的照片和文字描述自动生成结构化报价
4. **审批与发送阶段**（WF2）：销售经理一键审批后自动发送带魔法链接的报价邮件
5. **客户确认与支付阶段**（WF2 & WF3 Post-Payment）：客户一键接受报价，安装完成后自动发起 Stripe 付款
6. **售后跟进阶段**（WF3 Post-Payment）：支付完成后自动请求 Google 评价

## 双通道线索输入设计

系统的一大亮点是**真正的全渠道接入能力**。客户可以通过两种方式进入销售漏斗：

### 网页表单入口

客户访问公司的 lead intake form，填写基本信息（姓名、电话、地址、项目类型等）。表单提交后，数据通过 Webhook 进入 **WF1 Lead Capture** 工作流，在 Supabase 的 `leads` 表中创建新记录，同时自动发送包含 Form 2 链接的邮件给客户。

### 语音电话入口

客户拨打公司的 Twilio 号码后，电话会被路由到 **ElevenLabs 语音代理**。这个 AI 代理能够通过自然对话收集与网页表单完全相同的字段信息——姓名、地址、项目类型等。语音代理将收集到的数据通过 `/inbound-lead` Webhook 提交给 **WF7 Inbound Voice Intake** 工作流，同样创建线索记录并触发后续流程。

这种设计确保了**无论客户偏好哪种沟通方式，都能获得一致的体验**，且系统无需人工介入即可标准化数据格式。

## AI 驱动的智能报价生成

传统的窗户更换报价流程通常需要销售人员上门测量，记录每个窗户的尺寸、玻璃类型、框架材质等细节。而这个系统采用了一种更激进的方法：**让客户自己拍照并写文字描述，AI 从中推断所需信息并生成报价**。

### Form 2：照片与描述收集

当客户收到 Form 2 邮件后，会被引导到一个专门的页面，为每个需要更换的窗户上传照片并添加文字备注。值得注意的是，表单**刻意不询问具体的尺寸、玻璃类型等技术细节**——这些完全交给 AI 来推断。

### Claude 的报价推理流程

当客户提交 Form 2 后，WF1 的 window-details 分支会执行以下操作：

1. 将照片上传至 Supabase Storage
2. 从 `pricing_config` 表加载当前定价策略（作为价格底线）
3. 调用 **Anthropic Claude** 模型，传入照片 URL、客户文字描述和定价配置
4. Claude 返回结构化的报价明细（材料费、人工费、每项窗户的细分价格）
5. 通过 PDFShift 将报价渲染为品牌 PDF 文档
6. 邮件通知销售经理有新报价待审批

这种设计的关键在于**信任 AI 的视觉理解能力和领域推理能力**。Claude 能够从窗户照片中识别款式、估算尺寸范围，并结合客户的文字描述（如"主卧的大落地窗，朝西，希望隔热好一些"）推断出合适的产品配置。

## 魔法链接：无状态的客户交互设计

系统在客户交互层面采用了一个巧妙的设计：**256 位随机令牌（magic link）**。当销售经理审批报价后，WF2 会生成两个唯一的 URL——一个用于"接受报价"，一个用于"拒绝报价"——通过邮件发送给客户。

这些链接的核心特点：

- **无需登录**：客户不需要注册账号或记住密码
- **无会话状态**：系统不维护会话，链接本身就是授权凭证
- **状态机驱动**：`quotes.status` 字段同时充当状态机和链接的撤销标志。一旦客户点击接受，状态变为 `accepted`，原链接立即失效
- **安全设计**：256 位随机熵，暴力破解不可行

当客户点击接受链接时，GET Webhook 验证令牌有效性，更新报价状态，并展示感谢页面。整个过程**只需一次点击**，极大降低了客户决策的摩擦。

## 语音代理的进阶应用

项目中使用了 ElevenLabs 的语音代理技术，实现了两个关键场景：

### 主动外呼（Outbound）

WF1 在捕获线索后会 fire-and-forget 地触发 WF3 Outbound。该工作流会检查当前时间：

- **工作时间**：启动 ElevenLabs 语音代理主动拨打客户电话，介绍公司并提醒填写 Form 2
- **非工作时间**：发送 Twilio SMS 短信，包含 Form 2 的直接链接

### 呼入处理（Inbound）

WF7 处理的呼入电话不仅仅是简单的信息收集。ElevenLabs 代理通过 **Dynamic Variable Assignment** 获取 `lead_id`，并在整个对话过程中将其传递给所有工具调用。这意味着语音代理可以：

- 查询客户当前的报价状态
- 预约上门测量时间（通过 Google Calendar 集成）
- 回答关于项目进度的询问

语音代理与后端系统的集成通过 **WF3 Post-Call** 中的一组共享 Webhook 实现，包括预约、可用性查询、状态查询等工具。

## 统一的升级调度引擎

复杂的自动化系统必然面临异常处理：销售经理迟迟不审批怎么办？客户收到报价后不回复怎么办？付款链接发出后客户不付款怎么办？

项目采用了一个优雅的解决方案：**统一的 escalations 表**。这是一张专门用于管理所有需要定时跟进事项的表，通过 `type` 字段区分不同类型的升级：

- `sm_approval_overdue`：销售经理超过 24 小时未审批
- `customer_no_response`：客户 72 小时未回复报价
- `payment_reminder`：付款提醒
- `closed_lost_candidate`：流失预警

WF3 Post-Payment 中的每小时定时任务会扫描这张表，根据 cooldown 机制进行去重，然后执行相应的升级动作（发送提醒邮件、短信或标记为潜在流失）。新增一种定时提醒只需一次 INSERT 操作和一个过滤条件，极大简化了维护复杂度。

## 支付闭环与售后自动化

当窗户安装完成后，销售经理在 CRM 中标记任务完成，触发 WF2 的子流程 D：

1. 生成正式发票（格式：APX-YYYY-XXXX）
2. 调用 Stripe API 创建 Payment Link
3. 邮件发送给客户

客户通过 Stripe Link 完成支付后，Stripe 的 `checkout.session.completed` Webhook 触发 WF2 的子流程 E：

1. 标记发票为已支付
2. 将线索状态更新为 Closed Won
3. 触发 WF3 Post-Payment

WF3 Post-Payment 会等待 30 分钟（确保支付确认邮件先送达），然后自动发送 Google 评价请求邮件。通过 `post_job_comms` 表的重复防护机制，即使定时任务和执行流程同时触发，也能保证幂等性。

## 技术债务与诚实文档

项目的文档中有一个值得称赞的做法：**公开记录已知的 bug 和安全债务**。在 `docs/reference/APEX_CONTEXT.md` 中，作者详细列出了：

- `$json.body.lead_id` vs `$json.lead_id` 的跨触发载荷 bug
- 空日历/过去日期导致的 LLM 行为异常
- 当前的安全隐患和修复优先级

这种"文档化 bug 而非隐藏 bug"的做法，让项目维护者和潜在雇主都能看到真实的工程决策过程，而非经过美化的虚假描述。

## 实施要点与限制

需要注意的是，这个仓库是**作品集展示而非可运行的副本**。出于安全考虑，n8n 的 JSON 导出文件已经过清理，移除了真实的凭证信息。如果要复现这个系统，需要：

1. 重新绑定所有服务的 API 凭证
2. 替换 `{{N8N_BASE_URL}}`、`{{SUPABASE_PROJECT_URL}}` 等占位符
3. 配置 Twilio 电话号码和 Stripe 账户
4. 根据实际业务调整 `pricing_config` 和报价模板

## 总结与启示

这个 quote-to-cash 自动化项目展示了 AI 时代销售流程改造的极致可能性。通过将 Claude 的视觉推理能力、ElevenLabs 的语音交互、n8n 的工作流编排和 Stripe 的支付基础设施有机结合，一个原本需要大量人力的销售周期被压缩到仅需一次人工审批。

对于正在考虑自动化改造的企业，这个案例提供了几个关键启示：

1. **AI 可以承担更复杂的认知任务**：不仅仅是文本生成，还包括视觉理解、结构化推理和领域知识应用
2. **无状态设计降低客户摩擦**：魔法链接模式消除了账户体系的复杂性
3. **统一异常处理机制**：escalations 表的设计模式值得借鉴
4. **双渠道输入确保全覆盖**：语音和网页并行的设计最大化了线索捕获率

这是一个已经部署在生产环境、为真实客户服务的系统，而非概念验证。其架构决策、技术选型和工程实践都具有实际的参考价值。
