n8n

How to Automate Google Calendar Appointment Scheduling?

Book, reschedule, and cancel meetings without manual back and forth. Teams that run sales calls, demos, or interviews can show live time slots, confirm bookings, and log every detail automatically.

Incoming webhooks handle five actions: get available slots, book a time, update a time, cancel a time, and save call outcomes. The flow checks Google Calendar for busy times, builds 30 minute slots within a 9 to 6 workday in America Chicago, and enriches each option with clear date and time text. When a time is chosen, it converts to the right timezone, creates the calendar event, and returns a clean response. It also writes key data to Airtable for tracking. Update and cancel paths find the right calendar event and Airtable record, make the change, and confirm back. Friendly error messages and JSON escaping protect against bad inputs and double booking.

To set this up you need Google Calendar, Airtable, and a webhook source to send requests. Expect faster booking, less data entry, and fewer mistakes. This is great for sales demos, customer success check ins, and interview scheduling.

What are the key features?

  • Multiple webhook endpoints for get, book, update, cancel, and call results
  • Availability engine builds 30 minute slots within a 9 to 6 workday in America Chicago
  • Google Calendar create, update, and delete actions for confirmed changes
  • Airtable logging for confirmed, updated, and canceled appointments
  • Timezone conversion and enriched date text for clear responses
  • Input validation to check required fields like name and email
  • Friendly error messages and JSON escaping to prevent broken payloads
  • Sorted and formatted slot lists using item lists and code nodes
  • Dedicated path to save call outcomes through a separate webhook

What are the benefits?

  • Reduce manual scheduling work from hours to minutes per day
  • Automate up to 80% of repetitive booking tasks
  • Eliminate double booking by checking live calendar availability
  • Unify booking data in one Airtable base for easy reporting
  • Handle many booking requests at once using webhooks

How do you set it up?

  1. Import the template into n8n: Create a new workflow in n8n > Click the three dots menu > Select 'Import from File' > Choose the downloaded JSON file.
  2. You'll need accounts with Google Calendar, Airtable and Vapi. See the Tools Required section above for links to create accounts with these services.
  3. In the n8n credentials manager, create a Google Calendar credential. Double click a Google Calendar node like Create Event, choose 'Create new credential', then follow the on screen steps to grant access to your Google account with calendar permissions.
  4. In the n8n credentials manager, create an Airtable credential. Double click an Airtable node, choose 'Create new credential', then follow the on screen steps. If using an API Key, get it from the Airtable account page and paste it in.
  5. Open each webhook trigger node and copy the Test URL. In your Vapi tool setup, paste the URLs for Getslot, Book, Update, Cancel, and Call Results so Vapi sends each request to the correct endpoint.
  6. Set timezone and work hours. In the Input Arguments and the code node that builds slots, confirm the timeZone is America Chicago and work hours are 09:00 to 18:00. Change these if your team works different hours.
  7. Configure your Airtable base. Create a table with fields for call_id, name, email, start, end, timezone, status, and any notes. Map these fields in the Airtable nodes so saved data matches your schema.
  8. Check the Google Calendar node calendars. In Create Event and Update Event, pick the correct calendar from the dropdown to avoid saving meetings in the wrong place.
  9. Enable production webhook URLs. After testing, switch each webhook node to Production URL and update the URLs in Vapi so live traffic hits the production endpoints.
  10. Test the Get Slots path. Send a sample request from Vapi or with a tool like Postman and confirm you receive a list of time options.
  11. Test booking end to end. Trigger a booking request and confirm an event appears in Google Calendar and a matching record appears in Airtable. Then test update and cancel to confirm both the calendar and Airtable change correctly.
  12. Troubleshoot common issues: If booking fails, check OAuth scopes on Google Calendar credentials. If Airtable writes fail, confirm table name and field names match. If times look wrong, verify the timezone settings in the code and input nodes.

Tools Required

$24 / mo or $20 / mo billed annually to use n8n in the cloud. However, the local or self-hosted n8n Community Edition is free.

Airtable

Sign up

Free (1,000 API calls / mo)

Google Calendar

Sign up

Free: $0; all Google Calendar API usage is at no additional cost; quota limits apply (no charges for overages).

Usage-based: $0.05/min Vapi platform fee (prorated) + provider costs; $10 starter credits; no monthly minimum

Similar Templates

Join Futurise to access 1,200+ automation templates

Get instant access to ready-made automation workflows for n8n, Make.com, AI agents, and more. Download, customise, and deploy in minutes.