Hackathon-Ready Voice Agent with Smart Integrations
An intelligent voice agent platform that integrates ElevenLabs Conversational AI with Twilio for seamless phone calls, featuring voice-triggered integrations, DTMF answering machine navigation, and Mem0 brain context for personalized conversations.
The platform consists of multiple interconnected components working together to provide a comprehensive voice agent solution:
- Twilio Integration: Handles phone call routing and real-time audio streaming via WebSocket
- ElevenLabs Conversational AI: Provides natural language processing and voice synthesis
- Voice-Triggered Integrations: Calendar, Email, and WhatsApp actions triggered by keywords
- DTMF Handler: Automatic answering machine navigation with tone generation
- Mem0 Brain Context: AI memory for personalized conversations and user preferences
- Frontend (Next.js): Modern web interface with simplified integrations UI
- Status Polling: Real-time call status updates and transcript display
- Call Initiation: Users initiate calls through the web interface with instructions and phone numbers
- Brain Context Loading: Mem0 loads previous conversation memories and personalizes the agent
- Audio Processing: Real-time audio streams through WebSocket connections between Twilio and ElevenLabs
- Keyword Detection: System detects trigger words ("appointment", "email", "message") during conversations
- Smart Integrations: Automatically executes Calendar, Email, or WhatsApp actions based on voice commands
- DTMF Navigation: Handles answering machines with automatic DTMF tone generation
- Status Updates: Real-time call progress tracking with visual feedback
- Calendar: Say "schedule appointment" β automatically books meetings
- Email: Say "send email" β triggers email notifications
- WhatsApp: Say "text message" β sends WhatsApp messages
- Visual Feedback: See integration actions in real-time during calls
- Auto-Detection: Recognizes voicemail greetings and automated systems
- Smart Navigation: Automatically presses appropriate keys (1 to skip, 0 for operator)
- Seamless Experience: Handles answering machines without human intervention
- Personalized Conversations: Remembers previous interactions and preferences
- Dynamic Greetings: Custom welcome messages based on caller history
- Context Injection: Enhances ElevenLabs agent with relevant memories
- Live Tracking: See call progress, connection status, and transcript updates
- Visual Indicators: Blinking integration status and call state indicators
- Persistent Display: Status updates that don't "poof" during active calls
- Node.js (v18 or higher)
- npm or yarn package manager
- Twilio account with phone number
- ElevenLabs API access
- Mem0 API key (optional, for brain context)
- ngrok (for local development)
git clone https://github.com/mousberg/buster.git
cd buster# Navigate to the backend directory
cd inbound
# Install dependencies
npm install
# Copy environment configuration
cp env.yaml.example env.yamlEdit inbound/env.yaml with your API keys and configuration:
ELEVENLABS_API_KEY: "your_elevenlabs_api_key"
ELEVENLABS_AGENT_ID: "your_agent_id"
TWILIO_ACCOUNT_SID: "your_twilio_account_sid"
TWILIO_AUTH_TOKEN: "your_twilio_auth_token"
TWILIO_PHONE_NUMBER: "your_twilio_phone_number"
MEM0_API_KEY: "your_mem0_api_key" # Optional, for brain context# Navigate to the frontend directory
cd ../frontend
# Install dependencies
npm install
# Start the development server
npm run devThe frontend will be available at http://localhost:3000
Start the backend server:
# In the inbound directory
node index.jsSet up ngrok tunnel for local development:
# Install ngrok if not already installed
# Then create a tunnel to your local server
ngrok http --url=your-static-url 8000- Log into your Twilio Console
- Navigate to Phone Numbers β Manage β Active Numbers
- Click on your Twilio phone number
- Set the webhook URL for incoming calls:
https://your-ngrok-url.ngrok.io/twilio/inbound_call - Set the webhook method to
POST - Save the configuration
- Open the frontend at
http://localhost:3001 - Click the β‘ integrations button
- Toggle on Calendar, Email, or WhatsApp
- Make a test call and say trigger words like "schedule appointment"
- Watch integration actions appear in the call transcript
- Call a number with an answering machine or automated system
- Watch the console logs for DTMF detection and tone generation
- The system will automatically navigate voicemail menus
- Visit
/demopage to create test memories - Make calls with the same phone number
- Notice personalized greetings and context-aware responses
# In the inbound directory
gcloud config set project YOUR_PROJECT_ID
gcloud builds submit --config cloudbuild.yamlThe frontend can be deployed to platforms like Vercel, Netlify, or any service supporting Next.js:
# Build for production
npm run build
# Start production server
npm startTo enable automated code reviews and Claude bot integration:
- Add
ANTHROPIC_API_KEYto your repository secrets - The workflows in
.github/workflows/will automatically activate for PRs and issues - Use
@claudementions in issues and PRs to trigger the Claude bot
- Connection Issues: Verify your ngrok URL is correctly configured in Twilio
- API Key Errors: Double-check all API keys in your environment configuration
- WebSocket Errors: Ensure your firewall allows WebSocket connections
- Audio Quality: Check your internet connection and Twilio account limits
For issues and questions:
- Check the
CLAUDE.mdfile for detailed technical information - Review the GitHub Actions workflows for automation setup
- Consult the individual component documentation in their respective directories


