Quick overview This workflow exposes a webhook for a Vapi or Retell voice agent to check Google Calendar availability or book an appointment, then returns a short, spoken-friendly reply for the agent to read to the caller. How it works Receives a POST request from your Vapi/Retell voice agent via a webhook with an action, caller details, and a requested start time. Loads business settings (business name, Google Calendar ID, and appointment slot length) and calculates the appointment end time from the start time. Routes the request based on whether the action is to check availability or book an appointment. For availability checks, queries Google Calendar free/busy for the requested time window and builds a confirmation or rejection sentence. For bookings, creates a Google Calendar event for the requested time and includes the caller’s name and phone in the event details, then builds a booking confirmation sentence. If the action is missing or unrecognized, returns a fallback prompt asking the caller to clarify. Responds to the webhook with JSON containing the reply text for the voice agent to speak back to the caller. Setup Add a Google Calendar credential in n8n.
Tags
Related workflows
See all Google Calendar→Book calendar appointments with availability checks in Google Calendar
Quick overview This workflow is triggered by another n8n workflow to verify a requested appointment slot and, if available, books a 30‑minute event in Google Calendar, returning a booked/unbooked response with formatted date/time details. How it works Receives appointment details (name, phone, service type, preferred date, preferred time) when called by another n8n workflow. Calls a separate “Check Slot Availability” workflow to determine whether the requested slot is available. If the slot is available, builds ISO start/end timestamps for a 30-minute appointment window. Creates the appointment as a Google Calendar event with a summary and description populated from the input details. Returns a success payload with booked: true and formatted preferred date/time, or returns booked: false with an error code when the slot or calendar booking fails. Setup Create or identify a “Check Slot Availability” workflow and update the referenced workflow ID/name so it returns an available boolean. Add a Google Calendar OAuth2 credential and set the target calendar (email/ID) in the Google Calendar event creation step. Ensure the calling workflow passes name, service_type, preferred_date (ISO dat
Reschedule calendar appointments with Google Sheets and Google Calendar
Quick overview This workflow is triggered by another n8n workflow to reschedule an existing appointment by looking up the current booking in Google Sheets, validating the requested new slot via a sub-workflow, and updating the event in Google Calendar with the new date/time and service details. How it works Receives appointment details (phone, current date/time, new date/time, and new service type) from another workflow. Looks up the existing booked appointment in Google Sheets using the phone number and the current (preferred) date and time. If a matching appointment is found, builds the new start and end timestamps for the requested slot. Calls a separate n8n workflow to check whether the requested new slot is available. If the slot is available, updates the corresponding Google Calendar event with the new start/end time, updated summary, and phone number in the description. Returns a structured result indicating success (Rescheduled=true plus formatted date/time) or failure with an error such as appointment_not_found, new_slot_unavailable, calendar_unavailable, or crm_unavailable. Setup Connect Google Sheets OAuth credentials and replace YOUR_GOOGLE_SHEET_ID with your spreadshee
Add a event to Google Calendar automatically
Add an event to Google Calendar