Agent skill · marketing growth · sundial-org
phone-agent
Run a real-time AI phone agent using Twilio, Deepgram, and ElevenLabs. Handles incoming calls, transcribes audio, generates responses via LLM, and speaks back via streaming TTS. Use when user wants to: (1) Test voice AI capabilities, (2) Handle phone calls programmatically, (3) Build a conversational voice bot.
Why this skill is useful
Adds a complete executable setup for a real-time AI phone agent using Twilio, Deepgram, and ElevenLabs, which includes server scripts and integration patterns not commonly found in public documentation.
What it needs
Requires ngrok, python installed locally. Requires deepgram, elevenlabs, openai, twilio account access. About 1k tokens when loaded. Last updated 2026-03-07. 639 stars on the source repository.
What this skill does
Phone Agent Skill Runs a local FastAPI server that acts as a real-time voice bridge. Architecture Prerequisites 1. Twilio Account: Phone number + TwiML App. 2. Deepgram API Key: For fast speech-to-text. 3. OpenAI API Key: For the conversation logic. 4. ElevenLabs API Key: For realistic text-to-speech. 5. Ngrok (or similar): To expose your local port 8080 to Twilio. Setup 1. Install Dependencies: 2. Set Environment Variables (in ~/.moltbot/.env, ~/.clawdbot/.env, or export): 3. Start the Server: 4. Expose to Internet: 5. Configure Twilio: Go to your Phone Number settings. Set "Voice & Fax" -> "A Call Comes In" to Webhook. URL: https://<your-ngrok-url>.ngrok.io/incoming Method: POST Usage Call your Twilio number. The agent should answer, transcribe your speech, think, and reply in a natural voice. Customization System Prompt: Edit SYSTEMPROMPT in scripts/server.py to change the persona. Voice: Change ELEVENLABSVOICEID to use different voices. Model: Switch gpt-4o-mini to gpt-4 for smarter (but slower) responses.
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills sundial-org/phone-agent