Automate Appointment Booking with n8n & Google Calendar

This workflow automates appointment scheduling using n8n integrated with Google Calendar and Airtable. It solves manual booking delays and errors by enabling voice AI receptionist powered scheduling for real-time availability checks, booking, updates, and cancellations.
Google Calendar
Airtable
Webhook
+6
Workflow Identifier: 1219
NODES in Use: Set, ItemLists, Code, If, Google Calendar, Respond to Webhook, Airtable, Sticky Note, Webhook

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

Visit through Desktop for Best experience

What This Workflow Does

This workflow helps you manage appointment bookings automatically using voice calls, Google Calendar, and Airtable.
It solves the problem of manual scheduling errors, double bookings, and lost time.
The result is fast, accurate appointments booked or changed with less staff work.

When a customer calls, the workflow listens to their request through voice AI.
It checks for free time slots in Google Calendar inside your work hours and timezone.

If the requested time is free, it books the appointment with all details.
If not, it shows other available time options.

It also updates or cancels appointments on request, and logs all call info automatically in Airtable.
This keeps records clean and helps track customer interactions and costs.


Tools and Services Used


Inputs, Processing, and Outputs

Inputs

  • Voice call requests received through Vapi and sent as webhook payloads.
  • Booking details such as customer name, email, phone number, requested time, and notes.

Processing Steps

  • Extract input data from Vapi payload using the Set nodes.
  • Check Google Calendar for busy events between requested times.
  • If time is free, create new event with all info.
  • If time is not free, list future available slots in 30-minute intervals within working hours.
  • On reschedule, find existing appointment in Airtable, update times in Google Calendar and Airtable.
  • On cancel, delete event from Google Calendar and update Airtable record.
  • After each call, save transcripts, recordings, and costs in Airtable.

Outputs

  • Confirmation or error messages sent back to Vapi for caller response.
  • Updated Google Calendar events for appointments.
  • Accurate Airtable records for booking statuses and call logs.

Beginner Step-by-Step: How to Build This in n8n

Import Workflow

  1. Download the ready-to-use workflow JSON using the Download button on this page.
  2. Open your n8n editor.
  3. Use “Import from File” to bring the workflow into n8n.

Configure Connections

  1. Add your Google Calendar API Key and connect your calendar.
  2. Add your Airtable API Key and update base IDs and table names if needed.
  3. Ensure your Google Calendar email is set correctly in all calendar nodes.
  4. Paste Vapi webhook URLs from n8n Webhook node settings to the Vapi assistant configuration.

Test Workflow

  1. Trigger test calls or webhook payloads from Vapi to check availability, book, update, and cancel.
  2. Verify logged records in Airtable.

Activate for Production

  1. Toggle the workflow to active inside n8n.
  2. Confirm webhook URLs are reachable and authorized.
  3. For a stable setup, consider self-host n8n on a server.

Detailed Workflow Mechanics

Checking Availability

The workflow starts by receiving a webhook request with requested start and end time.
The Check Availability Google Calendar node queries events between these times.

An If node tests if any events overlap.
If free, the requested slot proceeds to booking.
If busy, the Get All Calendar Events node fetches events for the next week.

A Code node named “Available Start Times & Ranges” takes events and calculates available 30-minute slots.
It removes weekends and fits slots inside 9 a.m. to 6 p.m. CST.

Booking an Appointment

The bookslots_tool webhook extracts user info and times.
A Code node converts times to America/Chicago timezone.
The Create Event node writes the appointment to Google Calendar with attendees and meet links.

If booking is missing info, a clear error response is sent.
On success, booking details are logged in Airtable.

Updating and Canceling

For updates, the workflow finds the existing Airtable record by phone.
It then changes the event’s start and end times in Google Calendar.
Airtable is updated to reflect new schedule.

Cancellations delete the Google Calendar event.
Airtable records get updated status “Canceled”.

Logging Call Results

After call ends, the workflow receives transcripts, recording URLs, cost, and summaries.
These go into Airtable’s “Call Recording” table.
This helps track call quality and expenses.


Customization Ideas

  • Change work hours by editing the WORKDAY_START and WORKDAY_END times in the “Available Start Times & Ranges” Code node.
  • Modify SLOT_DURATION for longer or shorter booking slots.
  • Allow weekend slots by changing the filter excluding weekends.
  • Update Google Calendar email address in nodes to your own calendar.
  • Expand Airtable fields to store extra call metadata or add SMS notification integration.

Troubleshooting Common Issues

  • Error converting time in timezone node: Check if input times are correct ISO strings and the timezone is exactly “America/Chicago”.
  • Google Calendar errors: Make sure OAuth token is valid and calendar email correct.
  • Airtable searches not finding records: Verify phone number format matches EXACTLY with Airtable stored strings.
  • Vapi webhook errors with missing data: Confirm Set nodes for input mapping match your Vapi payload structure.

Pre-Production Checklist

  • Ensure all credentials for Google Calendar and Airtable are authorized and active.
  • Test every webhook URL using real or sample data from Vapi.
  • Confirm availability checks obey business hours and timezone conversions.
  • Complete full workflow test: availability check, booking, update, and cancellation.
  • Check that call recording data is correctly saved in Airtable.
  • Back up Airtable database before any big schema or workflow changes.

Deployment Guide

Turn on the workflow in n8n and keep it running either on n8n Cloud or with self-host n8n on a stable server.
Link Vapi with the n8n webhook URLs to enable live call scheduling.

Watch logs regularly to catch errors or webhook failures.
Reauthorize credentials if you see calendar or Airtable authorization errors.


Summary of Benefits

✓ Saves hours of manual work every day
✓ Reduces booking mistakes like double bookings
✓ Provides quick, voice-activated scheduling during business hours
✓ Keeps accurate, automatic records of all calls and appointments
✓ Supports rescheduling and cancellation without errors
✓ Helps staff focus on other important tasks


Frequently Asked Questions

This workflow uses n8n, Vapi voice AI, Google Calendar for appointments, and Airtable for logging.
It queries Google Calendar for events during the requested time range and confirms if any conflicts exist.
Check that input times are ISO-8601 strings and the timezone setting is exactly ‘America/Chicago’.
Yes, by changing the WORKDAY_START and WORKDAY_END values in the availability Code node.

Promoted by BULDRR AI

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation Workflows in n8n

A complete beginner guide to building an AI SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free