{"product_id":"n8n-webhook-appointment-validator-google-calendar-event","title":"n8n Webhook Appointment Validator + Google Calendar Event","description":"\u003ch3\u003eInstantly validate appointment requests and (optionally) create Google Calendar events\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow receives booking requests via a webhook, checks whether the requested time is valid and available, and—when confirmed—creates a \u003cstrong\u003eGoogle Calendar\u003c\/strong\u003e event before returning a clear JSON response to your system.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eReceives a POST webhook request\u003c\/strong\u003e with appointment details (e.g., customer info, \u003cem\u003erequested_start\u003c\/em\u003e in ISO 8601, \u003cem\u003eduration_min\u003c\/em\u003e, business hours, and optional existing bookings).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eValidates required fields\u003c\/strong\u003e and verifies the requested slot falls within business hours.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eChecks for scheduling conflicts\u003c\/strong\u003e by ensuring the requested time does not overlap any provided existing bookings. It can also optionally ignore a matching booking when rescheduling.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eReturns one of three outcomes\u003c\/strong\u003e:\n    \u003cul\u003e\n      \u003cli\u003e\n\u003cstrong\u003eInvalid\u003c\/strong\u003e — includes field errors.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eConflict\u003c\/strong\u003e — returns up to \u003cstrong\u003ethree alternative available slots\u003c\/strong\u003e.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eConfirmed\u003c\/strong\u003e — returns the chosen \u003cstrong\u003estart\/end times\u003c\/strong\u003e and a confirmation message.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCreates a Google Calendar event when confirmed\u003c\/strong\u003e and \u003cem\u003edry_run\u003c\/em\u003e is \u003cstrong\u003efalse, then marks the response with \u003cstrong\u003edispatched: true\u003c\/strong\u003e.\u003c\/strong\u003e\n\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eResponds to the webhook caller\u003c\/strong\u003e with the final decision JSON.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eBooking validation for a website form or chatbot that needs instant availability feedback.\u003c\/li\u003e\n  \u003cli\u003eScheduling reschedules by ignoring the existing booking being updated.\u003c\/li\u003e\n  \u003cli\u003eSaaS operators integrating appointment booking with automatic calendar dispatch and structured webhook responses.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGoogle Calendar OAuth2\u003c\/strong\u003e credential for event creation.\u003c\/li\u003e\n  \u003cli\u003eUses n8n nodes: \u003cstrong\u003ewebhook\u003c\/strong\u003e, \u003cstrong\u003eif\u003c\/strong\u003e, \u003cstrong\u003ecode\u003c\/strong\u003e, \u003cstrong\u003ehttp request\u003c\/strong\u003e, \u003cstrong\u003erespond to webhook\u003c\/strong\u003e (plus supporting workflow notes).\u003c\/li\u003e\n  \u003cli\u003eDesigned for systems that POST the expected JSON fields to the webhook URL from the “Booking Webhook” node.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46146442100915,"sku":"N8N-20215","price":77.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/c_q5m5oDiPymWbDlmK4l_ecy1iOsa.png?v=1790846919","url":"https:\/\/buyflowscripts.com\/products\/n8n-webhook-appointment-validator-google-calendar-event","provider":"N8N Commerce","version":"1.0","type":"link"}