用Twilio+Deepgram自动转录来电,效率拉满

人工智能在通信与 5G/6GBy 3L3C

用Twilio Functions接入来电录音,Deepgram自动转录并短信回传。把语音变文本,快速接入CRM/工单与自动化流程。

TwilioDeepgram语音转录自动化工作流AI语音助手联络中心自动化
Share:

Featured image for 用Twilio+Deepgram自动转录来电,效率拉满

用Twilio+Deepgram自动转录来电,效率拉满

客户来电=信息金矿,但大多数小企业把它当成“语音负担”。你可能见过这种场景:忙到没法接电话,错过来电后只剩一段语音留言;第二天再听一遍、手抄重点、转发给同事、再录入CRM。每一步都在耗时间,而且越忙越容易漏掉关键信息。

更现实的是,电话仍然是高意向客户最常用的沟通方式之一——尤其在本地服务、医疗预约、教育咨询、B2B售前场景。把来电内容自动转成文字,并立即进入你的自动化工作流,这不是“锦上添花”,而是把运营从手工劳动里解放出来。

这篇文章基于一个非常实用的技术组合:Twilio Functions(无服务器)+ Deepgram(语音识别)。你会得到一个可落地的方案:客户拨打你的号码→系统播放提示→录音→自动转录→把文字用短信发回给客户(也可以同时推送到Slack/CRM/工单系统)。它也是“AI语音助手与自动化工作流”的典型骨架。

这条主线在“人工智能在通信与 5G/6G”系列里尤其关键:5G/6G提升网络确定性与低时延,AI把语音内容变成可检索、可自动流转的数据。通信系统的价值不止于连接,更在于把对话变成结构化行动。

为什么“来电转录”是小企业最划算的自动化

**答案很直接:转录把不可自动化的语音,变成可自动化的文本。**一旦有了文本,你就能做分类、路由、总结、质检、合规留存,甚至触发后续流程。

对小企业来说,来电转录通常能立刻改善三件事:

  1. 减少重复沟通:客户说过的信息不需要再问一遍。
  2. 提升跟进速度:转录几秒到几十秒就出来,能立刻派单或回访。
  3. 降低漏单率:漏听语音留言比漏看一条消息更常见。

我更偏向把它理解为“语音入口的自动化”:电话不是孤立的渠道,它应该进入你的统一工作流——和网站表单、微信咨询、邮件线索一样被管理。

方案概览:Twilio Functions + Deepgram 的工作流骨架

答案:用Twilio负责通话与录音,用Deepgram负责高质量语音识别,用Twilio SMS把结果送达(或触发更多自动化)。

整体流程是这样的:

  1. 来电进入Twilio号码
  2. Twilio Functions 返回一段 TwiML:
    • say 播放语音提示
    • record 开始录音(例如30秒)
    • 录音结束后回调到另一个函数(/transcribe
  3. /transcribe 里:
    • 从回调事件拿到 RecordingUrlCallSid
    • 通过 CallSid 去Twilio查询来电号码(from)与被叫号码(to
    • 把录音URL发给Deepgram做预录音转写
    • 拿到 transcript 后发短信给来电者

这套架构有两个优点特别适合小团队:

  • 无服务器:Twilio Functions 省掉部署、扩容、运维。
  • 组件化:录音、识别、通知是三段独立模块,后面加CRM/工单/知识库都很自然。

动手搭建:两段函数就能跑起来

**答案:你只需要一个“接听并录音”的函数 + 一个“转写并发送短信”的函数。**下面我把关键点讲清楚,并补上生产环境常见的加固建议。

1)准备工作:账号、依赖与环境变量

你需要:

  • Twilio 账号 + 一个支持 Voice 与 SMS 的号码
  • Deepgram API Key
  • Twilio Functions 的一个 Service(建议不要用单独函数,后期扩展会更舒服)

在 Twilio Console 里:

  • 进入 Developer Tools → Functions & Assets 创建 Service
  • Dependencies 添加:@deepgram/sdk
  • Environment Variables 添加:DEEPGRAM_KEY

可见性选择 protected 就够用:只允许 Twilio webhook 触发,减少暴露面。

2)函数A:/inbound(接听、提示、录音)

答案:用TwiML告诉Twilio“先说一句提示,然后录音,结束后回调到/transcribe”。

// /inbound
exports.handler = function(context, event, callback) {
  let twiml = new Twilio.twiml.VoiceResponse();

  twiml.say(
    { voice: 'woman', language: 'en' },
    'Try Deepgram transcription by speaking after the beep. Talk about what you see around you right now.'
  );

  twiml.record({
    maxLength: 30,
    playBeep: true,
    recordingStatusCallback: '/transcribe'
  });

  return callback(null, twiml);
};

小企业场景里,我建议你把提示语改成更“业务导向”的版本,比如:

  • “请留下您的姓名、需求和方便回电时间,我们会在10分钟内联系您。”
  • “请说出订单号与问题类型:退款/发票/物流/产品咨询。”

提示语写得越具体,后面转录文本越好用。

3)函数B:/transcribe(取录音、转写、发短信)

答案:Twilio回调会给你RecordingUrlCallSid,你用CallSid查到来电号码,再把录音URL交给Deepgram。

// /transcribe
const { Deepgram } = require('@deepgram/sdk');
const deepgram = new Deepgram(process.env.DEEPGRAM_KEY);

exports.handler = async function(context, event, callback) { const { RecordingUrl, CallSid } = event;

const twilioClient = context.getTwilioClient(); const { from: caller, to: twilioNumber } = await twilioClient.calls(CallSid).fetch();

const transcriptionFeatures = { punctuate: true, tier: 'enhanced' }; const { results } = await deepgram.transcription.preRecorded( { url: RecordingUrl }, transcriptionFeatures );

const { transcript } = results.channels[0].alternatives[0];

const message = await twilioClient.messages.create({ body: Here is what you said:\n\n${transcript}, to: caller, from: twilioNumber });

return callback(null, { results, message }); };


到这里,你已经拥有一个“语音→文字→通知”的闭环。

## 从“发短信”升级到“自动化工作流”:更值钱的部分在后面
**答案:短信只是演示,真正的收益来自把转录文本接进你的业务系统。**我更推荐把这一步当成“触发器”,后面接三类自动化最常见。

### 1)线索与工单自动创建(CRM/Helpdesk)
把转录文本写入CRM备注或创建工单,你至少能做到:

- 自动标记来源:`channel=phone`
- 自动提取关键字段:姓名、电话、服务地址、期望时间
- 自动分配负责人:按地区/产品线/值班表

一个简单但很有效的策略:**用关键词做第一层路由**(比如“退款/报价/预约/投诉”),比一上来就做复杂NLP更稳。

### 2)团队通知与协作(Slack/飞书/Teams)
当来电提到“紧急”“今天上门”“系统宕机”等词时,把转录推送到指定群,值班同事能第一时间看到。

你还可以附带:

- 来电号码、通话时间、录音链接(如合规允许)
- 一个“是否需要回拨”的快捷按钮(后续可接Twilio发起外呼)

### 3)质检与合规留存(特别适合受监管行业)
如果你在金融、医疗、保险或需要录音留存的行业,转录文本能极大降低检索成本:

- 搜索某个承诺/条款是否被提及
- 抽样检查客服是否遵循话术
- 争议发生时快速定位证据

在“人工智能在通信与5G/6G”的语境里,这类能力会越来越普遍:当网络侧保证更稳定的音频质量与更低的抖动,语音识别的可用性也会跟着上一个台阶。

## 生产环境别踩坑:稳定性、安全、成本三件事
**答案:先把失败路径想清楚,转录项目才不会变成“偶尔好用的Demo”。**下面是我建议你上线前至少检查的清单。

### 1)失败重试与兜底
- Deepgram转写失败怎么办?
  - 给来电者发一条兜底短信:“我们收到了留言,但转写失败,将人工回听。”
  - 把失败事件写日志(或发到告警群)
- 录音为空或太短怎么办?
  - 对 `transcript` 做长度判断,太短就不发或提示重录

### 2)隐私与权限控制
- Twilio Functions 使用 `protected`
- 不要把 `DEEPGRAM_KEY` 写进代码
- 若涉及个人敏感信息,考虑:
  - 缩短保留时间
  - 仅保存转录摘要而不是全文
  - 对外发短信避免包含敏感字段(例如身份证号、病情)

### 3)成本控制(很现实)
电话录音、短信、转写都按量计费。控制成本通常靠三招:

- 把 `maxLength` 设成业务需要的最小值(例如30秒或60秒)
- 提示语引导用户“先说关键信息”,减少无效语音
- 把转写 tier/参数按场景分级:高价值来电用更高准确率,普通留言用标准档

## 常见问题(你大概率会问到)
### Q1:能不能实时转写,而不是录完再转?
可以,但实现会更复杂,通常涉及媒体流与实时识别。对小企业而言,**“录完即转”已经足够解决80%的问题**,而且更稳定。

### Q2:能不能把中文来电也转出来?
可以。你需要在转写请求里设置语言/模型(具体参数以你使用的语音识别服务为准)。同时建议把提示语换成中文,并尽量减少背景噪声。

### Q3:短信发给客户真的有用吗?
对“留资/预约/报修”类场景很有用,因为客户立刻拿到自己说过的话,能减少误解。更常见的做法是:**客户收到确认短信,内部团队收到转录+派单信息**。

## 下一步:把“来电转录”变成你的AI语音助手入口
你现在有了一个清晰的起点:用 Twilio 接入电话网络,用 Deepgram 把语音变成文本,再把文本喂给自动化系统。这就是很多AI语音助手的底层逻辑——只不过“助手”不一定要会聊天,它也可以是**默默把工作流跑顺的自动化引擎**。

如果你准备继续往前走,我建议按这个顺序升级:

1. **转录→自动分类(意图识别)→分配负责人**
2. **转录→生成摘要→写入CRM/工单**
3. **转录→触发外呼或短信模板→闭环跟进**

当5G/6G把通信质量与连接密度推上去,企业的竞争差异会越来越像这样一句话:

> “你们公司接到一通电话后,是有人去处理,还是系统自己开始运转?”

想把这套流程扩展成“语音助手 + 自动化工作流”(例如自动建单、自动回访、自动质检)时,你最想先自动化的是哪一步?