ElevenLabs Phone Calls
Make outbound AI phone calls using ElevenLabs Conversational AI agents via Twilio.
Prerequisites
- 1. ElevenLabs API Key - Set
ELEVENLABS_API_KEY env var - ElevenLabs Agent - Create an agent at https://elevenlabs.io/app/agents
- Twilio Phone Number - Import a Twilio number into ElevenLabs:
- Go to https://elevenlabs.io/app/agents/phone-numbers
- Click "Import Phone Number"
- Enter your Twilio Account SID, Auth Token, and phone number
Quick Start
CODEBLOCK0
Commands
List Agents
CODEBLOCK1
List Phone Numbers
CODEBLOCK2
Make Outbound Call
CODEBLOCK3
Options:
- -
--agent / -a: Agent ID (required) - INLINECODE3 /
-p: Phone number ID from ElevenLabs (required) - INLINECODE5 /
-t: Phone number to call in E.164 format (required) - INLINECODE7 /
-v: JSON object of dynamic variables to pass to the agent (optional)
Get Conversation Details
CODEBLOCK4
List Recent Conversations
CODEBLOCK5
Creating an Agent for Phone Calls
- 1. Go to https://elevenlabs.io/app/agents
- Click "Create Agent"
- Configure:
-
Name: e.g., "Appointment Scheduler"
-
System Prompt: Instructions for how the agent should behave
-
First Message: What the agent says when the call connects
-
Voice: Select a voice
-
LLM: Choose a language model
- 4. Save and note the Agent ID
Example System Prompt for Scheduling
CODEBLOCK6
Dynamic Variables
Pass context to your agent using dynamic variables:
CODEBLOCK7
Reference these in your agent's system prompt as {{customer_name}}, {{vehicle}}, etc.
Costs
- - ElevenLabs: ~$0.07-0.15/min depending on plan
- Twilio: ~$0.014/min for outbound calls + phone number (~$1/mo)
ElevenLabs 电话呼叫
使用 ElevenLabs 对话式 AI 代理通过 Twilio 进行外呼 AI 电话。
前提条件
- 1. ElevenLabs API 密钥 - 设置 ELEVENLABSAPIKEY 环境变量
- ElevenLabs 代理 - 在 https://elevenlabs.io/app/agents 创建代理
- Twilio 电话号码 - 将 Twilio 号码导入 ElevenLabs:
- 访问 https://elevenlabs.io/app/agents/phone-numbers
- 点击导入电话号码
- 输入您的 Twilio 账户 SID、认证令牌和电话号码
快速开始
bash
列出您的代理
{baseDir}/scripts/agents.sh
列出您的电话号码
{baseDir}/scripts/phones.sh
拨打电话
{baseDir}/scripts/call.sh --agent <代理ID> --phone <电话号码ID> --to +15551234567
查看对话记录
{baseDir}/scripts/conversation.sh <对话ID>
命令
列出代理
bash
{baseDir}/scripts/agents.sh [--search 名称]
列出电话号码
bash
{baseDir}/scripts/phones.sh
发起外呼
bash
{baseDir}/scripts/call.sh \
--agent <代理ID> \
--phone <电话号码ID> \
--to +15551234567 \
[--vars {name:John,appointment:周一上午9点}]
选项:
- - --agent / -a:代理 ID(必填)
- --phone / -p:ElevenLabs 中的电话号码 ID(必填)
- --to / -t:要呼叫的电话号码,采用 E.164 格式(必填)
- --vars / -v:传递给代理的动态变量 JSON 对象(可选)
获取对话详情
bash
{baseDir}/scripts/conversation.sh <对话ID>
{baseDir}/scripts/conversation.sh <对话ID> --transcript
{baseDir}/scripts/conversation.sh <对话ID> --audio > call.mp3
列出最近对话
bash
{baseDir}/scripts/conversations.sh [--agent <代理ID>] [--limit 10]
创建电话呼叫代理
- 1. 访问 https://elevenlabs.io/app/agents
- 点击创建代理
- 配置:
-
名称:例如预约调度员
-
系统提示:代理应如何行为的指令
-
首条消息:通话接通时代理说的话
-
语音:选择语音
-
LLM:选择语言模型
- 4. 保存并记录代理 ID
预约调度的示例系统提示
您代表[用户名]致电,安排车辆服务预约。
您的目标:
- 1. 自我介绍并说明目的(安排本田奥德赛检查)
- 请求下周上午的预约
- 确认提供的日期/时间
- 如被问及,提供联系信息:[电话]和[电子邮件]
保持礼貌、简洁和专业。如果被问到无法回答的问题,
请说您会让车主跟进。
动态变量
使用动态变量向代理传递上下文:
bash
{baseDir}/scripts/call.sh \
--agent abc123 \
--phone phone_xyz \
--to +15121234567 \
--vars {customername:Nat,vehicle:本田奥德赛,preferredtime:下周上午}
在代理的系统提示中引用这些变量,如 {{customer_name}}、{{vehicle}} 等。
费用
- - ElevenLabs:约 $0.07-0.15/分钟,视套餐而定
- Twilio:外呼约 $0.014/分钟 + 电话号码(约 $1/月)