RingBot

Make outbound AI phone calls. Use when asked to call a business, make a phone call, order food by phone, schedule appointments, or any task requiring voice calls. Triggers on "call", "phone", "dial", "ring", "order pizza", "make reservation", "schedule appointment".

MIT-0 · Free to use, modify, and redistribute. No attribution required.
4 · 2.1k · 2 current installs · 2 all-time installs
byringbot@gbessoni
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The described functionality (making outbound AI phone calls) legitimately requires Twilio and a media stack (STT/TTS, LiveKit/SIP). The SKILL.md lists the expected credentials (TWILIO_*, LIVEKIT_*, GROQ_API_KEY). However, the registry metadata declares no required environment variables or credentials — an inconsistent declaration that could mislead users about what secrets are needed.
!
Instruction Scope
The SKILL.md instructs the operator to create a .env with sensitive keys, start local Python services (agent.py, main.py), and call a localhost API (http://localhost:8000/ringbot/call). But the skill package contains no code, binaries, or install steps. It also references a 'goplaces' CLI for number lookup without declaring that requirement. These instructions assume software and services that are not present in the bundle, which is incoherent and could lead users to run or paste credentials into unverified infrastructure (especially the hosted option).
Install Mechanism
There is no install specification (instruction-only), which limits direct distribution of code. That is lower risk from an automatic-install perspective, but because the instructions expect the user to run or deploy code (python agent, API) and/or use a hosted service, the skill effectively delegates execution to out-of-band software whose provenance is not supplied here.
!
Credentials
The environment variables listed in SKILL.md (TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_PHONE_NUMBER, LIVEKIT_*, GROQ_API_KEY) are consistent with the stated purpose. The problem is the registry metadata does not declare any required credentials (primaryEnv none). That mismatch is important: users may not realize the skill needs highly sensitive credentials. The hosted option also suggests supplying a Twilio account to a third party — handing account SID + auth token to an external/unknown provider grants them full call-making capability and potential access to billing and phone numbers.
Persistence & Privilege
always is false and the skill does not request automatic permanent inclusion. There is no indication it modifies other skills or system-wide settings. Autonomous invocation is allowed by default (disable-model-invocation is false), which is normal for skills, but combined with the other concerns it increases the importance of vetting where credentials are used.
What to consider before installing
This skill describes a plausible telephony workflow but is packaged only as instructions — no code or install is included — and the registry metadata fails to declare the sensitive credentials the SKILL.md says are required. Before installing or using it: (1) Understand you will need to supply Twilio credentials (and possibly LiveKit/Groq keys) if you run the DIY stack; those are sensitive and allow call-making and billing charges. (2) If you use the hosted option, be careful about giving your Twilio auth token to a third party — prefer OAuth or a vetted integration. (3) The skill expects local services (python agent and API) and a 'goplaces' CLI that are not included; obtain those components from trusted, verifiable sources before running. (4) Consider privacy and legal risks (call recording, consent, PII collection) and minimize what context/credentials you share. (5) If you want to proceed, ask the publisher for: declared required env vars in registry metadata, a link to source code or official repository, and details on the hosted service's security/practices. If the publisher cannot provide verifiable provenance, treat it with caution.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.1.0
Download zip
latestvk97dmvb58k7ezkaftypdpnvwvh8023rv

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

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!)

ComponentProviderCost
STT (Speech-to-Text)Groq WhisperFREE
LLM (AI Brain)Groq Llama 3.3 70BFREE
TTS (Text-to-Speech)Groq OrpheusFREE
Voice InfrastructureLiveKit CloudFREE tier
Phone CallsTwilio~$0.01/min

You only pay for actual phone minutes through Twilio.

📦 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:

  1. Twilio - https://twilio.com

    • Phone number ($1/month) + calls ($0.01/min)
    • Get: TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_PHONE_NUMBER
  2. LiveKit Cloud - https://cloud.livekit.io (free tier)

    • Create project + SIP trunk connected to Twilio
    • Get: LIVEKIT_URL, LIVEKIT_API_KEY, LIVEKIT_API_SECRET, LIVEKIT_SIP_TRUNK_ID
  3. Groq - https://console.groq.com (100% free)

# .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

Coming soon - Contact for early access: https://talkforceai.com

🚀 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 http://localhost:8000/ringbot/call \
  -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 http://localhost:8000/ringbot/call \
  -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 http://localhost:8000/ringbot/call/{call_id}

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…