An intelligent voice agent designed to make custom automated calls with the goal of converting leads into new users, using natural language, interest detection, and automated tools like SMS sending and automatic call hang-up.
- 🤖 Trained voice agent with natural language, charismatic style, and conversion-focused approach.
- ☎️ Automated calls to a lead list based on a customized prompt.
- 💬 Response detection with dynamic fallback if the lead doesn’t reply.
- 🔁 Dynamic dialogues, supporting frequently asked questions about the offer.
- 📲 SMS sending with a link to the offer after the lead shows interest.
- 🔚 Automatic call termination after conversion (via
hangUp()). - 📦 Integration with n8n, Google Sheets, Ultravox, and Twilio.
The voice agent follows a customized prompt that can be easily adjusted to meet different business needs. You can configure:
- The call objective (e.g., sales, information, scheduling).
- The tone and conversation style (e.g., charismatic, formal, straight to the point).
- Custom responses for common questions related to your offer (e.g., minimum deposit, company regulations, etc.).
- Specific topics to be addressed during the call.
- Dynamic fallbacks to ensure a smooth conversation even if the user doesn’t respond or deviates from the topic.
With this flexibility, the system can be reused for different niches and campaigns, adapting to the requirements of each new project or offer.
- Twilio: Used to make automated calls and manage user interactions.
- Ultravox: Text-to-Speech (TTS) platform to generate the voice agent’s speech.
- n8n: Orchestration of automation flows.
- Node.js + Express: Backend to orchestrate the system logic and expose API endpoints.
- SMS Funnel: Platform for sending automated SMS messages.
- All leads are fetched from a Google Sheets spreadsheet.
- A loop iterates over the array of leads.
- An HTTP request is made to start the call.
- The call is automatically ended with
hangUp(). - A WebHook is triggered as soon as the call finishes.
- If there’s interest, the row corresponding to the contacted lead is updated in the spreadsheet.
- An HTTP request is sent to the WebHook to add the lead to the SMS sending list.
