如何使用 Twilio + ElevenLabs + n8n 构建智能呼叫代理
抱歉,我需要您提供要翻译的正文内容(文章的其余部分)。请把需要翻译的文本粘贴在这里,我会按照要求保留源链接并将内容翻译成简体中文。
系统架构(高级)
Caller
↓
Twilio (Call Handling)
↓
n8n (Workflow Orchestration)
↓
LLM (Decision Intelligence)
↓
ElevenLabs (Voice Synthesis)
↓
Twilio (Playback)
↓
Caller
Source:
1️⃣ 呼叫处理层 – Twilio
设置
-
购买一个支持语音的电话号码。
-
配置 Voice webhook:

- 方法:
POST - URL:
https://yourdomain.com/webhook/call-agent
- 方法:
当有来电时,Twilio 会向此端点发送 POST 请求。
初始问候语 (TwiML)
Hello. How can I assist you today?
发生了什么
- Twilio 朗读 这段问候语。
- 它 捕获 来电者的语音。
- 转录结果会作为
SpeechResult返回。
2️⃣ 工作流与编排 – n8n

核心工作流
Webhook 节点
- 接收
SpeechResult。 - 接收
CallSid(用作会话标识符)。

处理步骤
- 验证 语音输入。
- 发送 转录文本到大语言模型(LLM)。
- 解析 结构化的 LLM 输出。
- 触发 业务逻辑(CRM、数据库、日历、EHR、ATS 等)。
- 生成 给呼叫者的响应文本。

3️⃣ 智能层 – 大语言模型
请求负载(使用 OpenAI 的 gpt‑4o‑mini 示例)
{
"model": "gpt-4o-mini",
"messages": [
{
"role": "system",
"content": "You are a professional voice assistant. Be concise and conversational."
},
{
"role": "user",
"content": "{{ $json.SpeechResult }}"
}
]
}
结构化输出(用于自动化)
让模型返回 JSON,例如:
{
"intent": "book_appointment",
"name": "John",
"date": "2026-02-20"
}
结构化响应使下游节点能够自动执行操作(创建日历事件、更新电子健康记录等)。
4️⃣ 语音生成 – ElevenLabs

API 调用
POST https://api.elevenlabs.io/v1/text-to-speech/{voice_id}
请求体
{
"text": "Your appointment is confirmed for tomorrow at 3 PM.",
"model_id": "eleven_multilingual_v2"
}
该端点返回一个音频文件(MP3),可流式返回给 Twilio。

5️⃣ 播放给来电者
n8n 返回 TwiML,播放生成的音频并循环回 webhook 以进行下一轮交互。
https://yourdomain.com/audio.mp3
/webhook/call-agent
该 “ 创建了一个对话循环,使来电者可以继续说话并接收 AI 生成的回复。
🎉 端到端流程回顾
- 来电者 → Twilio – 问候并捕获语音。
- Twilio → n8n webhook – 传递转录文本和 CallSid。
- n8n – 验证、转发给 LLM、执行业务逻辑、构建回复文本。
- n8n → ElevenLabs – 将文本转换为自然音频。
- n8n → Twilio – 将音频流回给来电者并重定向以进行下一次交互。
通过此架构,你拥有一个 模块化、云原生的流水线,可以扩展(例如添加日志、分析或其他 AI 服务),同时保持每个组件独立可维护。
为什么这套技术栈有效
- Twilio → 可靠的全球电话服务
- n8n → 灵活的编排
- LLM → 智能层
- ElevenLabs → 类人语音
关键要点
借助 Twilio 处理电话通信、n8n 编排工作流、LLM 提供智能,以及 ElevenLabs 带来自然的语音,您可以在无需大量定制基础设施的情况下部署可扩展的语音 AI 系统。
雇佣 n8n 专家 设计生产就绪的架构、优化工作流,并确保无缝集成。