AI PLAY玩法更新持续收录
← 回到更新流

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

具体怎么做

  1. 配置触发与时长过滤

    在NUACOM触发节点中填入API凭据和要监听的分机号;其后加If节点判断通话时长大于5秒才继续,过滤掉误拨和未接通的短通话。练习时用Webhook节点接收模拟通话事件代替。

  2. 等待并拉取转写

    添加Wait节点等待30秒,给NUACOM的AI分析留出生成时间;再调用NUACOM接口获取该通话的AI分析结果,取出transcription字段。练习时直接在模拟负载里内置转写文本,跳过真实拉取。

  3. 用Gemini提取11个招聘问题

    把转写文本送入Google Gemini(AI Agent)节点,提示词要求逐条回答11个招聘问题并以JSON结构返回,字段包含当前职位、工作年限、期望薪资等;开启结构化输出或在其后用JSON解析步骤兜底。

  4. 重整结果并写回通话备注

    把Gemini返回的JSON压平成简单键值对象,拼接成可读的格式化文本(如“期望薪资:18000元/月”),调用NUACOM接口为该通话添加备注。练习时改为输出到Respond to Webhook查看。

  5. 匹配HubSpot联系人并条件更新

    用通话中的被叫号码在HubSpot节点搜索联系人;命中后先读取其ain8n_salary_expectation属性,仅在为空时执行Update,把Gemini提取的期望薪资写入,避免覆盖人工已录入的数据。

  6. 端到端验证

    用一条含期望薪资的模拟转写触发流程:确认不足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