ringbot
Make outbound AI phone calls.
Installation
npx clawhub@latest install ringbotView the full skill documentation and source below.
Documentation
RingBot - AI Phone Calls
Make outbound phone calls with an AI voice agent that can have natural conversations.
💰 Why RingBot? (99% Cheaper Voice AI)
Traditional Voice AI costs: $0.10-0.50/minute (ElevenLabs, PlayHT, etc.)
RingBot costs: ~$0.01/minute (just Twilio phone costs!)
| Component | Provider | Cost |
| STT (Speech-to-Text) | Groq Whisper | FREE |
| LLM (AI Brain) | Groq Llama 3.3 70B | FREE |
| TTS (Text-to-Speech) | Groq Orpheus | FREE |
| Voice Infrastructure | LiveKit Cloud | FREE tier |
| Phone Calls | Twilio | ~$0.01/min |
📦 Two Ways to Use RingBot
Option 1: DIY (Free - Bring Your Own Keys)
Set up your own infrastructure - completely free except Twilio phone costs.
Required accounts:
- Phone number (~$1/month) + calls (~$0.01/min)
- Get:
TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_PHONE_NUMBER
- Create project + SIP trunk connected to Twilio
- Get:
LIVEKIT_URL, LIVEKIT_API_KEY, LIVEKIT_API_SECRET, LIVEKIT_SIP_TRUNK_ID
- Get API key + accept TTS terms:
- Get:
GROQ_API_KEY
# .env for DIY setup
TWILIO_ACCOUNT_SID=your_sid
TWILIO_AUTH_TOKEN=your_token
TWILIO_PHONE_NUMBER=+1234567890
LIVEKIT_URL=wss://your-project.livekit.cloud
LIVEKIT_API_KEY=your_key
LIVEKIT_API_SECRET=your_secret
LIVEKIT_SIP_TRUNK_ID=your_trunk_id
GROQ_API_KEY=your_groq_key
Option 2: Hosted (Paid - Just Bring Twilio)
Don't want to set up LiveKit and Groq? Use our hosted infrastructure.
- ✅ No LiveKit setup needed
- ✅ No Groq setup needed
- ✅ Just connect your Twilio account
- 💰 Pay per minute + rate limits apply
🚀 Use Cases
1. Order Food by Phone
"Call DeLuca's Pizza and order a large pepperoni for pickup under Greg"
2. Make Reservations
"Call the restaurant and make a reservation for 4 people Saturday at 7pm"
3. Schedule Appointments
"Call Dr. Smith's office and schedule my annual checkup for next week morning"
4. Customer Service Calls
"Call Comcast and ask about upgrading my internet plan"
5. Personal Messages
"Call mom and tell her I love her and ask how her day was"
6. Business Lead Qualification
"Call this list of leads and ask if they're interested in our parking solutions"
7. Automated Daily Calls
"Every morning at 9am, call the warehouse and check inventory status"
8. Appointment Reminders
"Call patients and remind them of their appointments tomorrow"
Making a Call
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"to": "+1XXXXXXXXXX",
"purpose": "Brief description of call objective",
"context": "Additional context the AI should know"
}'
Parameters:
to- Phone number in E.164 format (+1XXXXXXXXXX)purpose- What the call is about (guides AI behavior)context- Background info, specific requests, what to collect
Example: Order Pizza
Step 1: Find the restaurant
goplaces search "pizza" --lat 41.36 --lng="-72.56" --limit 3
Step 2: Get phone number
goplaces details ChIJRdQwYs4v5okRY2gp8pgskJ0
# Phone: (860) 663-3999
Step 3: Make the call
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"to": "+18606633999",
"purpose": "Order a pizza for pickup",
"context": "Order: 1 large pepperoni pizza. Customer name: Greg. Ask for pickup time and total."
}'
Tips for Good Results
Purpose - Keep it to one clear sentence:
- ✅ "Order a pizza for pickup"
- ✅ "Schedule a dental cleaning"
- ❌ "Call them and maybe order something or ask questions"
Context - Be specific:
- Customer/caller name
- Exact order or request
- Preferences and constraints
- What info to collect back
Service Management
Start the agent:
cd /path/to/ringbot/src && python agent.py start
Start the API:
cd /path/to/ringbot && python main.py
Check call status:
curl