2026-09-18 · 原文发布日
招聘电话自动提取要点并同步CRM
n8n免费模板:NUACOM电话系统触发后获取AI生成的通话转写,交给Google Gemini按11个招聘问题提取结构化问答(含期望薪资),结果写回NUACOM通话备注,并按电话号码匹配HubSpot联系人,在薪资字段为空时自动填入提取值。通话不足5秒会跳过。
原文要点
该免费模板由NUACOM电话系统的通话事件触发(针对配置的分机号),仅当通话时长大于5秒才继续;等待30秒后拉取NUACOM AI通话分析中的转写文本,交给Google Gemini按11个招聘问题提取结构化JSON问答(含期望薪资),再把格式化摘要写回NUACOM通话备注,并按被叫号码在HubSpot搜索联系人,仅当联系人自定义属性ain8n_salary_expectation为空时填入提取到的期望薪资。需要NUACOM API凭据、已开启AI Call Analysis、Google Gemini凭据和HubSpot OAuth2凭据。
这次做成什么
搭建“招聘电话结束后自动提取候选人要点并同步CRM”的流水线;由于NUACOM/HubSpot是真实付费系统,本站设计一个用Webhook加模拟负载的隔离练习方案,不碰真实账号即可验证整条逻辑。
准备什么
- NUACOM账号及API凭据,且已为通话开启AI Call Analysis功能
- n8n中配置Google Gemini(PaLM/Gemini)凭据
- HubSpot账号及OAuth2凭据,联系人存在自定义属性ain8n_salary_expectation
- 明确要监听的分机号;练习方案只需一个可收POST的n8n Webhook
具体怎么做
配置触发与时长过滤
在NUACOM触发节点中填入API凭据和要监听的分机号;其后加If节点判断通话时长大于5秒才继续,过滤掉误拨和未接通的短通话。练习时用Webhook节点接收模拟通话事件代替。
等待并拉取转写
添加Wait节点等待30秒,给NUACOM的AI分析留出生成时间;再调用NUACOM接口获取该通话的AI分析结果,取出transcription字段。练习时直接在模拟负载里内置转写文本,跳过真实拉取。
用Gemini提取11个招聘问题
把转写文本送入Google Gemini(AI Agent)节点,提示词要求逐条回答11个招聘问题并以JSON结构返回,字段包含当前职位、工作年限、期望薪资等;开启结构化输出或在其后用JSON解析步骤兜底。
重整结果并写回通话备注
把Gemini返回的JSON压平成简单键值对象,拼接成可读的格式化文本(如“期望薪资:18000元/月”),调用NUACOM接口为该通话添加备注。练习时改为输出到Respond to Webhook查看。
匹配HubSpot联系人并条件更新
用通话中的被叫号码在HubSpot节点搜索联系人;命中后先读取其ain8n_salary_expectation属性,仅在为空时执行Update,把Gemini提取的期望薪资写入,避免覆盖人工已录入的数据。
端到端验证
用一条含期望薪资的模拟转写触发流程:确认不足5秒的事件被过滤、11个问答出现在备注输出中、薪资字段为空时写入、已有值时跳过更新。
可直接复制的材料
Gemini结构化提取提示词(本站编写)
本站独立编写的提示词,11个问题为练习设定,可按你的招聘流程增删;模板原文只说明“11个招聘问题”,未给出具体清单,正式使用请在你的业务中核对问题集。
你是一名招聘电话分析助手。请阅读下面的招聘电话转写文本,逐条回答以下11个问题,并仅以JSON对象返回,不要输出任何额外文字。若转写中未提及某问题,该字段填null。
问题清单:
1. current_role:候选人目前的职位是什么?
2. current_company:候选人目前就职于哪家公司?
3. years_experience:候选人有多少年相关工作经验(数字)?
4. key_skills:候选人提到的核心技能(数组)?
5. education:候选人的最高学历及专业?
6. salary_expectation:候选人的期望薪资(保留原表述,如“18000元/月”)?
7. notice_period:候选人的离职通知期(如“一个月”)?
8. work_location_preference:候选人期望的工作地点或是否接受远程?
9. availability_for_interview:候选人可参加面试的时间?
10. motivation:候选人换工作的主要原因?
11. overall_fit_notes:用一句话总结候选人与岗位的匹配情况。
电话转写文本:
{{ $json.transcription }}模拟通话事件负载(练习用Webhook测试数据)
本站虚构的隔离测试数据,姓名与号码均为编造,不对应任何真人;duration_seconds改为3可用于验证短通话被过滤的分支。
{
"event": "call.completed",
"extension": "102",
"duration_seconds": 214,
"recipient_phone": "+8613800138000",
"call_id": "demo-call-0001",
"transcription": "你好,我是李雷,目前在星海科技做前端开发工程师,有五年相关经验,主要用Vue和TypeScript。本科学历,计算机专业。我期望的薪资是每月一万八千元,离职需要提前一个月通知。我希望在苏州工作,也可以接受远程。下周三和周五下午都有空参加面试。换工作主要是想接触更大的技术团队。"
}输入与输出示例
本站虚构演示,未连接真实NUACOM/Gemini/HubSpot,输出为设计预期而非调用结果。
输入
以上模拟负载:通话214秒,候选人李雷提到期望薪资“每月一万八千元”,HubSpot中对应号码的联系人的ain8n_salary_expectation为空。对应输出
Gemini提取结果示意:{"current_role":"前端开发工程师","years_experience":5,"key_skills":["Vue","TypeScript"],"salary_expectation":"每月一万八千元","notice_period":"一个月","work_location_preference":"苏州,可远程",...};通话备注写入格式化摘要,HubSpot联系人的薪资属性被更新为“每月一万八千元”;若该属性已有值,则Update分支不执行。做完检查这些
- 时长不足5秒的模拟事件在If节点被拦截,后续节点不执行
- 备注内容包含11个问题的问答且薪资字段与转写一致
- 当联系人薪资属性为空时执行写入,已有值时跳过不覆盖
- Webhook练习流程跑通后,再逐节点替换为真实NUACOM触发与HubSpot凭据
容易卡住的地方
- NUACOM的AI Call Analysis必须已开启,否则拉取不到转写,整个流程无输入
- 等待30秒是模板设定,若你的转写生成更慢可能取到空结果,需自行调长或加重试
- HubSpot自定义属性名ain8n_salary_expectation必须预先创建,名称不同会导致写入失败
- 电话号码格式(是否带国家码、空格)会影响联系人匹配,搜索前建议统一格式
- Gemini调用按用量计费,本文不提供费用估算
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Extract recruiting call insights from NUACOM with Gemini and HubSpot
- 原作者
- Stathis
- 原始发布日期
- 2026-09-18T14:34:35.594Z
- 来源
- https://n8n.io/workflows/19716