Back to n8n Automations

Case Study / Voice AI / 05

AI Voice Appointment Management

A voice-based appointment management system built with Vapi, n8n, Google Calendar, and Airtable that allows prospects to manage discovery calls through natural voice conversations.

The system uses an AI voice assistant, Mika, to handle appointment availability, booking, rescheduling, and cancellation while n8n manages the underlying workflow logic and integrations.

Instead of relying on one large automation, the system separates appointment operations into dedicated workflow paths for GetSlots, BookSlots, UpdateSlots, CancelSlots, and CallResults. This keeps each operation isolated, easier to maintain, and safer to execute.

01 / Project Overview

Voice conversation, backed by real scheduling actions.

A voice-driven appointment management system that connects conversational voice AI with n8n, Google Calendar, and Airtable to check availability, book appointments, reschedule meetings, cancel events, and maintain appointment records.

Input

Voice conversation and scheduling intent.

Analysis

Select workflow action and verify calendar availability.

Output

Availability, booking, update, or cancellation result with Calendar and Airtable state.

The Challenge

Conversation alone cannot complete the operation.

Voice appointment assistants need more than conversational capability. They also need reliable backend actions for checking real calendar availability, creating appointments, modifying existing bookings, cancelling events, validating required information, and keeping CRM records synchronized.

Without controlled workflow actions, the voice layer can understand what a caller wants but cannot reliably complete the operational task.

The Solution

Controlled actions behind the voice layer.

The system separates appointment operations into controlled n8n workflow actions that can be called by the voice assistant. Dedicated paths handle availability checks, bookings, appointment updates, and cancellations. Each path validates its input, performs the required calendar operation, updates appointment records where needed, and returns a structured response to the voice layer.

A separate call-result path records the outcome of completed conversations for operational tracking.

03 / Workflow Architecture

Voice conversations. Controlled execution.

Vapi manages the conversational experience while n8n handles the connected scheduling operations, calendar actions, and appointment records.

n8n Workflow Architecture

The execution layer exposes dedicated GetSlots, BookSlots, UpdateSlots, CancelSlots, and CallResults paths.

Vapi Configuration

Mika's assistant configuration defines the conversational layer before workflow execution.

Architecture Details

Conversation and execution stay distinct.

Vapi: Handles natural voice conversations and passes structured intent to the deterministic workflow layer.

n8n: Validates requests, selects the right workflow path, and executes availability, booking, update, cancellation, and call-result actions.

Google Calendar + Airtable: Keep appointment availability, event state, and appointment and call records synchronized.

Stack / Tools

Connected services for voice scheduling.

Conversational voice layer

Vapi

Handles natural voice conversations and passes structured intent to the deterministic workflow layer.

Deterministic orchestration layer

n8n

Validates requests, selects the right workflow path, and executes availability, booking, update, cancellation, and call-result actions.

Appointment source of truth

Google Calendar

Provides verified availability and holds the authoritative state for discovery-call events.

Appointment and call records

Airtable

Stores appointment and Vapi call records for tracking, reporting, synchronization, and status history.

04 / Workflow Breakdown

How the system works.

01

GetSlots

For availability requests, the system validates the caller's requested date and time, checks Google Calendar, and returns either the requested slot or verified alternative times when the preferred slot is unavailable. Availability is always verified before the assistant presents a time as bookable.

  1. 01

    Voice request

  2. 02

    extract requested date/time

  3. 03

    prepare availability check

  4. 04

    check Calendar

  5. 05

    requested time available?

  6. 06

    return requested slot OR find verified alternatives

02

BookSlots

For new bookings, the workflow validates the required caller information, verifies the requested time against Google Calendar, creates a 1-hour discovery call, generates the Google Meet event, and creates or updates the appointment record in Airtable.

  1. 01

    Booking request

  2. 02

    extract booking parameters

  3. 03

    validate booking data

  4. 04

    verify required fields

  5. 05

    check Calendar availability

  6. 06

    create Calendar event

  7. 07

    create/update Airtable record

  8. 08

    return booking result

03

UpdateSlots

Existing appointments can be located and safely rescheduled. The workflow retrieves the stored appointment record, verifies the proposed new slot, updates the existing Google Calendar event using its calendar event ID, and synchronizes the updated appointment data in Airtable.

  1. 01

    Reschedule request

  2. 02

    extract reschedule parameters

  3. 03

    validate data

  4. 04

    locate appointment in Airtable

  5. 05

    verify new slot

  6. 06

    update Calendar event

  7. 07

    update Airtable

  8. 08

    return reschedule result

04

CancelSlots

Cancellation requests locate the existing appointment record, retrieve the stored calendar event ID, remove the correct Google Calendar event, and update the Airtable appointment record to reflect the cancellation. Appointment history and status are preserved in Airtable.

  1. 01

    Cancellation request

  2. 02

    extract cancellation parameters

  3. 03

    validate data

  4. 04

    locate appointment

  5. 05

    retrieve calendar event ID

  6. 06

    delete Calendar event

  7. 07

    update Airtable status

  8. 08

    return cancellation result

05

CallResults

A dedicated CallResults workflow captures information from completed Vapi calls and creates or updates the associated call record in Airtable for tracking and reporting. This includes call IDs, timestamps, duration, transcript data, and other available call metadata.

  1. 01

    Vapi call result

  2. 02

    extract call metadata

  3. 03

    prepare Airtable data

  4. 04

    create/update call record

05 / System Capabilities

A complete voice-to-scheduling operation.

01

AI voice appointment management

02

Real-time Google Calendar availability checking

03

Verified alternative slot suggestions

04

1-hour discovery call scheduling

05

Appointment rescheduling

06

Appointment cancellation

07

Google Meet event creation

08

Airtable appointment synchronization

09

Vapi call-result tracking

10

Transcript and call metadata logging

11

Duplicate prevention through create/update logic

12

Philippine Time scheduling

13

Conversation-state preservation

14

Qualification before booking

15

Structured validation before Calendar actions

06 / System Outcome

A controlled backend for voice scheduling.

The finished system gives a voice appointment assistant a controlled backend for real scheduling operations. It can check availability, create bookings, reschedule appointments, cancel existing events, maintain appointment records, and return structured results to the voice conversation.

This connects conversational voice AI with deterministic calendar and CRM actions instead of relying on the language model to manage scheduling state itself.