CURSO COMPLETO: Cómo Crear AGENTES de VOZ con IA (Sin Código, Paso a Paso)
Welcome to the Best Course on AI Voice Agents
Introduction to the Course
- This course promises practical knowledge on creating real-world voice agents with AI, contrasting with other theoretical content available.
- The goal is to equip learners with skills to sell these solutions for significant profits or implement them in their own businesses.
Demonstration of AI Capabilities
- A demonstration features an AI receptionist named Laura, showcasing her ability to handle a dental appointment call seamlessly.
- The interaction highlights how the AI can manage scheduling without human intervention, emphasizing its efficiency and error-free operation.
Real-World Applications and Benefits
- The AI agent has reportedly helped a business generate over €30,000 by managing client interactions autonomously.
- This example illustrates the potential financial benefits of implementing such technology without needing additional staff.
Course Structure and Content Overview
Learning Objectives
- Participants will learn what a voice agent is, how it operates, and the current market opportunities for this technology.
- The course will address common pitfalls in implementation and provide strategies to avoid them.
Practical Steps in Development
- Learners will build their own voice agent from scratch using specific tools like Vapi, N8N, and Tilio—no prior technical experience required.
- Key functionalities such as appointment scheduling, lead qualification, and connecting to real phone numbers will be covered comprehensively.
Market Demand for Voice Solutions
Current Market Landscape
- There is a high demand for businesses seeking voice solutions; many are unaware of their existence or potential benefits.
- Despite high demand, there is a shortage of professionals skilled in these technologies, leading to lucrative opportunities for those who invest time in learning them.
Commitment to Learning
- The speaker emphasizes that only 1% of viewers may take actionable steps after watching this video; most may not fully appreciate its value.
- For those willing to engage seriously with the material presented, significant learning outcomes are promised throughout the course duration.
Conclusion: Invitation to Engage
Encouragement for Participation
- Viewers are encouraged to take notes and actively participate in learning throughout the course as they explore valuable insights into developing voice agents with AI technology.
- The speaker expresses confidence that participants will find immense value in applying what they learn during this comprehensive training session.
Introduction to Voice Agents and AI Solutions
Overview of the Video's Purpose
- The video aims to demonstrate how viewers can learn to develop voice agent solutions using artificial intelligence, emphasizing that it is free and valuable.
- It introduces the potential impact of this technology on businesses, preparing viewers for a step-by-step guide on creating these solutions without prior knowledge.
Understanding Voice Agents
- Before diving into technical details, it's crucial to understand what a voice agent is and the tools required for development.
- The speaker highlights that understanding various tools will simplify future developments as technology evolves.
Key Tools for Development
- Four main tools are introduced: Vapi, Tilio, N8N, and Go High Level. Each plays a critical role in building automated systems capable of handling calls and tasks.
- Unlike basic bots that provide limited responses, modern voice agents can perform complex tasks such as scheduling appointments and analyzing call data.
Monetizing Voice Agent Solutions
Business Opportunities with Voice Agents
- Viewers can sell complete voice agent systems ranging from €1,000 to €10,000 based on complexity and client needs.
- The speaker emphasizes solving real business pain points—like missed calls or lack of customer qualification systems—as key selling propositions.
Market Potential
- There’s an abundance of opportunities in various sectors (real estate, aesthetics clinics), countering concerns about market saturation.
- The speaker reassures that many people lack the skills to implement these solutions effectively; thus competition remains low.
The Technological Dream Team
Essential Tools Explained
- A brief overview of four essential tools is provided; while five are mentioned initially, only four are key players in the system.
Tool Breakdown:
- Vapi:
- This tool serves as the conversational brain for voice agents. It manages conversations and understands natural language while determining when additional help is needed from other tools.
- N8N:
- Details about N8N will be elaborated later in the course but it’s recognized as a leading automation platform with AI capabilities.
This structured approach provides clarity on developing voice agents using AI technologies while highlighting their business applications and market viability.
Voice Agent System Overview
Introduction to the Voice Agent System
- The voice agent system will act as the nervous system and arms of the project, executing tasks based on commands received from Bapi.
- N8N will handle task execution such as scheduling appointments and processing post-call analysis.
Role of Key Tools
- Tilio: Serves as a technological gateway, enabling voice agents to interact with real-world phone systems for making and receiving calls. This is crucial for functionality in business contexts.
- Go High Level: Functions as a CRM to centralize information about leads, allowing for appointment scheduling and data management after calls are made. Additional tools like cal.com will also be integrated for managing appointments effectively.
Process Flow of Voice Agents
- The process begins when potential clients submit their information through Facebook Ads; shortly after, the voice agent contacts them to schedule an appointment at an aesthetic center.
- Go High Level captures lead information from ads, which triggers N8N to send messages to Bapi, leading Tilio to make calls using Vapi and Twilio for communication with clients. After calls, N8N processes call data for CRM updates in Go High Level.
Understanding VAPI
Introduction to VAPI
- VAPI is identified as the software tool used for creating AI-powered voice agents; it competes with platforms like Eleven Labs and Retail AI but operates on similar principles across all platforms.
Learning Focus
- The course emphasizes applying the Pareto Principle (80/20 rule), focusing on mastering 20% of VAPI's features that yield 80% of desired results in developing voice agents. This approach simplifies learning by concentrating on essential functionalities rather than overwhelming users with complex interfaces or features they may not need frequently.
Voice Assistants and Tools Overview
Introduction to Voice Assistants
- The discussion begins with an overview of voice assistants, emphasizing the tools needed to create them, including phone numbers for Twilio connections and the use of Eleven Labs for voice selection.
- Outbound systems are introduced as a means to make calls, alongside customizable integrations and team setups for voice agents.
Observing Metrics
- The importance of metrics is highlighted, particularly focusing on call logs and session logs for analyzing post-call data.
- The speaker emphasizes starting from scratch with a blank template when creating a new assistant named "Laura" to ensure full customization.
Creating a Voice Assistant
- Upon creating the assistant, various configurations are available, such as model selection, voice settings, transcription configuration, and advanced settings.
- Testing options are discussed; chat testing is preferred as it does not consume credits.
Credits and Costs
- A promotional offer is mentioned where viewers can receive $50 in free credits by applying a specific code during credit purchases.
- The cost structure of using the voice agent is explained: 10 cents per minute of conversation with a latency of 1050 milliseconds.
Understanding Voice Agent Functionality
- The operational mechanics of a voice agent are broken down into four parts: fixed costs per minute, transcription costs for converting speech to text, AI response generation from text input, and finally converting that response back into speech.
- It’s clarified that the AI model must transcribe spoken words into text quickly so that it can generate appropriate responses.
Voice Assistant Configuration
Model Selection
- The voice assistant model can be configured, with options from various providers including OpenAI, Anthropic, Google, and others.
- The preferred model is the "4 or Mini," noted for its speed and cost-effectiveness, suitable for most voice agent tasks.
Conversation Initiation
- It is recommended to set the agent to speak first to initiate conversations effectively.
- A personalized greeting message should be created using a variable (e.g., name), which will be replaced by the user's actual name during interactions.
System Prompt Importance
- The system prompt is crucial; if it’s poorly constructed, the voice agent will not function correctly.
- This prompt defines the agent's identity, responsibilities, and available tools. Clear instructions are essential for effective operation.
Crafting Effective Prompts
- An example of a basic system prompt includes defining the assistant's role and current time in Spain as a variable.
- Guidelines for communication style include using friendly language and formatting numbers in words for clarity.
Tool Utilization
- Tools must be specified within the system prompt; one key tool is checking appointment availability before scheduling.
- The process involves confirming user details (name, email, desired date/time), ensuring that appointments are scheduled accurately based on availability.
Appointment Scheduling and Voice Agent Configuration
Overview of Appointment Scheduling Features
- The session duration feature is mentioned but will be removed as it won't be utilized. If the desired time slot is unavailable, the system suggests two nearby alternatives.
- A cancellation tool for clinical appointments may or may not be included based on client preferences; some clients prefer using WhatsApp for confirmations or cancellations instead.
- The agent must check availability and schedule appointments while considering the timezone parameter, specifically "Europe/Madrid" for agents operating in Spain.
Operational Rules and Error Handling
- The operational hours are set from Monday to Friday, 9 AM to 5 PM. Textual representation of numbers is preferred to avoid miscommunication during audio generation.
- If a user does not understand, the agent reformulates questions. After two unsuccessful attempts at communication, it offers to take a message for follow-up by the team.
- For requests outside operational hours, users are informed of clinic hours and can register their request for later contact.
Technical Specifications
- Knowledge files can be added but are often unreliable; it's recommended to include all necessary information directly in the prompt instructions.
- Maximum tokens (word count limit) are set at 500 to ensure comprehensive responses without abrupt cut-offs during conversation.
- Temperature settings control randomness in AI responses; a lower temperature (0.2 - 0.3) ensures adherence to provided instructions.
Voice Configuration
- Voice configuration is crucial; realistic voice quality enhances user experience. Eleven Labs is highlighted as a leading platform for generating high-quality voice models.
- Users can filter voices by language and accent; Spanish voices with Peninsular accents are selected, typically favoring female voices for agents.
Selecting and Implementing Voices
- Each voice has unique characteristics that affect expressiveness; testing various options helps find an ideal match for user interaction.
- To implement a chosen voice, its unique ID must be copied from Eleven Labs, allowing integration with the appointment scheduling system.
Configuration of Voice Agent
Setting Up the Voice Model
- The configuration process begins by manually changing the provider ID and copying a previously obtained voice identifier code.
- Users can choose between two models: 11 Turbo or 11 Multilingual; the speaker prefers using 11 Multilingual for its versatility but opts for 11 Turbo in this instance due to its speed.
Customizing Additional Settings
- Additional settings allow customization, such as adding background sounds (e.g., office noise) to enhance realism and prevent an empty audio experience.
- Community feedback often revolves around finding the best configurations; however, it is emphasized that personal preference through iterative testing is key to achieving optimal results.
Understanding Configuration Values
- While various parameters like stability, clarity, speed, and style exaggeration can be adjusted, minor differences (e.g., stability at 0.4 vs. 0.5) are not critical to functionality.
- A balance must be struck between speed and quality; lower latency may lead to slightly inferior voice output but allows for faster generation.
Progressing with Voice Agent Development
- After configuring the initial voice agent settings, further steps include creating tools and connecting them to a phone system for comprehensive functionality.
- A free masterclass on November 4th will provide hands-on guidance for participants interested in building their own voice agents from scratch.
Importance of Language Settings
- Ensuring that the transcriber is set to Spanish is crucial if the voice agent operates in Spanish; incorrect language settings will hinder functionality.
Integrating N8N Automation Tools
Introduction to N8N Workflow
- N8N is introduced as a leading automation tool for integrating AI with voice agents; workflows are created from scratch within this platform.
Creating Tools for Voice Agents
- To create tools necessary for the voice agent's operation, users navigate to 'tools' within N8N and select 'Create Tool' for custom functionalities.
- Once tools are created, they do not need reconfiguration unless changes are required; various options exist including custom tools and information retrieval functions.
Integrating AI Tools with N8N
Overview of Integrations
- Discusses various integrations such as MCP, Google Calendar, and Go High Level. The speaker prefers using N8N for reliability and functionality.
- Emphasizes the use of a custom tool in N8N to personalize functionalities, specifically for checking availability.
Setting Up Parameters
- Explains the need to set parameters and server settings when configuring tools in N8N. Highlights the importance of webhooks for communication between voice agents and N8N.
- Introduces VIPI as a tool for creating AI voice agents and mentions how N8N will facilitate automation processes.
Understanding AI Infrastructure
- Clarifies that N8N is an open-source application that can be installed on personal infrastructure, which is crucial for managing AI solutions effectively.
- Stresses the importance of having a well-defined AI infrastructure to enhance professionalism in business operations.
Building Your Own AI Infrastructure
- Outlines steps to create an AI infrastructure from scratch, mentioning three key services: Hostinger, Easy Panel, and N8N.
- Defines an intelligent AI infrastructure as modular and scalable, aimed at automating processes while centralizing conversations.
Key Components of Infrastructure
- Describes VPS (Virtual Private Server) as essential real estate for hosting your AI infrastructure; recommends Hostinger but notes alternatives are available.
- Mentions Easy Panel as a user-friendly interface over Linux that simplifies management tasks without needing complex command-line inputs.
Installation Process Insights
- Explains how Easy Panel facilitates service installation with minimal effort compared to traditional methods involving terminal commands.
- Prepares viewers for upcoming tutorials on setting up their own infrastructures by emphasizing the ease provided by Easy Panel.
Introduction to N8N and Its Installation
Overview of N8N
- N8N is an open-source automation tool that can be installed for free on a VPS server, requiring only payment for the server resources.
- Using a self-hosted version of N8N is significantly cheaper and more scalable than renting the cloud version.
Importance of Infrastructure
- The video aims to provide a comprehensive guide on installing AI infrastructure, which few people discuss in detail.
- Understanding the components needed for installation is crucial before proceeding with the setup process.
Step-by-Step Installation Guide
- The installation will utilize Hostinger's VPS service, but similar steps apply regardless of the VPS provider.
- Users are advised not to select hosting specifically for N8N as it limits the broader AI infrastructure capabilities.
Choosing a VPS Plan
- Different plans (KVM1, KVM2, KVM4, KVM8) offer varying resources; users should choose based on their specific needs.
- For personal use or small-scale testing, KVM1 may suffice; however, clients may require KVM2 or KVM4 depending on their demands.
Payment and Server Configuration
- Users can opt for different billing periods; longer commitments reduce monthly costs.
- Selecting a server location with lower latency improves performance; Germany offers better latency compared to India in this case.
Finalizing Server Setup
- Easy Panel will be used as the control panel for managing applications within the AI infrastructure.
- After configuring settings and making payments, users must generate and securely store a root password for their VPS.
How to Set Up a VPS with Hostinger
Setting Up the VPS Server
- Hostinger is in the process of creating a VPS server, which will take approximately 5 minutes. Users will receive an email notification once the server is ready.
- After setup, users can manage their VPS by accessing the management screen. It's crucial to keep sensitive information like SSH access secure and not share it publicly.
Accessing Easy Panel
- Users are instructed to create an account on Easy Panel, opting out of spam emails and providing a personal email and password for access.
- The Easy Panel serves as the central control panel for installing applications on the VPS. The interface displays CPU usage, memory utilization, and disk space.
Creating Projects and Installing Applications
- A new project named "moneticia baraj servidor" is created within Easy Panel to install applications such as N8N and Chatbot.
- To install N8N, users must search for it in templates within Easy Panel. They should select the latest stable version from DockerHub instead of using 'latest' or beta versions.
Configuring N8N Installation
- Users are guided to find the latest stable version of N8N on DockerHub by navigating through tags. It’s important to avoid unstable versions that may contain errors.
- Once identified, users copy the stable version number into Easy Panel for installation. This ensures they have a reliable version of N8N set up.
Finalizing N8N Setup
- After installation, users can open their instance of N8N on their VPS server. They need to create an account by entering personal details including email and password.
- An activation key will be sent via email after account creation; this key allows access to additional features in N8N beyond its basic functionalities.
Customizing User Experience
- Users can customize settings in N8N by changing themes (e.g., switching to dark mode). This enhances user comfort during use.
- Finally, users are reminded to input their activation key received via email into settings for full functionality of their newly installed software.
Introduction to Advanced Voice Agent Tools
Overview of the Module
- The module introduces advanced tools for AI voice agents, focusing on scheduling appointments and checking availability.
- Emphasizes the importance of creating functional voice agents that can effectively manage tasks during or after calls.
Key Tools and Setup
- The tutorial will utilize Vapi, Cal.com, and N8N from scratch to set up a voice agent capable of managing calendars.
- Users are instructed to create an account on Cal.com and link it with Google Calendar for effective scheduling.
Connecting Google Calendar
Account Setup
- Users must log in using their Google account to grant Cal.com access to modify their calendar settings.
- It is crucial to set the correct time zone based on user location or client needs for accurate appointment scheduling.
Availability Configuration
- Users can define their client's availability (e.g., Monday to Friday from 8 AM to 4 PM), ensuring appointments are scheduled within these hours.
- The main page of Cal.com allows extensive customization options including event types, reservations, and workflows.
Creating a New Calendar
Calendar Customization
- A new calendar titled "Prueba" is created specifically for appointment scheduling, with a default duration set at 60 minutes per appointment.
- Users can modify various attributes such as title, description, language (Spanish), and save changes accordingly.
Event Naming Conventions
- When creating events in Google Calendar, users can customize how events are named by incorporating variables like the scheduler's name into the event title.
Integrating Voice Agents with N8N
Workflow Creation
- Introduction of N8N workflows that will allow voice agents to check availability and schedule appointments seamlessly through webhooks.
Integrating AI Voice Agent with N8N
Setting Up the Webhook
- The AI voice agent will connect to N8N using a POST type webhook. The response will not be immediate; instead, it will utilize the "respond to webhook" node.
- For testing purposes, a test URL is used initially. In production, the production URL should be employed for seamless automation without manual intervention.
Creating the AI Assistant
- The focus is on creating an AI assistant for dental appointment scheduling. A simple prompt is provided as a starting point.
- It's crucial to include the current time in Spain or the user's country within the prompt to ensure accurate scheduling of appointments.
Defining Key Variables and Tools
- Essential variables include user name, email, and timezone. The timezone must align with cal.com settings for proper functionality.
- Two main tools are introduced: one for checking availability and another for scheduling appointments. These tools are critical before confirming any bookings.
Tool Creation Process
- Users can create custom tools under agents in N8N. The first tool named "mirar disponibilidad clínica" (check clinic availability) is set up with a description indicating its purpose.
- Server settings require inputting the previously created test webhook URL to facilitate communication during testing phases.
Parameter Configuration
- Parameters needed by the voice agent include user name, email, timezone, and requested appointment time. This information is essential for checking availability in N8N.
- Parameters can be added visually or through JSON format; both methods allow users to define necessary variables effectively before applying changes.
Understanding Email and Appointment Parameters
Key Parameters for Voice Agent Configuration
- The four essential parameters for the voice agent include email, name, time zone, and requested appointment. Each parameter must be configured correctly to ensure proper functionality.
- The email format must adhere to specific standards: it should be in lowercase, without accents or special characters, following the structure user@domain.com. Any special characters in usernames should be replaced with standard letters.
- The name parameter captures the caller's name without additional formatting requirements. It is crucial for personalizing interactions within the voice system.
- Time zone settings are vital; for example, using "Europe/Madrid" is recommended for Spanish clinics. This setting needs customization based on the location of the business.
- Requested appointments must be formatted in ISO 8601 to facilitate processing by Cal.com and its API. This ensures that date and time data can be accurately interpreted.
Handling Date and Time Inputs
- If a complete date and time are provided (e.g., "tomorrow at 2 PM"), it should convert into ISO format automatically. For instance, April 12th at 2 PM would translate accordingly.
- When only a general date is given (like "Saturday"), default to midnight of that day to show available times. If no date is specified, use midnight of the next day as a fallback option.
Testing Availability Tool Integration
- To test the availability tool effectively, it must be linked properly within the tools section of N8N; otherwise, the voice agent cannot access this feature.
- After configuring tools, rename them appropriately (e.g., "Check Clinic Availability") to ensure clarity in their function during interactions with users.
Interaction Simulation
- A simulated interaction demonstrates how users will request appointments through voice commands. For example: “I want an appointment tomorrow at 1 PM.”
- Initial testing revealed issues with webhook responses due to misconfiguration; ensuring correct response handling is critical for successful operation.
Workflow Automation Setup
- Establishing automation within N8N requires setting necessary variables using edit fields nodes; understanding both N8N fundamentals and voice agent principles is essential for effective setup.
- Properly configuring these variables allows seamless scheduling of appointments and checking availability through automated workflows integrated into the voice system.
APIcal.com Setup for Scheduling Appointments
Initial Setup Requirements
- The setup requires two key variables:
usernameandevent type slog. Theusernameis essential for accessing the calendar on cal.com, while theevent type slogindicates the duration of scheduled appointments.
Calendar Configuration
- A test calendar is used, with appointment durations set to 60 minutes. This duration is crucial as it defines how long each appointment will last.
User Identification
- The username must match exactly with the URL of the calendar being connected. For example, "Víctor Pérez" corresponds to a specific user ID in cal.com.
Tool Selection for Appointment Management
- Users can choose between scheduling an appointment or checking availability. This functionality will be demonstrated in separate videos, with this video focusing on checking availability first.
Routing Logic Implementation
- A routing mechanism using "1 2 switch" allows navigation between two paths: checking availability and scheduling appointments. Each path is labeled accordingly within the flow setup.
Variable Utilization for Decision Making
- The system uses a variable named
tools callsto determine which route to follow based on whether the function requested is to check availability or schedule an appointment.
Setting Appointment Variables
- After determining the tool's function, variables for both start and end times of appointments need to be established. These are critical for making accurate HTTP requests to cal.com.
Importance of Correct Variable Naming
- It’s vital that variable names like
startandendare used in English as required by cal.com's API documentation; incorrect naming could lead to errors in scheduling requests.
Date Formatting Considerations
- Dates must be formatted correctly (ISO format), ensuring that no additional formatting steps are needed within N8N when processing date information from voice agent requests.
This structured approach provides clarity on setting up APIcal.com for managing appointments effectively while emphasizing critical aspects such as variable naming conventions and routing logic necessary for successful implementation.
How to Schedule Appointments Using Cal.com and N8N
Setting Up the Appointment Date
- The process begins by determining the appointment date, which is set for September 3rd at 12:30 PM. A "plus one day" function is used to adjust this date.
- Variables for both the start and end times of the requested appointment are established, preparing for an HTTP request to check availability.
Making an HTTP Request
- An HTTP request is made to cal.com using a GET method to retrieve available time slots. This step requires access to an API key from cal.com.
- Authentication is crucial; a generic credential type must be created in N8N to ensure secure communication with cal.com.
Configuring API Credentials
- When creating new credentials, it’s important to label them clearly (e.g., "cal.com test account") and include proper authorization headers.
- The API key must be formatted correctly with a single space after "Bearer" in the authorization header for successful authentication.
Creating and Managing API Keys
- Users can create their first API key through settings on cal.com, choosing expiration options based on their needs (e.g., never expiring for long-term use).
- After saving the API key, it should be copied into N8N with correct formatting to ensure connectivity between N8N and cal.com.
Sending Parameters for Availability Check
- To check availability, parameters such as username ("Víctor PRZ 22"), event duration (60 minutes), start time, and end time need to be sent in the request.
- Additional headers are required specifying the version of the cal.com API being used (latest version as of September 4th, 2024).
Troubleshooting Errors During Execution
- Initial execution may result in errors due to incorrect event type or parameter settings; adjustments are necessary based on feedback from error messages.
- Correcting parameters like event duration from "60" minutes to "30,000" milliseconds resolves issues and allows successful retrieval of available time slots.
Retrieving Available Time Slots
- Upon successful execution after corrections, all available time slots are returned. It's essential that these results show actual free times rather than just empty responses.
Node Configuration for Availability Check
Setting Up the Initial Node
- The process begins with configuring a node to check for available slots. If the JSON data is empty, it will return false; otherwise, it returns true.
- The logic checks if the object (array of information) is not empty, leading to a true response indicating availability.
Responding to Webhook
- A "responding to webhook" node is introduced, which sends information back to the AI voice agent when no slots are available.
- The response format is set as JSON, including tool ID and a message indicating that no time slots are available.
Handling Available Time Slots
- When there are available slots, further checks on specific requested times are performed.
- A code node is utilized to determine if the requested date and time match any available options. This code was generated using ChatGPT.
Suggesting Alternative Times
- The code compares the requested date with available dates and suggests nearby time slots if the original request isn't possible.
- Two branches are created: one for when a slot is available and another for when it's not. Each branch uses a responding webhook to communicate results back.
Finalizing Responses
- In cases where an appointment can be scheduled, a confirmation message prompts users about scheduling their appointment.
- If the requested time isn't available, alternative suggestions will be provided in response messages.
Testing Workflow Functionality
- Both scenarios (available vs. unavailable slots) are tested within the workflow setup before going live.
- Emphasis on ensuring that during testing with URLs, proper execution of workflows must occur so that voice agents can function without issues in production settings.
Scheduling Appointments with AI Voice Assistants
Initial Appointment Scheduling Process
- The conversation begins with a request for an appointment at 1 PM the next day, requiring the user's name and email to proceed.
- The system confirms availability for the requested time but indicates that it cannot schedule the appointment due to a lack of necessary tools.
Enhancing User Experience During Workflow Execution
- Suggestions are made to improve user experience by adding verbal prompts during silent periods in workflow execution, making interactions feel less robotic.
- A test is conducted where an unavailable time slot is queried; the assistant responds appropriately by offering nearby available times instead.
Handling Unavailable Time Slots
- When a requested time is not available, the assistant suggests two alternative slots (8 AM and 8:30 AM), demonstrating its ability to provide options.
- The assistant's response includes a message indicating unavailability while also suggesting alternatives, showcasing effective communication.
Improving Natural Language Processing
- Discussion on refining language prompts so that times are communicated more naturally (e.g., saying "8 de la mañana" instead of "8 AM").
Integrating Appointment Scheduling Tools
- Introduction to advanced tools for voice assistants, emphasizing the need for prior knowledge from previous videos about checking availability before scheduling appointments.
- Steps outlined for creating an appointment scheduling tool within VAPI, including naming conventions and descriptions for clarity.
Technical Setup and Testing Procedures
- Instructions provided on setting up server settings with webhooks necessary for automation functionality in scheduling appointments.
- Emphasis on using test URLs during development phases versus production URLs when deploying solutions live.
Finalizing Integration into Voice Assistant Systems
- Once created, tools can be utilized across multiple assistants; integration into specific voice agents is discussed as part of ongoing development.
How to Schedule Appointments Using the Clinical Appointment Tool
Setting Up Access to the Clinical Appointment Tool
- The process begins with adding the clinical appointment tool for scheduling appointments in the calendar. It's crucial to publish this setup and grant access to users.
- Users must be given access to the tool; otherwise, they won't be able to utilize it despite its creation in Tools.
Utilizing the Switch Node for Workflow Management
- A switch node is employed to route information received from a webhook, setting necessary variables like event log time and username.
- An example interaction illustrates how a user requests an appointment, providing their name and email for confirmation.
Checking Availability and Scheduling Appointments
- The system first checks availability before confirming an appointment. If available, it prompts the user for confirmation.
- The routing logic differentiates between checking availability and scheduling an appointment based on tool names.
Creating a Flow for Appointment Scheduling
- Once availability is confirmed, creating an appointment involves making an HTTP request to cal.com’s API.
- This step includes accessing available time slots through a previous video tutorial that explains how HTTP requests work.
Making HTTP Requests for Booking Appointments
- To schedule an appointment, a POST method is used instead of GET since information is being sent rather than received.
- Detailed explanations about HTTP methods (GET vs. POST) are provided in foundational modules of N8N training resources.
Configuring API Request Parameters
- The URL needs modification from 'slots' to 'bookings' as we aim to schedule rather than check availability.
- Authentication details are essential; headers must include API versioning information along with other required parameters in the body of the request.
Webhook Configuration for Appointment Scheduling
Setting Up the JSON Payload
- The speaker discusses sending a JSON payload to a webhook, emphasizing the importance of customizing the body with specific parameters for scheduling appointments.
- Key parameters include language (Spanish), name, timezone, email, start time of the requested appointment, and event lock duration (30 minutes).
Troubleshooting Webhook Issues
- The speaker identifies an issue with undefined variables in the webhook setup and stresses the need to define these variables correctly.
- They highlight that essential parameters such as email, name, timezone, and requested appointment must be included in the clinical appointment scheduling tool.
Finalizing Parameters and Saving Settings
- The process involves switching to JSON mode to copy and paste necessary parameters into the workflow configuration.
- After saving these settings, they confirm that all required parameters are now properly configured for sending data back to Vozconía.
Handling HTTP Request Responses
- The speaker explains how to manage responses from HTTP requests by setting up error handling options within the workflow.
- Two response nodes are created: one for successful appointments ("cita agendada con éxito") and another for failed attempts ("cita no agendada").
Structuring Response Messages
- Each response node is designed to return structured JSON messages indicating whether an appointment was successfully scheduled or not.
- Customizable messages inform users about their appointment status; success messages indicate successful scheduling while failure messages suggest trying again later.
Real-world Application Example
- A practical demonstration follows where a user interacts with an assistant to schedule an appointment for dental check-up at a specified time.
How to Schedule Appointments Using Voice Agents
Appointment Scheduling Process
- To schedule an appointment, the agent requests the user's name and email. The user provides their details: "Víctor Pérez" and "Víctorpérez27@gmail.com".
- The requested time for the appointment is confirmed as available for tomorrow at 12 PM, prompting the agent to ask if they should proceed with scheduling.
- A calendar check shows a scheduled meeting from 12 PM to 12:30 PM on September 3rd, confirming that the time slot is occupied.
Handling Conflicts in Scheduling
- When attempting to book another appointment at a conflicting time, the agent informs that the requested slot is unavailable but offers alternatives at 12:30 PM and 1 PM.
- The system successfully checks availability against Google Calendar, demonstrating its functionality by suggesting nearby times when conflicts arise.
Practical Applications of Voice Agents
- These tools are beneficial for various businesses needing appointment scheduling, including dental clinics and beauty centers.
- The ability to manage appointments effectively can enhance customer service across multiple industries.
Future Enhancements
- Upcoming lessons will cover how to implement cancellation features within this voice agent framework.
- Users must modify settings like username and authentication details specific to their business needs after downloading provided workflows.
Integrating Company Knowledge into AI Voice Agents
Methods of Adding Knowledge
- The video discusses how to equip voice agents with specific company knowledge using various methods such as direct file uploads or API calls.
Importance of Contextual Information
- Providing contextual information about services or products helps voice agents respond accurately to user inquiries.
Example Use Case
- An example involves creating an AI assistant for a community platform that requires detailed knowledge about resources available within that community.
Strategies for Effective Implementation
- Four primary methods exist for integrating knowledge bases into voice agents; selecting the right approach depends on specific use cases and desired outcomes.
How to Add Knowledge Bases to Your AI Agent
Uploading Files for Knowledge Base
- To add a file, navigate to the "Add a new file" option or go to the "Files" section on the left panel. Select your desired file and upload it, preferably in .txt format for better readability by AI systems.
- After uploading, select the uploaded file (e.g., "información.txt") and publish it to save it within your AI agent's knowledge base.
Limitations of File-Based Knowledge Bases
- The method of adding knowledge through files is criticized as inefficient because it can slow down the AI agent's response time and increase operational costs.
- When using files, the AI must check them every time it generates a response, regardless of whether that information is needed for user queries. This leads to unnecessary delays.
- The speaker recommends against this method due to its impact on performance and cost-effectiveness.
Alternative Method: Directly Adding Information in Prompts
- An alternative approach involves directly incorporating information into the prompt or base instruction of the AI agent. This allows for quicker access during interactions.
- Formatting this information in Markdown enhances readability for both users and agents, utilizing symbols like hashtags and asterisks for clarity.
- While this method is more efficient than using files, it's only advisable for limited amounts of information (e.g., contact details or hours), as larger datasets can still hinder performance.
Using Dynamic Tools for Knowledge Management
- A third method involves utilizing dynamic tools that allow an AI agent to decide when to access specific knowledge bases based on user queries.
- To create such a tool, navigate to "Tools" and select "Create Tool." Here you can set up a query tool linked with relevant knowledge bases.
- After creating the tool, link it with previously uploaded files (like "información moneticia") so that the agent can dynamically retrieve necessary information when required.
Voice Agent Knowledge Base Integration
Overview of Knowledge Base Options
- The discussed option is superior to previous methods as it allows users to decide when to access the knowledge base, making it more cost-effective and efficient.
- A fourth method involves using an external platform like N8N for accessing external databases, requiring the creation of a custom tool.
- This approach is beneficial for real-time database connections, such as SQL databases, which dynamically store data.
- Users can connect their voice agent to a real-time database via a server URL in N8N, facilitating information extraction.
- Four methods are outlined for integrating a knowledge base into an AI voice agent; understanding these tools is crucial for effective implementation.
Connecting Voice Agents with Twilio
- After creating the voice agent and adding tools, the next step involves post-call analysis and connecting to a real phone using Twilio.
- Twilio serves as a communication bridge between Vapi (the voice agent) and the outside world, enabling both outgoing and incoming calls.
- The goal is to assign one or multiple real phone numbers to the voice agent for call functionality without needing unique numbers for each assistant.
- Understanding Twilio's role is essential; it provides cloud-based services that integrate communications with traditional phone networks.
- Users must create an account on Twilio.com; while trial numbers are available, production agents require purchasing real numbers through upgraded plans.
Purchasing Phone Numbers on Twilio
- To acquire a number on Twilio, navigate through the dashboard where active numbers are managed.
- The process differs based on location; users outside Spain have simpler steps compared to those within Spain when buying phone numbers.
- When selecting a number, ensure it has voice capabilities before finalizing the purchase.
How to Obtain a Phone Number in Spain
Steps for Acquiring a Phone Number
- The key requirement for obtaining a phone number is having voice capability; SMS or MMS are not necessary. Users should select their country (e.g., Argentina) and ensure the chosen phone supports voice.
- For users in Mexico, the process involves selecting Mexico as the country and purchasing a phone directly.
- In Spain, acquiring a phone number is more complex due to verification requirements. Users must follow specific bureaucratic steps to confirm their identity before purchasing.
Verification Process in Spain
- If unable to find the desired number, users should apply for an exclusive Spanish number through Twilio by filling out a form that includes personal details.
- The monthly cost for a local Spanish number is approximately $0.25, with delivery expected within 1 to 3 days after completing the application.
Filling Out Application Details
- When applying, users must provide their local area code (e.g., +34 93 for Barcelona), along with basic information such as email addresses linked to their Twilio account.
- It's crucial that the email used matches the one registered with Twilio; otherwise, submission will be denied.
Bureaucratic Requirements
- To verify legitimacy, two unique identifiers are required: bundle seat and address seat. These identifiers help confirm that applicants are real individuals or businesses.
- Users need to create both regulatory and address bundles by providing accurate company information including name and tax identification number (NIF).
Completing the Application
- During application completion, it’s essential to input real business details accurately; this includes uploading documents that validate provided information like company registration certificates.
- After submitting all required documentation and confirming details, users will receive notification of successful bundle completion if all criteria are met.
Guide to Submitting a Bundle and Validating Addresses in Tuilio
Overview of Bundle Submission Process
- The speaker discusses the interface for bundles in regulatory compliance, showing how to view created bundles. An example bundle is mentioned, which was denied due to its non-existence.
- After obtaining an approved status for a bundle, the next step involves copying the bundle ID from the interface for further use in requesting a phone number.
Address Validation Steps
- If there is no validated address, users must create one by submitting their company details through a new request.
- The speaker emphasizes that users may need to try multiple formats for their address until it is validated by Tuilio, as minor errors can lead to validation failures.
- Once an address is successfully validated after several attempts, it will be associated with an ID that needs to be copied back into the original request.
Finalizing Phone Number Request
- Users are instructed to submit their request once both the bundle ID and validated address ID are entered. The submission typically takes 1-3 business days for processing.
Accessing and Configuring Phone Numbers
- Upon receiving confirmation of a phone number from Tuilio, users can check active numbers within their account dashboard.
- To connect this number with VAPI (Virtual Assistant Platform Interface), users must import it using specific identifiers like account SID and auth token from Tuilio.
Setting Up Inbound Call Handling
- Users learn how to configure inbound settings so that calls directed at their newly acquired phone number are answered by a designated virtual assistant.
- A demonstration shows successful connection between the phone number and virtual assistant capabilities, confirming operational functionality through live testing.
This structured guide provides clear steps on navigating Tuilio's system for managing bundles and phone numbers while ensuring proper validation processes are followed.
How to Automate Calls with AI Assistants
Overview of AI Call Automation
- The speaker introduces the concept of using an AI assistant to make calls when new contacts or leads are added to a CRM system. This will be elaborated in a more advanced section of the course.
Creating a Voice Agent System
- A simple automation example is presented using N8N, where a new workflow named "motor de llamadas" (call engine) will be created.
- The trigger for the call agent is set to activate when a row in Google Sheets is updated with a name and phone number, simulating how it would work with an actual CRM.
Setting Up Google Sheets Integration
- Instructions are provided on creating a blank Google Sheet titled "leads eh llamar," which will store names and phone numbers for calling.
- The process involves adding test data (a name and phone number), followed by testing events to ensure that the information can be retrieved correctly.
Configuring HTTP Requests for Calling
- An explanation of HTTP requests is given, emphasizing their role in communicating with the Vapi server to initiate calls.
- The method used for sending information is POST, requiring specific headers such as authorization and content type (application/json).
Preparing Variables for API Interaction
- Key variables must be set up, including the assistant ID from Vapi and the phone number ID needed for making calls.
- Detailed instructions on retrieving these IDs from Vapi's interface are provided, ensuring users have all necessary identifiers before proceeding.
Structuring JSON Body Content
- Guidance on formatting the JSON body content required for the HTTP request is shared. Templates are available alongside instructional materials to facilitate this process.
How to Set Up Dynamic Variables in Voice Assistant Calls
Configuring the Call Parameters
- The process begins with sending data to a server in Vapi, specifically using the assistant's ID and phone number for making calls.
- Dynamic variables are introduced, allowing personalized greetings based on the lead's name. For instance, if a lead named Víctor is called, the assistant will greet him by name.
- The current date and time are set as variables to enhance personalization during calls. An example given is setting today's date as July 12, 2025.
Implementing Variables in Prompts
- In Vapi's platform, variables can be integrated into prompts using brackets. This allows for dynamic content such as greeting messages that include the caller’s name.
- A specific variable named "nombre completo" (full name) is used to personalize greetings from the assistant María. When calling Víctor, it would say: "Buenas, Víctor, soy María."
Testing and Execution of Workflow
- After configuring variables and saving changes, testing involves executing the workflow to ensure functionality. The speaker demonstrates this by changing their phone number for privacy.
- During a test call simulation, María greets Víctor personally and engages him about scheduling a dental appointment.
Understanding Outbound Calling Systems
- The demonstration illustrates how outbound calls work with voice assistants. It emphasizes that while basic setups are useful, more complex systems can automate follow-ups and decision-making processes.
- Future lessons will cover creating comprehensive AI voice agent systems capable of managing sales processes autonomously.
Course Summary and Next Steps
- The first part of the course concludes with an overview of what has been learned regarding voice agents and their functionalities.
- Key takeaways include understanding how to create voice agents like María who can schedule appointments and send messages effectively.
- Mastery of these foundational skills leads to advanced capabilities in developing systems that generate sales through automated interactions.
Engagement Encouragement
- Viewers are encouraged to engage by liking or commenting on the video content. They are also invited to share feedback on future topics they wish to explore further.
Masterclass Announcement and Resources
Free Masterclass Details
- A free masterclass will be held in November, providing all resources mentioned in the video to attendees.
- To join the live session, participants must join a WhatsApp group linked in the description for updates on the masterclass schedule.
VIP Community Access
- There will be an opportunity to enroll in a VIP community for those interested in advancing their skills further after the masterclass.
Post-Call Analysis Importance
Understanding Call Outcomes
- Emphasizes the significance of post-call analysis, which is often overlooked but crucial for understanding call outcomes.
- Tools like N8N or Go High Level can be utilized to automate tracking what happens during calls, such as scheduling appointments.
Automating Contact Management
- Post-call analysis allows automatic updates of contact statuses within CRM systems based on call outcomes (e.g., moving contacts from "not contacted" to "appointment scheduled").
Webhook Setup for Call Updates
Creating Webhooks
- Instructions are provided on setting up webhooks using N8N to receive real-time updates about call statuses.
- The focus is on configuring notifications specifically for when calls end, filtering out unnecessary updates.
Finalizing Call Messages
- The setup includes customizing farewell messages that callers hear at the end of each conversation.
Variables in Post-Call Analysis
Key Data Points Collected
- Three main variables are highlighted: summary of the call, success evaluation, and structured data.
- The structured data variable is emphasized as critical for extracting specific information from calls.
Structuring Data Extraction
- Guidance is given on how to format structured data into JSON objects for effective data handling and extraction from conversations.
Understanding Boolean Variables in Scheduling
Importance of Boolean Variables
- The concept of a "do not call" variable is introduced, which is a boolean type that can only hold two states: true or false. This indicates whether an appointment has been scheduled or not.
- Variable names are customizable; the speaker emphasizes the importance of defining these variables to capture relevant data from calls for AI processing and webhook integration.
Post-Call Analysis
- The "do not call" variable plays a crucial role in post-call analysis, allowing tracking of customer preferences regarding follow-up calls and identifying urgent needs during conversations.
- Resources and prompts related to this process will be available in an upcoming masterclass, highlighting the significance of structured data collection.
Structuring Data for Webhooks
- A JSON structure is suggested for organizing variables and values, emphasizing the need for clarity in data representation to facilitate understanding by systems like N8.
- Each variable must be manually added with specific types (e.g., string for names, boolean for scheduling status), ensuring accurate data handling.
Setting Up Appointment Variables
Defining Key Variables
- Examples include defining "first name" as a mandatory string variable while establishing other variables such as "scheduled," which should be boolean.
- Additional variables like "schedule date" and "schedule time" are discussed, with instructions on leaving them empty if no appointment is made.
Capturing Call Summaries
- A summary variable captures key points from the conversation, reinforcing its necessity in documenting interactions effectively.
- The speaker provides examples of how to publish these variables within the system after setting them up correctly.
Demonstrating Call Functionality
Live Call Simulation
- A live demonstration involves calling an assistant who introduces themselves and engages with a potential client about scheduling an appointment.
- The interaction showcases how information is collected during calls, including capturing personal details like name and email address.
Data Retrieval Post Call
- After concluding the call, there’s an emphasis on retrieving all relevant data captured during the interaction for further analysis.
- The importance of returning specific values from calls is reiterated as part of effective post-call processing.
Integrating N8N for Scheduling Appointments
Overview of Appointment Scheduling with N8N
- The speaker discusses the integration of N8N to manage appointment scheduling, highlighting the arrival of data such as first name and appointment status.
- Acknowledges a mistake in date input due to missing prompts, emphasizing the need for accurate time settings in scheduling tools.
- Mentions the importance of including current date and time in post-call analysis to ensure clarity for transcribers.
Building Automation Flows
- Introduces the concept of using edit fields in N8N to set variables like name and scheduled status, which are crucial for managing appointments effectively.
- Suggests creating conditional logic (IF statements) based on whether an appointment was successfully scheduled or not, allowing for dynamic updates within CRM systems.
Post-Call Analysis Implementation
- Discusses how successful scheduling can trigger updates in Go High Level CRM, ensuring that client statuses are accurately reflected based on call outcomes.
- Explains potential actions if an appointment is not scheduled, such as updating contact status within the pipeline to reflect attempts made.
Real-world Application and Learning Opportunities
Importance of Understanding Voice Agents and Tools
- Provides a real example from a client's post-call analysis, illustrating how webhook data can drive various automated processes.
- Emphasizes that mastering these tools requires time and practice; encourages joining a community for deeper learning opportunities.
Community Engagement and Support
- Invites viewers to join a WhatsApp group for updates on upcoming masterclasses focused on leveraging AI for business growth through shared experiences.
System Functionality Insights
- Describes how the system intelligently manages follow-up calls based on previous interactions, enhancing customer engagement strategies.
- Concludes by stressing creativity's role in utilizing these automation tools effectively, encouraging learners to explore their potential fully.
Automation in Go High Level CRM
Introduction to Automation
- The discussion begins with the importance of automation for post-call analysis and lead management within the Go High Level CRM.
- Emphasizes the Pareto Principle, stating that 20% of actions yield 80% of results, focusing on essential automations.
Overview of Automations
- Five key automations are highlighted: onboarding, call trigger to N8N, long-term nurturing phase, new leads processor, and retry for non-contacted leads.
- The flexibility of AI infrastructure is noted; users can customize their systems extensively based on business needs.
Practical Example: Aesthetic Clinic
- An example is provided involving a clinic using Facebook Ads to attract leads through promotions like "two-for-one" offers.
- Describes how leads enter the system by providing their contact information via ads, triggering an initial automation flow.
Lead Management Process
- When a lead submits their information (e.g., name and phone), they receive a tag indicating they are in the onboarding process.
- Tags are crucial for initiating further actions; once tagged as 'onboarding', leads transition into a call cycle.
Call Cycle Automation
- Details how contacts progress through different stages (first call, second call, etc.) based on tagging and automated workflows.
- Explains the use of webhooks to connect N8N with Go High Level for real-time data transfer during calls.
Follow-Up Strategies
- If a lead does not respond after three attempts, they are placed into a long-term nurturing cycle instead of being repeatedly contacted.
- Discusses how tags like 'not contacted' help manage follow-up timing effectively while maintaining engagement without overwhelming potential clients.
Voice Agent Systems: A Comprehensive Guide
Overview of Voice Agent Systems
- The video provides a complete guide on creating voice agent systems using artificial intelligence, emphasizing the orchestration of calls and follow-ups through these systems.
- It aims to equip viewers with foundational knowledge to become experts in developing such solutions from scratch, covering extensive material throughout the course.
Upcoming Masterclass Details
- A live masterclass is scheduled for November 4th, where participants will learn about AI infrastructure, hosting N8N, and providing premium services to clients.
- Attendees will receive free resources and tools discussed in the video, available only during the live session.
Community Engagement and Support
- The speaker invites viewers to join a free WhatsApp group for additional resources and updates regarding the upcoming masterclass.
- There is an emphasis on personal engagement within a VIP community that has been closed for a month and a half but will reopen soon for new members seeking personalized guidance.
Importance of Technical Curiosity
- The speaker stresses that developing voice agent systems does not require technical expertise; rather, curiosity and hard work are essential.
- Despite many tutorials online, there is a significant demand for professionals who can effectively implement AI solutions in businesses.