{"product_id":"confirm-webhook-appointments-in-google-calendar-n8n","title":"Confirm Webhook Appointments in Google Calendar (n8n)","description":"\u003ch3\u003eAutomatically confirm booking requests in Google Calendar — with clear webhook outcomes\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow receives confirmed appointment requests via a webhook, checks availability in \u003cstrong\u003eGoogle Calendar\u003c\/strong\u003e, and creates a \u003cstrong\u003eprivate\u003c\/strong\u003e calendar event when the time slot is valid. It returns precise HTTP responses for invalid input, busy intervals, and provider failures—so your booking pipeline stays reliable.\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\u003c\/strong\u003e request containing: \u003cem\u003estart\u003c\/em\u003e, \u003cem\u003eend\u003c\/em\u003e, \u003cem\u003esummary\u003c\/em\u003e, \u003cem\u003erequest_id\u003c\/em\u003e, and \u003cem\u003econfirmed\u003c\/em\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eValidates the request\u003c\/strong\u003e by ensuring:\n    \u003cul\u003e\n      \u003cli\u003e\n\u003cem\u003econfirmed\u003c\/em\u003e is true\u003c\/li\u003e\n      \u003cli\u003etimestamps use \u003cstrong\u003eRFC3339\u003c\/strong\u003e format with seconds and an explicit offset\u003c\/li\u003e\n      \u003cli\u003ethe \u003cem\u003estart\u003c\/em\u003e time is in the future\u003c\/li\u003e\n      \u003cli\u003ethe appointment duration is \u003cstrong\u003emax 1 day\u003c\/strong\u003e\n\u003c\/li\u003e\n      \u003cli\u003e\n\u003cem\u003erequest_id\u003c\/em\u003e matches the required format\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eChecks Google Calendar availability\u003c\/strong\u003e for the requested \u003cem\u003estart\/end\u003c\/em\u003e interval.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eHandles provider uncertainty\u003c\/strong\u003e: returns \u003cstrong\u003e502\u003c\/strong\u003e if availability cannot be confirmed.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCreates a private Google Calendar event\u003c\/strong\u003e using \u003cem\u003esummary\u003c\/em\u003e and uses \u003cem\u003erequest_id\u003c\/em\u003e as the \u003cstrong\u003eevent ID\u003c\/strong\u003e when available.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eVerifies creation\u003c\/strong\u003e by confirming the returned event ID, confirmed status, and the requested time range.\n    \u003cul\u003e\n      \u003cli\u003e\n\u003cstrong\u003e400\u003c\/strong\u003e for invalid input\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003e409\u003c\/strong\u003e if the interval is busy\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003e502\u003c\/strong\u003e if creation is unconfirmed or provider failure occurs\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003e201\u003c\/strong\u003e on successful verification\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eTurn confirmed booking requests from your app into \u003cstrong\u003eprivate Google Calendar events\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003eCoordinate scheduling across systems using \u003cstrong\u003erequest_id\u003c\/strong\u003e as a stable event identifier.\u003c\/li\u003e\n  \u003cli\u003eGive your frontend or backend deterministic responses (201\/400\/409\/502) for booking status handling.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNodes\/technology:\u003c\/strong\u003e webhook, respond to webhook, if, code (plus sticky note documentation)\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eIntegrations:\u003c\/strong\u003e \u003cstrong\u003eGoogle Calendar\u003c\/strong\u003e via OAuth2 (set your target calendar ID)\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eWorkflow behavior:\u003c\/strong\u003e validates webhook payload, checks availability, creates private events, verifies event details, returns HTTP outcomes\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46164198260915,"sku":"N8N-20494","price":52.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/eVvCYY48NXiYi5cTUw2lY_Gaqtol5o.png?v=1791277984","url":"https:\/\/buyflowscripts.com\/products\/confirm-webhook-appointments-in-google-calendar-n8n","provider":"N8N Commerce","version":"1.0","type":"link"}