Voice appointment booking & confirmation system with Vapi, Gemini & Google Calendar

AI Voice Appointment Booking with Vapi and Google Calendar
Build an intelligent appointment booking system that lets customers schedule appointments through natural voice conversations. This workflow connects Vapi AI assistant with Google Calendar to check availability, create appointments, and send professional confirmation emails automatically.
Who's It For
Healthcare providers, consultants, service businesses, coaches, salons, or any business that schedules appointments and wants to automate booking through voice calls.
What It Does
This workflow creates two powerful tools for your Vapi voice assistant:
Availability Checker: When customers ask about available time slots, the assistant calls this workflow which fetches busy times from Google Calendar, processes them through an AI agent, and returns open slots in natural language.
Appointment Creator: Once the customer confirms their preferred time, the assistant triggers this workflow to create the calendar event and send a branded confirmation email with all appointment details.
The entire booking process happens conversationally without requiring customers to navigate websites or apps.
How It Works
Availability Flow:
- Customer asks Vapi assistant to check availability for a specific date
- Vapi calls the first webhook with the requested date
- Workflow queries Google Calendar for busy slots that day
- JavaScript code formats the busy times into readable text
- AI agent analyzes the schedule and identifies available time windows
- Available slots are returned to Vapi in natural language
- Assistant presents options to the customer
Booking Flow:
- Customer confirms their chosen appointment time and provides details
- Vapi calls the second webhook with name, email, date/time, and appointment type
- Workflow creates the calendar event in Google Calendar
- Professional HTML confirmation email is sent via Gmail
- Success confirmation is returned to Vapi
- Assistant confirms the booking to the customer
Requirements
- Vapi account with a configured voice assistant
- Google Calendar for appointment management
- Gmail account for sending confirmation emails
- Google Gemini API key for availability analysis
How to Set Up
1. Activate the Workflow
Import this template and activate it to generate the two webhook URLs.
2. Configure Google Calendar
In both calendar nodes, select your appointment calendar and set your timezone.
3. Connect Gmail
Add your Gmail credentials to the email node and customize the confirmation email template with your branding.
4. Set Business Hours
In the Availability Checker AI agent node, update the system message to reflect your operating hours.
5. Create Vapi Tools
In your Vapi assistant dashboard, add two server tools:
Tool 1: availability_checker
- Function name:
availability_checker - Description: "Checks available appointment slots for a specific date"
- Server URL: Your first webhook URL
- Parameters:
date(string, required, ISO 8601 format)
Tool 2: Creating_the_appointment_and_sending_the_confirmation_email
- Function name:
Creating_the_appointment_and_sending_the_confirmation_email - Description: "Creates appointment and sends confirmation email"
- Server URL: Your second webhook URL
- Parameters:
Name,Email,date and time,Appointment type(all strings, all required)
6. Update Assistant Prompt
Ensure your Vapi assistant knows when to call each tool based on customer requests.
Vapi Configuration
Download the complete Vapi assistant configuration: vapi-config.json
7. Test End-to-End
Call your Vapi assistant and test the complete booking flow.
How to Customize
Appointment Duration: Change the 30-minute default in the "Create an event" node by modifying the .plus(30, 'mins') expression.
Email Template: Edit the HTML in the "Send confirmation email" node to match your brand colors, logo, and messaging.
Business Hours: Update the system message in the "Availability checker" AI agent node to reflect when you accept appointments.
Timezone: Ensure both Google Calendar nodes use your correct timezone for accurate scheduling.
Calendar Selection: Point both calendar nodes to the same Google Calendar to avoid double-bookings.
Appointment Types: Customize the event description format in the "Create an event" node to include relevant details for your business.
This workflow transforms appointment scheduling from a manual back-and-forth into an automated, professional experience that runs 24/7 through voice conversations.
Voice Appointment Booking & Confirmation System with Vapi, Gemini, & Google Calendar
This n8n workflow automates the process of booking and confirming appointments via a voice interface, leveraging Vapi for voice interaction, Google Gemini for natural language understanding, and Google Calendar for scheduling. It streamlines the appointment booking experience, making it conversational and efficient.
What it does
This workflow acts as a backend for a voice-activated appointment system. Here's a step-by-step breakdown:
- Listens for Incoming Voice Interaction: The workflow is triggered by an incoming webhook, likely from a voice API platform like Vapi, carrying the user's voice input or transcribed text.
- Processes Voice Input with AI Agent: The incoming data is passed to an AI Agent (powered by LangChain) which uses a Google Gemini Chat Model to understand the user's intent and extract relevant details for an appointment (e.g., date, time, topic).
- Generates Calendar Event: Based on the AI's understanding, the workflow prepares to create an event in Google Calendar with the extracted details.
- Sends Confirmation Email: After the event is potentially created, a confirmation email is sent via Gmail to the user, providing details of their booked appointment.
- Responds to Voice Platform: A final response is sent back to the originating webhook, which can then be used by the voice platform to provide verbal confirmation or further instructions to the user.
- Code for Logic/Formatting: A
Codenode is included, likely for custom logic, data transformation, or formatting the data before sending it to other nodes or responding to the webhook. - Sticky Note for Documentation: A
Sticky Noteis present, indicating that there might be important notes or instructions within the workflow itself for better understanding or maintenance.
Prerequisites/Requirements
To use this workflow, you will need:
- n8n Instance: A running n8n instance.
- Vapi Account (or similar voice API): To trigger the initial webhook with voice input.
- Google Account: With access to Google Calendar and Gmail for scheduling and sending confirmations.
- Google Gemini API Key: For the Google Gemini Chat Model.
- n8n Credentials: Configured credentials for Google Calendar, Gmail, and Google Gemini.
Setup/Usage
- Import the Workflow: Download the provided JSON and import it into your n8n instance.
- Configure Webhook:
- Activate the "Webhook" trigger node.
- Copy the webhook URL. This URL will be used by your voice API (e.g., Vapi) to send user voice inputs to n8n.
- Configure Credentials:
- Set up your Google Calendar credentials (OAuth2 recommended).
- Set up your Gmail credentials (OAuth2 recommended).
- Set up your Google Gemini Chat Model credentials (API Key).
- Configure AI Agent:
- Review the "AI Agent" node and ensure the "Google Gemini Chat Model" is correctly linked.
- Adjust the agent's prompt and tools as needed to accurately interpret appointment booking requests.
- Review Code Node:
- Examine the "Code" node to understand any custom logic applied to the data. Modify if necessary for your specific requirements.
- Activate Workflow: Once all credentials and configurations are set, activate the workflow.
Now, when your voice API sends a request to the webhook, the workflow will process the voice input, book an appointment, send a confirmation, and respond accordingly.
Related Templates
AI multi-agent executive team for entrepreneurs with Gemini, Perplexity and WhatsApp
This workflow is an AI-powered multi-agent system built for startup founders and small business owners who want to automate decision-making, accountability, research, and communication, all through WhatsApp. The “virtual executive team,” is designed to help small teams to work smarter. This workflow sends you market analysis, market and sales tips, It can also monitor what your competitors are doing using perplexity (Research agent) and help you stay a head, or make better decisions. And when you feeling stuck with your start-up accountability director is creative enough to break the barrier 🎯 Core Features 🧑💼 1. President (Super Agent) Acts as the main controller that coordinates all sub-agents. Routes messages, assigns tasks, and ensures workflow synchronization between the AI Directors. 📊 2. Sales & Marketing Director Uses SerpAPI to search for market opportunities, leads, and trends. Suggests marketing campaigns, keywords, or outreach ideas. Can analyze current engagement metrics to adjust content strategy. 🕵️♀️ 3. Business Research Director Powered by Perplexity AI for competitive and market analysis. Monitors competitor moves, social media engagement, and product changes. Provides concise insights to help the founder adapt and stay ahead. ⏰ 4. Accountability Director Keeps the founder and executive team on track. Sends motivational nudges, task reminders, and progress reports. Promotes consistency and discipline — key traits for early-stage success. 🗓️ 5. Executive Secretary Handles scheduling, email drafting, and reminders. Connects with Google Calendar, Gmail, and Sheets through OAuth. Automates follow-ups, meeting summaries, and notifications directly via WhatsApp. 💬 WhatsApp as the Main Interface Interact naturally with your AI team through WhatsApp Business API. All responses, updates, and summaries are delivered to your chat. Ideal for founders who want to manage operations on the go. ⚙️ How It Works Trigger: The workflow starts from a WhatsApp Trigger node (via Meta Developer Account). Routing: The President agent analyzes the incoming message and determines which Director should handle it. Processing: Marketing or sales queries go to the Sales & Marketing Director. Research questions are handled by the Business Research Director. Accountability tasks are assigned to the Accountability Director. Scheduling or communication requests are managed by the Secretary. Collaboration: Each sub-agent returns results to the President, who summarizes and sends the reply back via WhatsApp. Memory: Context is maintained between sessions, ensuring personalized and coherent communication. 🧩 Integrations Required Gemini API – for general intelligence and task reasoning Supabase- for RAG and postgres persistent memory Perplexity API – for business and competitor analysis SerpAPI – for market research and opportunity scouting Google OAuth – to connect Sheets, Calendar, and Gmail WhatsApp Business API – for message triggers and responses 🚀 Benefits Acts like a team of tireless employees available 24/7. Saves time by automating research, reminders, and communication. Enhances accountability and strategy consistency for founders. Keeps operations centralized in a simple WhatsApp interface. 🧰 Setup Steps Create API credentials for: WhatsApp (via Meta Developer Account) Gemini, Perplexity, and SerpAPI Google OAuth (Sheets, Calendar, Gmail) Create a supabase account at supabase Add the credentials in the corresponding n8n nodes. Customize the system prompts for each Director based on your startup’s needs. Activate and start interacting with your virtual executive team on WhatsApp. Use Case You are a small organisation or start-up that can not afford hiring; marketing department, research department and secretar office, then this workflow is for you 💡 Need Customization? Want to tailor it for your startup or integrate with CRM tools like Notion or HubSpot? You can easily extend the workflow or contact the creator for personalized support. Consider adjusting the system prompt to suite your business
Automate RSS to social media pipeline with AI, Airtable & GetLate for multiple platforms
Overview Automates your complete social media content pipeline: sources articles from Wallabag RSS, generates platform-specific posts with AI, creates contextual images, and publishes via GetLate API. Built with 63 nodes across two workflows to handle LinkedIn, Instagram, and Bluesky—with easy expansion to more platforms. Ideal for: Content marketers, solo creators, agencies, and community managers maintaining a consistent multi-platform presence with minimal manual effort. How It Works Two-Workflow Architecture: Content Aggregation Workflow Monitors Wallabag RSS feeds for tagged articles (to-share-linkedin, to-share-instagram, etc.) Extracts and converts content from HTML to Markdown Stores structured data in Airtable with platform assignment AI Generation & Publishing Workflow Scheduled trigger queries Airtable for unpublished content Routes to platform-specific sub-workflows (LinkedIn, Instagram, Bluesky) LLM generates optimized post text and image prompts based on custom brand parameters Optionally generates AI images and hosts them on Imgbb CDN Publishes via GetLate API (immediate or draft mode) Updates Airtable with publication status and metadata Key Features: Tag-based content routing using Wallabag's native system Swappable AI providers (Groq, OpenAI, Anthropic) Platform-specific optimization (tone, length, hashtags, CTAs) Modular design—duplicate sub-workflows to add new platforms in \~30 minutes Centralized Airtable tracking with 17 data points per post Set Up Steps Setup time: \~45-60 minutes for initial configuration Create accounts and get API keys (\~15 min) Wallabag (with RSS feeds enabled) GetLate (social media publishing) Airtable (create base with provided schema—see sticky notes) LLM provider (Groq, OpenAI, or Anthropic) Image service (Hugging Face, Fal.ai, or Stability AI) Imgbb (image hosting) Configure n8n credentials (\~10 min) Add all API keys in n8n's credential manager Detailed credential setup instructions in workflow sticky notes Set up Airtable database (\~10 min) Create "RSS Feed - Content Store" base Add 19 required fields (schema provided in workflow sticky notes) Get Airtable base ID and API key Customize brand prompts (\~15 min) Edit "Set Custom SMCG Prompt" node for each platform Define brand voice, tone, goals, audience, and image preferences Platform-specific examples provided in sticky notes Configure platform settings (\~10 min) Set GetLate account IDs for each platform Enable/disable image generation per platform Choose immediate publish vs. draft mode Adjust schedule trigger frequency Test and deploy Tag test articles in Wallabag Monitor the first few executions in draft mode Activate workflows when satisfied with the output Important: This is a proof-of-concept template. Test thoroughly with draft mode before production use. Detailed setup instructions, troubleshooting tips, and customization guidance are in the workflow's sticky notes. Technical Details 63 nodes: 9 Airtable operations, 8 HTTP requests, 7 code nodes, 3 LangChain LLM chains, 3 RSS triggers, 3 GetLate publishers Supports: Multiple LLM providers, multiple image generation services, unlimited platforms via modular architecture Tracking: 17 metadata fields per post, including publish status, applied parameters, character counts, hashtags, image URLs Prerequisites n8n instance (self-hosted or cloud) Accounts: Wallabag, GetLate, Airtable, LLM provider, image generation service, Imgbb Basic understanding of n8n workflows and credential configuration Time to customize prompts for your brand voice Detailed documentation, Airtable schema, prompt examples, and troubleshooting guides are in the workflow's sticky notes. Category Tags social-media-automation, ai-content-generation, rss-to-social, multi-platform-posting, getlate-api, airtable-database, langchain, workflow-automation, content-marketing
Ai website scraper & company intelligence
AI Website Scraper & Company Intelligence Description This workflow automates the process of transforming any website URL into a structured, intelligent company profile. It's triggered by a form, allowing a user to submit a website and choose between a "basic" or "deep" scrape. The workflow extracts key information (mission, services, contacts, SEO keywords), stores it in a structured Supabase database, and archives a full JSON backup to Google Drive. It also features a secondary AI agent that automatically finds and saves competitors for each company, building a rich, interconnected database of company intelligence. --- Quick Implementation Steps Import the Workflow: Import the provided JSON file into your n8n instance. Install Custom Community Node: You must install the community node from: https://www.npmjs.com/package/n8n-nodes-crawl-and-scrape FIRECRAWL N8N Documentation https://docs.firecrawl.dev/developer-guides/workflow-automation/n8n Install Additional Nodes: n8n-nodes-crawl-and-scrape and n8n-nodes-mcp fire crawl mcp . Set up Credentials: Create credentials in n8n for FIRE CRAWL API,Supabase, Mistral AI, and Google Drive. Configure API Key (CRITICAL): Open the Web Search tool node. Go to Parameters → Headers and replace the hardcoded Tavily AI API key with your own. Configure Supabase Nodes: Assign your Supabase credential to all Supabase nodes. Ensure table names (e.g., companies, competitors) match your schema. Configure Google Drive Nodes: Assign your Google Drive credential to the Google Drive2 and save to Google Drive1 nodes. Select the correct Folder ID. Activate Workflow: Turn on the workflow and open the Webhook URL in the “On form submission” node to access the form. --- What It Does Form Trigger Captures user input: “Website URL” and “Scraping Type” (basic or deep). Scraping Router A Switch node routes the flow: Deep Scraping → AI-based MCP Firecrawler agent. Basic Scraping → Crawlee node. Deep Scraping (Firecrawl AI Agent) Uses Firecrawl and Tavily Web Search. Extracts a detailed JSON profile: mission, services, contacts, SEO keywords, etc. Basic Scraping (Crawlee) Uses Crawl and Scrape node to collect raw text. A Mistral-based AI extractor structures the data into JSON. Data Storage Stores structured data in Supabase tables (companies, company_basicprofiles). Archives a full JSON backup to Google Drive. Automated Competitor Analysis Runs after a deep scrape. Uses Tavily web search to find competitors (e.g., from Crunchbase). Saves competitor data to Supabase, linked by company_id. --- Who's It For Sales & Marketing Teams: Enrich leads with deep company info. Market Researchers: Build structured, searchable company databases. B2B Data Providers: Automate company intelligence collection. Developers: Use as a base for RAG or enrichment pipelines. --- Requirements n8n instance (self-hosted or cloud) Supabase Account: With tables like companies, competitors, social_links, etc. Mistral AI API Key Google Drive Credentials Tavily AI API Key (Optional) Custom Nodes: n8n-nodes-crawl-and-scrape --- How It Works Flow Summary Form Trigger: Captures “Website URL” and “Scraping Type”. Switch Node: deep → MCP Firecrawler (AI Agent). basic → Crawl and Scrape node. Scraping & Extraction: Deep path: Firecrawler → JSON structure. Basic path: Crawlee → Mistral extractor → JSON. Storage: Save JSON to Supabase. Archive in Google Drive. Competitor Analysis (Deep Only): Finds competitors via Tavily. Saves to Supabase competitors table. End: Finishes with a No Operation node. --- How To Set Up Import workflow JSON. Install community nodes (especially n8n-nodes-crawl-and-scrape from npm). Configure credentials (Supabase, Mistral AI, Google Drive). Add your Tavily API key. Connect Supabase and Drive nodes properly. Fix disconnected “basic” path if needed. Activate workflow. Test via the webhook form URL. --- How To Customize Change LLMs: Swap Mistral for OpenAI or Claude. Edit Scraper Prompts: Modify system prompts in AI agent nodes. Change Extraction Schema: Update JSON Schema in extractor nodes. Fix Relational Tables: Add Items node before Supabase inserts for arrays (social links, keywords). Enhance Automation: Add email/slack notifications, or replace form trigger with a Google Sheets trigger. --- Add-ons Automated Trigger: Run on new sheet rows. Notifications: Email or Slack alerts after completion. RAG Integration: Use the Supabase database as a chatbot knowledge source. --- Use Case Examples Sales Lead Enrichment: Instantly get company + competitor data from a URL. Market Research: Collect and compare companies in a niche. B2B Database Creation: Build a proprietary company dataset. --- WORKFLOW IMAGE --- Troubleshooting Guide | Issue | Possible Cause | Solution | |-------|----------------|-----------| | Form Trigger 404 | Workflow not active | Activate the workflow | | Web Search Tool fails | Missing Tavily API key | Replace the placeholder key | | FIRECRAWLER / find competitor fails | Missing MCP node | Install n8n-nodes-mcp | | Basic scrape does nothing | Switch node path disconnected | Reconnect “basic” output | | Supabase node error | Wrong table/column names | Match schema exactly | --- Need Help or More Workflows? Want to customize this workflow for your business or integrate it with your existing tools? Our team at Digital Biz Tech can tailor it precisely to your use case from automation logic to AI-powered enhancements. Contact: shilpa.raju@digitalbiz.tech For more such offerings, visit us: https://www.digitalbiz.tech ---