Reschedule calendar appointments with Google Sheets and Google Calendar
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (6)
- If
n8n-nodes-base.if - Execute Sub-workflow
n8n-nodes-base.executeWorkflow - Google Sheets
n8n-nodes-base.googleSheets - Edit Fields (Set)
n8n-nodes-base.set - Google Calendar
n8n-nodes-base.googleCalendar - Execute Workflow Trigger
n8n-nodes-base.executeWorkflowTrigger
What it does
Quick overview This workflow is triggered by another n8n workflow to reschedule existing appointment by looking up current booking in Google Sheets, validating the requested new slot via sub-workflow, and updating the event in Google Calendar with the new date/time & service details. Full setup guide: https://uzzaman.dev/guides/n8n-google-calendar-reschedule-appointments/ How it works 1. Receives appointment details (phone, current date/time, new date/time, and new service type) from another workflow. 2. Looks up the existing booked appointment in Google Sheets using the phone number and the current (preferred) date and time. 3. If a matching appointment is found, builds the new start and end timestamps for the requested slot. 4. Calls a separate n8n workflow to check whether the requested new slot is available. 5. 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. 6. Returns a structured result indicating success (Rescheduled=true plus formatted date/time) or failure with an error such as appointmentnotfound, newslotunavailable, calendarunavailable, or crmunavailable. Setup 1. Connect Google Sheets OAuth credentials and replace YOURGOOGLESHEETID with your spreadsheet ID, ensuring the sheet contains columns for preferreddate, preferredtime, status, phone, eventid, and name. 2. Connect Google Calendar OAuth credentials and select the target calendar email address used to store the appointments. 3. Create and link the “Check Slot Availability” sub-workflow so it accepts preferreddate and preferredtime and returns an available boolean. 4. Ensure the calling workflow passes inputs in the expected formats (phone in E.164, newdate as YYYY-MM-DD, and newtime as HH:mm), and adjust the default 30-minute duration if your appointments differ.