n8n自动识别客户业务并同步CRM:销售调研提效教程

平时销售人员在收集线索的时候,常常会面临几个痛点

1.你不知道对方公司是做什么的

销售拿到 leads 后经常困惑:这是干嘛的公司?有没有潜在业务价值?

一般销售都会去手动访问潜在客户的公司网站,搜索公司的信息,成本高、速度慢。

2.线索跟进不及时

销售将潜在客户提交信息后,销售洞察(Sales Insight)不能即时同步到CRM,导致跟进缺乏针对性。

所以效率都会大打折扣。

那我们今天我们用n8n来搭建一个自动化工作流,解决上面的痛点问题。

这个工作流的大概逻辑是这样:销售提交公司的网站地址,工作流会自动抓取网站首页的内容,AI来分析业务内容是否明确,如果不明确,则自动跳转到网站的about页,继续抓取和总结一次,最后,统一将分析的内容(他们是谁、他们做什么、他们服务谁)存入到多维表格中,并发送通知给团队。

一句话来概括,这是一个 AI 驱动的智能获客 & 线索洞察系统,用于从网站访客提交的线索中自动识别对方业务、生成销售洞察,并推送给销售团队。

接下来我们就详细看看这个n8n流程是如何来配置实现的。

配图

工作流的具体配置方法(详细教程)

我们可以把这个工作流分成4个业务阶段,这样就比较好理解一些。

阶段 1: 触发与初始信息抓取

On form submission(表单触发器)

  • 用途: 表单,主要是用来填写新潜在客户的输入数据(姓名、邮箱、网站)。
  • 配置方法:

Form Title/Description: 填写我们希望展示的表单标题和描述。 – Form Fields(表单字段):

– 添加三个字段:Name (String), Email (Email), Website (String)。 – 操作: 当我们保存并开启工作流时,就可以以生成一个Webhook URL公开表单,用户在表单填写并提交即可触发工作流。

配图

Scrape home page(HTTP Request – 爬取首页)

  • 用途: 访问我们在表单提交的网站 URL,通过http节点,来获取首页的 HTML 内容。
  • 配置方法:

URL: 使用表达式来清理和格式化用户输入的网站 URL,确保是一个有效的 URL。

– URL字段的表达式如下:

“`Plain =((() => { // 1. Trim whitespace (Crucial first step)let url = $json.Website.trim();

// 2. Add protocol if missing (Default to https)if (!url.match(/^https?:\\/\\//)) { url = ‘https://’ + url; }

try { // 3. Parse the URL objectconst urlObj = new URL(url);

// 4. Add ‘www.’ ONLY if:if (!urlObj.hostname.startsWith(‘www.’) && urlObj.hostname.split(‘.’).length === 2) { urlObj.hostname = ‘www.’ + urlObj.hostname; }

// 5. Return the clean URLreturn urlObj.toString();

} catch (error) { // If the input is total garbage, return original to let the node error out naturallyreturn url; } })() “ - Options (Response) > Response Format: 选择 Text`。

当我们运行这个节点后,就会把首页的HTML内容提取出来。

配图

HTML(HTML 解析)

  • 用途: 从上一步获取到的 HTML 文本中,结构化的提取关键信息。
  • 配置方法:

Operation: 选择 Extract HTML Content。 – Extraction Values: 添加以下规则:

key: h1, cssSelector: h1key: h2, cssSelector: h2, Return Array: 启用 – key: meta_description, cssSelector: meta[name="description"], Return Value: attribute, Attribute: contentkey: nav_links, cssSelector: nav a, header a, Return Value: attribute, Attribute: href, Return Array: 启用

运行节点后,就会帮我们从HTML中结构化的提取出关键信息

配图

阶段 2: AI 智能判断与信息总结

AI分析

  • 用途: 用AI模型(我们这里用open AI)来分析提取的信息,判断业务描述是否清晰,并决定下一步动作。
  • 配置方法:

Credentials: 连接您的 OpenAI API Key。 – Model ID: 选择需要使用的模型。 – Responses:

System Prompt(系统角色):

“`Plain You are a Sales Researcher. I will give you the H1, H2, and Description from a company’s home page.

Your Goal: Determine if this text CLEARLY explains what the company does.

Scenario A (Clear): If you understand the business, write a 2-sentence summary in English of the business to better help a sales agent understand the lead. Scenario B (Unclear): If the text is vague (e.g., just says “Welcome” or “Future is here”), look at the provided nav_links list. Find the one most likely to be the “About” or “Mission” page.

Output JSON ONLY: { “status”: “success” OR “need_more_info”, “summary”: “The script…” (if success), “fallback_url”: “/about-us” (if need_more_info, return the specific path from the list) } “`

User Prompt(用户输入): 注入上一步提取的数据。

Plain =H1: {{ $json.h1 }} H2: {{ $json.h2 }} Description: {{ $json.meta_description }} Links: {{ $json.nav_links }}

配图

Switch(路由判断)

  • 用途: 根据 AI 的 JSON 输出,将工作流路由到不同的分支。也就是说,需要把提取到的 H1/H2/Description 传给 LLM(chatgpt-4o-latest),判断文本是否“清楚说明公司做什么”,并在清楚时生成 2 句 summary;若不清楚则返回 need_more_info 并给出 fallback_url(About 页路径)。
配图
  • 配置方法:

Rule 1: Script Ready (AI 总结成功)

Conditions:

Left Value:={{ $json.output[0].content[0].text }}Operator:containsRight Value:"status": "success"Rule 2: Need Deep Dive (需要更多信息)

Conditions:

Left Value:={{ $json.output[0].content[0].text }}Operator:containsRight Value:"status": "need_more_info"Fallback Output: 连接到 Error handling 分支。

配图

阶段 3: 深度信息抓取与最终总结(Need Deep Dive 分支)

当 AI 认为首页信息不足时,工作流会进入这个分支。

Construct secondary URL(Set – 构造二级 URL)

  • 用途: 将原始网站 URL 与 AI 推荐的 Fallback Path(如 /about-us)拼接成完整的二级 URL。
  • 配置方法:

Assignment Name:Fallback URLValue:

“`Plain =((() => { // 1. Extract the path (e.g., /about-us) from the AI’s JSON outputconst extractedPath = $json.output[0].content[0].text.match(/\”fallback_url\”:\s*\”([^\”]+)\”/)[1];

// 2. Get the raw website base URL from the triggerconst rawBase = $(‘On form submission’).item.json.Website;

// 3. Clean the base URL (add https if needed, remove trailing slash)const cleanBase = (rawBase.startsWith(‘http’) ? rawBase : ‘https://’ + rawBase).replace(/\\/$/, “”);

// 4. Combine themreturn extractedPath.startsWith(‘http’) ? extractedPath : cleanBase + extractedPath; })() “`

配图

Scrape secondary URL(HTTP Request – 爬取二级页面)

  • 用途: 访问上一步骤构造的完整 URL(如 https://www.company.com/about-us)。
  • 配置方法:

URL: 引用上一步骤的输出:={{ $json["Fallback URL"] }}Options (Response) > Response Format: 选择 Text

配图

HTML1(HTML 解析 – 二级页面)

  • 用途: 这个原理就和上一个HTML节点类似了,不同的是这里提取的是二级页面的主体内容,作为 AI 总结的输入。
  • 配置方法:

Extraction Values: 添加规则:

key: about_text, cssSelector: main , Return Value: Text

(cssSelector选择

标签,通常包含页面的主要文本内容)

配图

AI分析

  • 用途: 这里是针对“关于我们”页面的深度文本,生成最终的总结内容。
  • 配置方法:

Credential和Model: 都和之前的AI节点是一样的配置方法 – Responses:

System Prompt(系统角色):

“`Plain You are a Sales Rep. I will give you text from a company’s “About Us” page. Your goal is to write a 2-sentence summary in English so that a sales rep understands the business of the lead clearly.

Strategy: Mention their mission or history found in the text.

Output: Just the 2 sentences of the script. Do not output JSON. Just the raw text. “`

User Prompt(用户输入):

Plain =Page Text: {{ $json.about_text }}

Clean Data & Clean Data1(Set节点 – 清理数据)

  • 用途: 从 AI 的输出中提取并统一最终的总结内容(final_script 字段)。
  • 配置方法:

Clean Data(Success 分支): 从 JSON 中提取 summary 字段。

Assignment Name:final_scriptValue:={{ $json.output[0].content[0].text.match(/\"summary\":\s*\"([^\"]+)\"/)[1] }}Clean Data1(Need Deep Dive 分支): AI 直接返回了文本,无需 JSON 解析。

Assignment Name:final_scriptValue:={{ $json.output[0].content[0].text }}

阶段 4: 同步到飞书多维表格

Aggregate(聚合)

  • 用途: 将来自不同分支(Clean DataClean Data1)的数据聚合到一起,确保后续节点只有一个数据流。
  • 配置方法: 默认配置即可,Aggregate:Aggregate All Item Data

获取飞书token并写入飞书多维表格

  • 用途: 比如我们用飞书多维表格搭建了一个CRM轻应用,那么我们就可以将完整的潜在客户信息和 AI 洞察写入我们的多维表格里了

关于飞书多维表格的配置方法之前已经讲过很多了,这里就不再详细说明了。

运行之后,如下图,对应的内容就写入到飞书多维表格中了。

配图

最后,我们可以再加上一个通知节点,可以把获取到的内容发送到飞书、telegram、slack或者邮箱都可以

异常处理分支(Error Handling)

  • Error handling(记录失败)

用途:Scrape home pageScrape secondary URL 节点失败时(例如 URL 无效或网站宕机),将错误信息记录到多维表格中。 – 配置方法:

– 与步骤 12 类似,但 AI Insight 字段的值设置为:Scrape Failed - Check URL manually

配图

最后

我们回顾一下这个工作流是如何自动化、智能化的解决了潜在客户信息处理的问题。

提效点传统人工操作n8n AI 工作流
客户洞察手动浏览网站,耗时 5-10 分钟。AI 自动总结,10 秒内生成 2 句话的核心业务洞察。
信息深度首页信息不足?需要手动点击“About Us”等链接。AI 自动判断,信息不足则自动查找并抓取“关于我们”页面。
数据同步销售/运营手动录入 CRM。自动同步到表格,并附带 AI 洞察。
团队通知仅通知新线索。实时通知,包含 AI 生成的销售话术/洞察,实现“速度跟进(Speed-to-Lead)”。

这个工作流极大地提高了“潜在客户响应速度”和“首次接触的质量”,确保销售团队能在第一时间用精准的信息跟进客户。


📋 这套销售调研相关模板,我整理成模板了

跟着上面步骤搭要花点时间。想直接拿现成的改,加我微信备注「销售调研」,我发你。

🤔 卡在某一步了?

搭建过程里如果哪一步卡住了,如果你照着做没跑通,或者你们公司情况不太一样,可以找我聊聊,我免费帮你看看怎么调。不合适我也会直说。

加吨师傅微信咨询飞书多维表格搭建

扫码加我,备注「销售调研」领模板

想看更多这类方案,我都整理在 吨师傅工具箱 里了:客户管理、进销存、工单报修……按场景分好类,可以直接抄。

相关阅读

滚动至顶部