How I Built a Customer Support Voicebot in No Time Using ElevenLabs, Make.com, and Twilio
As a self-proclaimed code enthusiast, I usually stick to building projects the traditional way — writing lines of code that give me full control and flexibility. There’s a certain satisfaction in solving problems from the ground up. But every now and then, I stumble across a tool that makes me pause and rethink my approach.
Recently, I tested the AI agent feature from ElevenLabs, and I have to admit — it impressed me. In just a couple of hours, I was able to create an AI voicebot capable of automatically scheduling meetings and gathering client details, all while delivering a polished, lifelike voice experience. I even connected the voicebot to a phone number using Twilio, making it accessible for real-world scenarios. Impressively, even with a less common language like Dutch, the voicebot performed remarkably well, delivering accurate and natural-sounding interactions.
By combining ElevenLabs with Make.com for automation, I built a fully functional customer support voicebot without writing pages of code. This approach might be different from my usual coding-heavy projects, but the speed and effectiveness of the results speak for themselves.
In this tutorial, I’ll take you through every step to build a voicebot that’s both practical and professional, leveraging the strengths of these tools to achieve impressive results.
ElevenLabs: The Power Behind the Voice
ElevenLabs is a cutting-edge company specializing in advanced text-to-speech (TTS) and voice synthesis technologies. Known for their state-of-the-art AI-driven solutions, ElevenLabs enables users to create ultra-realistic voices for various applications, from audiobooks to voice assistants. Their tools support a wide range of languages and accents, making them an ideal choice for global projects.
One of their latest innovations is the AI Agent feature, which brings conversational AI to life with realistic voice capabilities. This feature allows developers and businesses to create voicebots that go beyond simple TTS by integrating contextual understanding and dialogue management, making interactions feel natural and engaging. Unlike standard call center systems that follow rigid conversation flows, these AI voice agents adapt dynamically, providing more flexible and intelligent responses to user queries.
A standout aspect of ElevenLabs’ AI Agent is its tool-calling feature, which allows the agent to leverage custom tools during interactions. This means the AI agent can seamlessly perform tasks like scheduling meetings, checking dates, or even using custom integrations with platforms like Make.com to automate workflows. Whether it’s accessing a calendar, retrieving client-specific data, or triggering a webhook for more complex actions, the tool-calling feature adds a layer of practicality that transforms the voicebot into a powerful virtual assistant.
When I came across the AI Agent feature, I immediately wanted to test its potential. My goal was to create a voicebot capable of assisting with customer support tasks, such as scheduling meetings, answering questions, and gathering client details. Using ElevenLabs’ intuitive “no-code” platform and its integration capabilities with webhooks, this process turned out to be much simpler than I anticipated.
Step 1: Creating the AI Agent
The first step is to create a new AI Agent. In the Agent tab, there are some basic settings you should configure:
- Agent Language: Multiple languages are available. While the English voice provides the most natural results, I was pleasantly surprised by the quality and naturalness of the Dutch voice.
- Additional Languages: Specify additional languages that the caller can choose from. Currently, the language must be specified upfront and cannot be automatically detected mid-conversation.
- First Message: This is the initial message the agent will say. If left empty, the agent will wait for the user to start the conversation. You can specify different presets for each language.
- System Prompt: This is the most important setting as it defines how your AI Agent will behave. Below, you’ll find the system prompt I designed to create a customer support agent for my AI agency, Pairrot, which helps answer questions and schedule appointments.
**Role and Identity:**
You are June, the voicebot of Pairrot, a cutting-edge AI agency specializing in developing intelligent and tailored AI solutions. Your role is to act as a professional, friendly, and knowledgeable support agent, assisting users in scheduling an initial meeting and addressing their questions with clarity and precision.
**Objective:**
Your primary goal is to provide users with an excellent experience by delivering accurate, actionable, and empathetic responses while efficiently guiding them through processes.
---
**Guidelines:**
1. **Clarity:**
- Provide clear, concise, and precise answers.
- Ensure all responses are easy to understand and free of jargon.
2. **Empathy:**
- Show understanding and care in your responses.
- Address users' concerns with a friendly and supportive tone.
3. **Efficiency:**
- Minimize response times while maintaining high-quality communication.
- Avoid unnecessary details unless explicitly requested.
4. **Adaptability:**
- Tailor your tone and language to suit the user’s mood and preferences.
- Shift between formal and informal tones based on user interaction.
---
**Domain Knowledge:**
**About Pairrot:**
- Pairrot is an innovative AI agency helping organizations work smarter and spend less time on repetitive tasks. By leveraging AI, Pairrot transforms workflows and drives strategic growth.
- **Motto:** *Work smarter, not harder.*
**Services Offered by Pairrot:**
1. **Chatbot and Voicebot Development:**
- AI-driven conversational tools (chatbots and voicebots) using models like GPT-4 and Gemini.
- Enable natural conversations with users.
- Provide deep contextual insights for a smooth and intuitive experience.
2. **Workflow Automation:**
- Solutions to optimize administrative tasks, automate data management, and enhance customer engagement.
- Use autonomous agents to transform workflows and increase efficiency.
3. **Custom AI Solutions:**
- Tailored AI integrations designed to align with clients' goals and specific needs.
- Seamlessly merge AI capabilities with client workflows.
---
**Limitations and Escalation:**
- Acknowledge when you lack the knowledge to answer a question.
- Politely ask for the user’s contact details if the query requires follow-up by a human representative.
---
**Tone and Behavior:**
- Always remain polite, professional, and approachable.
- Aim to make the user's experience seamless, helpful, and enjoyable.
---
**Response Style:**
- Ensure every response is relevant, accurate, and aligned with the user's query.
- Avoid vague or irrelevant answers.
---
**Your Role in Summary:**
As June, you are here to assist users by clearly answering questions, scheduling meetings, and providing a smooth interaction that reflects Pairrot’s innovation and professionalism.
- LLM (Large Language Model): Here, you can select your preferred LLM. I commonly use GPT-4o, as it supports tool calling. If you don’t need tool-calling capabilities, you can opt for faster models, such as Gemini 1.5 Flash, for smoother conversations.
- Temperature: Adjust the temperature of the model to control the creativity or randomness of the responses generated by the LLM.
- Token Limit: Configure the maximum number of tokens that the LLM can predict. If the value is greater than 0, a limit will be applied.
- Knowledge Base: You can provide a knowledge base to the AI Agent to help it answer specific questions accurately. It is possible to add websites and files.
- Tools: Add tools to enable function tool calling (e.g., scheduling appointments, retrieving the date, etc.). More details about these tools will be discussed in the next section.
The remaining advanced settings allow you to fine-tune the voicebot’s audio performance, quality, and security, but leaving them at their default values is perfectly fine for most use cases. You can select the ElevenLabs voice for your agent and incorporate pronunciation dictionaries to refine how specific words are spoken. Additional controls include optimizing streaming latency for faster responses, adjusting stability to balance expressiveness and monotony, and tweaking similarity settings to ensure clarity without introducing artifacts. These settings provide a high level of customization, but the default configurations already deliver a seamless and natural-sounding user experience.
Step 2: Tool Calling
In this step, we’ll integrate two tools that the AI Agent can use to perform specific actions: retrieving the current date and time, and scheduling an appointment.
Retrieving the Current Date and Time
Since the GPT-4o model doesn’t have access to real-time data, it cannot know the current date and time without specific tools. To address this limitation, we’ll add a tool that relies on an API to fetch the current date and time.
To set this up, navigate to the “Add Tool” section and configure a tool for the LLM to use. It’s crucial to provide a clear and descriptive Name and Description so that the LLM knows precisely when to call this tool. For instance, you could name it “Time_date” with a description like “Use this tool if you need the current date and time to determine the exact date for scheduling an appointment”. Once this is done, define the API endpoint as follows:https://timeapi.io/api/Time/current/zone?timeZone=Europe/Brussels
.
Make sure to change the timeZone
parameter based on your location. This straightforward integration enables the AI Agent to provide real-time date and time information whenever required. Up next, we’ll explore scheduling meetings with similar ease.
Scheduling an Appointment
The AI Agent can also gather relevant information from a customer to schedule an appointment directly in your Outlook calendar. This functionality will be implemented using a Make.com webhook, which takes specific parameters as input: date, name, phone number, and additional details about the appointment.
To set this up, we’ll define a “Name” and “Description” for the tool, enabling the LLM to identify when it should use this functionality.
To schedule an appointment, the tool will send a POST request to the Make.com webhook. This webhook will handle the information provided by the customer, such as the appointment date, their name, phone number, and any additional meeting details. We’ll configure the tool to accept these inputs as Body Parameters.
The Description field plays a crucial role in guiding the LLM by specifying what information it needs to request during the conversation. Similarly, each Body Parameter must include a detailed description to instruct the LLM on how to gather the required details from the customer. For instance, the date parameter should be formatted in a standard date format. Additional parameters, such as the customer’s name, phone number, and meeting details, will also have corresponding descriptions. This meticulous setup ensures smooth and accurate data transfer between the AI Agent and the webhook, facilitating a seamless scheduling process.
In the next section, we will configure the Make.com automation, linking it to the webhook and completing the scheduling workflow.
Make.com automation
Make.com is a powerful platform for building automated workflows by connecting different apps and services without needing to write code. Its flexibility and extensive integration options make it an ideal choice for linking tools like ElevenLabs’ AI Agent with other systems, such as your Outlook calendar. In this section, we’ll set up a Make.com webhook to handle scheduling appointments seamlessly.
Setting Up the Make.com Webhook
The first step in automating appointment scheduling is to set up a Webhook Module in Make.com. This webhook serves as the entry point for all scheduling requests from the AI Agent. When triggered, it processes input data — such as the date, customer name, phone number, and meeting details — and passes it to the workflow for further action.
- Create a New Scenario: Log into Make.com and create a new scenario. Add the Custom Webhook module to the scenario to handle incoming requests from the AI Agent.
- Generate and Copy the Webhook URL: Once the module is added, Make.com will generate a unique webhook URL. Copy this URL and paste it into the tool settings of your AI Agent. This ensures the AI Agent knows where to send scheduling data.
- Define Data Mapping: In the webhook settings, click “Redetermine Data Structure” and test the AI Agent by sending a sample request. This step allows Make.com to automatically configure the webhook to recognize and map incoming parameters, including date, name, phone number, and meeting details.
After testing the AI Agent and verifying its ability to schedule an appointment, the webhook will understand the structure of the incoming requests.
Connecting to Outlook Calendar
Now that the webhook is configured to receive data, the next step is to connect it to your Outlook calendar.
- Add the Module: Add the Microsoft 365 Calendar — Create Event module to the workflow. This module will create a new calendar event using the data received from the webhook.
- Map the Fields: Configure the module by mapping the webhook parameters to the appropriate event fields:
- Subject: Use the meeting details provided by the AI Agent.
- Start Date: Assign the date and time of the meeting.
- End Date: To calculate the end time (e.g., one hour later), use the
addHours()
function to add one hour to the start time. - Body Content: Include additional information about the customer, such as their name and phone number.
Once the workflow is fully configured, activate the scenario in Make.com to enable real-time automation. The AI Agent is now fully integrated and capable of scheduling meetings directly into your calendar. This setup not only streamlines customer interactions but also saves valuable time by automating repetitive tasks.
Connecting the AI Agent to a Twili Phone Number
To make the AI Agent accessible via a phone number, we’ll integrate it with Twilio, a cloud communications platform that enables sending and receiving voice calls and text messages. By connecting Twilio to the AI Agent, customers can interact with the agent through real-world phone calls, providing a seamless and practical communication channel.
Step 1: Set up Twilio Phone Number
- Create an Account: Log into Twilio or create a new account if you don’t already have one.
- Obtain a Phone Number: Navigate to the Phone Numbers section in the Twilio Console and purchase a phone number that supports voice capabilities. Twilio allows you to select a number that’s local to your region or meets your business needs. Alternative: If you want to test the integration without purchasing a number, Twilio offers a trial phone number as part of their trial account. While this trial number can only call verified numbers, it provides a free and convenient way to validate your setup before upgrading to a paid number.
- In the Phone Number section, you will now be able to see your Account SID, Auth Token, and Twilio Phone Number. You will need these details to connect the phone number to your AI Agent.
Step 2: Link the Twilio Phone Number to the AI Agent
With your Twilio phone number ready, the next step is to link it to your AI Agent. Head back to ElevenLabs and navigate to the Phone Number section. Here, you can add a new phone number and associate it with your AI Agent.
Simply input the details of the Twilio phone number, and finalize the setup by connecting it to your pre-configured AI Agent. This integration ensures that incoming calls to the number are routed directly to the AI Agent, enabling seamless interactions for your customers.
With this step completed, your AI Agent is now fully operational and accessible via phone, providing a professional and efficient way to manage customer interactions.
Testing the AI Agent
Once the AI Agent is set up and connected to a phone number, it’s time to test its functionality. Call the phone number to interact with the AI Agent and verify that it performs as expected.
During the test, check if the AI Agent accurately gathers the required data, such as the meeting date, customer name, phone number, and meeting details. Ensure that this data is processed correctly and that the meeting is successfully created in your Outlook calendar.
If any issues arise, use debugging tools in both ElevenLabs and Make.com to identify and resolve errors. Testing thoroughly ensures a smooth and reliable experience for your customers when the AI Agent goes live.
Conclusion
Creating a customer support voicebot using ElevenLabs and Make.com was a fascinating experience that challenged me to think differently. As someone who values the flexibility and control of coding, I appreciated how these tools allowed me to quickly build a functional solution while still giving me room to customize and refine the details.
In just a few steps, I had a voicebot scheduling meetings, answering customer questions, and handling real-world phone calls with a polished, lifelike voice. It was a great reminder that not every project needs to start from scratch — sometimes, leveraging tools like these can save time without compromising on quality.
If you’re curious about voice technology or looking to simplify certain workflows, experimenting with a mix of these tools and traditional coding could be an eye-opening experience. You might be surprised at how quickly you can build something useful while still retaining the ability to make it truly your own.
Follow me for more AI deep dives!