Huashu Design
alchaincyf · 技能
把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。
一个 n8n 工作流,新线索提交联系表单后不久就给对方打电话。它先读对方的网站,让 Tavily 查找对方的 LinkedIn 主页,把一段简短摘要记进 Google Sheets。然后由 Vapi 语音助手拨出电话,助手事先已经知道对方是谁。
联系表单新线索即时 AI 回电 是一款 n8n 工作流,属于商务类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。
Hi {{name}}, this is Sam from Acme. You recently submitted an enquiry about {{howWeCanHelp}}. Is now a good time?联系表单
有人提交 Contact form 时开始运行,表单里有:
表格里多一条记录好的线索,表单提交后不久,你的 Vapi 助手就打出电话
开始之前要准备好这些。
语言模型
运行三次 gpt-4.1-mini:写线索摘要、把咨询缩成短语、给电话号码补国家代码。
需要OpenAI API 密钥
网页搜索
按名字搜索线索的 LinkedIn 主页,返回第一条结果的地址和文字。
需要Tavily API 密钥
电子表格
每条线索一行,记下电话、网站、咨询内容、主页地址和摘要。
需要有 Sheets 权限的 Google 账号,以及一个带这七列的表格
语音电话
用你在 Vapi 的号码拨出电话,把线索的名字、咨询内容和摘要填进助手的话术。
需要Vapi API 密钥、助手 ID 和电话号码 ID
由 Mindket 于 2026年11月13日检查
这个 n8n 工作流在新线索提交联系表单后不久就给对方打电话,接通时语音助手已经知道对方是谁。九个节点排成一行运行,旁边还有一个对话模型和一张便签。表单收集姓名、电话号码、咨询内容和网站。n8n 抓取那个网站的页面,Tavily 查找这个人的 LinkedIn 主页,gpt-4.1-mini 写一段不超过 100 词的摘要。线索存进 Google Sheets。再有两次 OpenAI 调用,把咨询内容缩成一个短语,给号码补上国家代码。然后 Vapi 拨号。
线索从网站表单进来、等回电时热情慢慢凉掉的代理公司、顾问和服务型企业。适合已经有、或者打算搭一个 Vapi 助手来打第一通电话的团队。如果你的线索希望电话那头是真人,就别用它。
| 行业 | 谁在用 | 怎么用 | 例子 |
|---|---|---|---|
| AI 和自动化代理公司 | 承接搭建项目的创始人 | 访客还在网站上时就回电每条咨询 | 一位店主刚问完聊天机器人,一分钟后代理公司的助手就打来了电话。 |
| 网站和营销工作室 | 客户总监 | 助手开口之前,先用潜在客户的网站给它做好功课 | 工作室的助手一开口就说出线索的公司卖什么。 |
| 家居和本地服务 | 做维修施工生意的老板 | 每条报价请求都立刻回电,晚上和周末也一样 | 一家屋顶维修公司的助手回电一条周日晚上的咨询,问对方什么时候方便上门。 |
| B2B 软件 | 销售开发团队 | 用电话筛选演示请求,每条都记在表格里 | 销售代表在真人跟进电话之前,先看一眼摘要那一列。 |
你得能自如地用两个后台:n8n 的和 Vapi 的。助手的话术在 Vapi 里,文件只交给它三个值。作者估计设置要 14 分钟左右,不算搭助手的时间。
只要能访问 OpenAI、Tavily、Google 和 Vapi,任何 n8n 都能运行它。表单是 n8n 自己的页面,你的网站链接过去就行。
点“获取”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。先把表格和 Vapi 助手准备好。
| 需要 | 说明 |
|---|---|
| n8n | n8n Cloud 或你自己的服务器 |
| OpenAI | 一个 API 密钥,三个节点会用到 |
| Tavily | 一个 API 密钥,用来搜 LinkedIn |
| 一个能编辑这张表格的账号,用来建 Google Sheets OAuth2 凭据 | |
| Vapi | 一个 API 密钥、一个助手和一个用来拨出的电话号码 |
| 一张电子表格 | 第一个标签页的第 1 行写七个列名:Name、Phone number、Website URL、Status、Notes、Linkedin URL、Lead summary |
workflow.json。Append row in sheet 里选中它,把 YOUR_SHEET_ID 换成表格的 ID,也就是地址里 /d/ 和 /edit 之间那一段。OpenAI Chat Model、Simplify enquiry 和 Format phone number 里选中它。Find Linkedin URL 里,把 Authorization 请求头中的 <YOUR_TAVILY_API_KEY> 连同尖括号一起换成你的密钥,让它读作 Bearer、一个空格,再接密钥。HTTP Request 里用你的 Vapi 私钥照做一遍,再把你的 ID 填到 YOUR_ASSISTANT_ID 和 YOUR_PHONE_NUMBER_ID 的位置。{{name}}、{{howWeCanHelp}} 和 {{BusinessInfo}} 写进助手的第一句话和提示词。我们在 2026 年 11 月 2 日读过 Vapi 的 API 参考,上面说这三个值会用 LiquidJS 填进助手的文字里。所以 {{name}} 会变成线索的名字。Simplify enquiry 写出的短语,配上下面这样的第一句话正合适:
Hi {{name}}, this is Sam from Acme. You recently submitted an enquiry about {{howWeCanHelp}}. Is now a good time?同一份参考把接口写作 POST https://api.vapi.ai/call,而文件发往的是 /call/phone。如果 Vapi 拒绝旧路径,就改 HTTP Request 里的 URL。
发布之后什么都不用点。线索提交表单,表单立刻向对方道谢,运行在后台继续:页面、搜索、摘要、写行、打电话。到表格里看线索,到 Vapi 里看通话。
| 要改的 | 在哪里改 |
|---|---|
| 摘要的长度和重点 | Lead summary Agent 的 system message,上限 100 词 |
| 搜索 | Find Linkedin URL 请求体里的 query,它只按名字搜 |
| 国家代码 | Format phone number 的提示词。在那里写明你所在的国家 |
| 助手说什么 | Vapi 里助手的第一句话和提示词 |
| 表单字段 | On form submission。其他节点按标签读取这些字段 |
Priya Shah 提交了表单,手机号没写国家代码,还填了她面包店的网站和下面这段咨询:
I want an online ordering system for my bakery so people can pre-order cakes
Simplify enquiry 把它变成一个短语,比如 an online ordering system for your bakery。Format phone number 补上国家代码,Vapi 收到的请求体如下,这里做了删减:
{
"assistantId": "YOUR_ASSISTANT_ID",
"customer": { "number": "+44…" },
"phoneNumberId": "YOUR_PHONE_NUMBER_ID",
"assistantOverrides": {
"variableValues": {
"name": "Priya Shah",
"howWeCanHelp": "an online ordering system for your bakery",
"BusinessInfo": "…"
}
}
}她在表格里的那一行,Status 是 New Lead,还有 Tavily 找到的主页地址和摘要。
新手:n8n 把工作流画成用线连起来的方框,每个方框叫一个节点,只做一件事。这里的节点从左到右排成一行,最后一个把电话交给 Vapi。凭据是 n8n 替你保管的密钥,不过这里有两个密钥是直接填进节点请求头的。先用你自己的号码测试。之后每个节点都会显示它收到了什么、发出了什么。
专家:三次 OpenAI 调用共用一个模型。语音那部分归 Vapi。
| 步骤 | 模型 | 要知道的 |
|---|---|---|
Lead summary Agent | gpt-4.1-mini-2025-04-14,经由 OpenAI Chat Model | 读取第一条搜索结果的文字和整页的 Markdown,内容可能很长 |
Simplify enquiry | gpt-4.1-mini-2025-04-14 | 把“我”和“我的”换成“你”,助手说出这个短语时才通顺 |
Format phone number | gpt-4.1-mini-2025-04-14 | 被要求只回答号码本身 |
| 通话 | 你的 Vapi 助手 | 它的声音、模型和话术都在 Vapi 里设置 |
Find Linkedin URL 做一次只取一条结果的 Tavily 基础搜索,表格保存这条结果的地址。HTTP Request 出错后会继续往下走,所以一通被拒绝的电话会留下一次已完成的运行,错误就在这个节点的输出里。
每条线索都要花一通电话的分钟数,而谁会接到电话,由表单决定。
Scrape website URL 需要它,所以运行会停在那里,既不写行也不打电话。把这个字段设成必填一个 n8n 工作流。有人提交你的联系表单时,它会读取对方的网站,查找对方的 LinkedIn 主页,把线索记进 Google Sheets,再让 Vapi 语音助手带着这些背景给对方打电话。
workflow.json:n8n 导出的工作流,11 个节点,其中一个是便签。里面没有任何凭据,也没有作者的表格。两个 API 密钥、Vapi 助手和 Vapi 电话号码都是占位符。README.md:这份设置说明,压缩包里的是英文版。在表格第一个标签页的第 1 行写下这七个列名:
Name, Phone number, Website URL, Status, Notes, Linkedin URL, Lead summary
Append row in sheet 每条线索加一行。Status 总是 New Lead,Notes 里是线索原样填写的咨询内容。
workflow.json。/d/ 和 /edit 之间那一长段。Append row in sheet 里选中它,把 YOUR_SHEET_ID 换成这个 ID。这个节点写入第一个标签页。OpenAI Chat Model、Simplify enquiry 和 Format phone number 里选中它。Find Linkedin URL 里,把 Authorization 请求头中的 <YOUR_TAVILY_API_KEY> 换成你的 Tavily 密钥。尖括号也要去掉,让值读作 Bearer、一个空格,再接密钥。HTTP Request 里用你的 Vapi 私有 API 密钥照做一遍。再把 JSON 请求体里的 YOUR_ASSISTANT_ID 换成助手的 ID,YOUR_PHONE_NUMBER_ID 换成 Vapi 电话号码的 ID。文件里不含助手:它的声音、模型和话术都在你的 Vapi 账号里。这通电话在 assistantOverrides.variableValues 里交给它三个值:
| 变量 | 里面是什么 |
|---|---|
| name | 表单的 Name 字段 |
| howWeCanHelp | 咨询内容,由 Simplify enquiry 缩成一个短语,用“你”来称呼线索 |
| BusinessInfo | Lead summary Agent 写的摘要 |
我们在 2026 年 11 月 2 日读过 Vapi 的 API 参考,上面说这些值会用 LiquidJS 语法填进助手的文字:第一句话里的 {{name}} 会变成线索的名字。Simplify enquiry 写出的短语专门用来补全一句话,配上下面这样的第一句话正合适:
Hi {{name}}, this is Sam from Acme. You recently submitted an enquiry about {{howWeCanHelp}}. Is now a good time?
把 {{BusinessInfo}} 放进助手的 system prompt,它开口之前就了解这家公司。
同一份参考把接口写作 POST https://api.vapi.ai/call,请求体相同,而文件发往的是 https://api.vapi.ai/call/phone。如果 Vapi 对旧地址报错,就改 HTTP Request 里的 URL。
| 节点 | 做什么 |
|---|---|
| On form submission | 接收 Name、Phone number、How can we help you 和 Website URL |
| Scrape website URL | 抓取线索给出的地址上的页面 |
| Markdown | 把这个页面的 HTML 转成 Markdown |
| Find Linkedin URL | 让 Tavily 按名字找 LinkedIn 主页,保留第一条结果 |
| Lead summary Agent | gpt-4.1-mini 根据页面和搜索结果,写不超过 100 词的线索和公司介绍 |
| Append row in sheet | 把线索、主页地址和摘要加进表格 |
| Simplify enquiry | 把咨询内容变成通话用的短语 |
| Format phone number | 号码没有国家代码时补上 |
| HTTP Request | 请 Vapi 拨出电话 |
Lead summary Agent 只读给出地址上的那一页,通常是首页,不是整个网站。
Lead summary Agent 的 system message,它把摘要限制在 100 词以内。Find Linkedin URL 请求体里的 query。它只按名字搜,加上公司域名能缩小范围。Format phone number 的提示词。在那里写明你所在的国家,本地号码就能补上对的代码。On form submission 的四个字段。其他节点按标签读取它们,所以改名时那边也要一起改。Scrape website URL 需要它。线索不填,运行就停在这个节点,既不写行也不打电话。在表单节点里把这个字段设成必填。HTTP Request 出错后会继续往下走,所以一通被拒绝的电话照样让运行显示成功。到 Executions 里看它的输出。三个值原样放进 JSON 请求体,摘要里有双引号或换行就可能把它弄坏。README.md 6 KB workflow.json 12 KB
alchaincyf · 技能
把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。
op7418 · 技能
能生成单文件 HTML 幻灯片、幻灯片配图和多平台封面的技能,有两套视觉风格,还带演讲者模式用于排练。适合使用 Claude Code 或 Codex 的演讲者。
alirezarezvani · 技能
为 Claude Code 和其他编程智能体提供 411 个现成技能,按角色分组,从工程、产品到营销、财务和合规。以插件方式安装。适合开发者和业务团队。
perplexity-ai · 工具包
根据文字和图片为一个决策挑出最合适的选项,比如哪个团队应该处理一条请求,并给出每个选项的概率,适合构建分流和审核工作流的开发者。
numind · 工具包
以文本或图像读取文档,按你要的字段填写 JSON 模板,或把页面转成 Markdown。这是一个 4B 模型,适合处理扫描件、表单和发票的团队。
nace-ai · 工具包
一次推理就对一份文档的是非题、选择题和打分题给出每个选项的概率。这是 Nace.AI 的 8B 决策模型,你可以自己运行,许可证为非商业。