{"product_id":"sync-ics-webcal-feeds-to-google-calendar-n8n-workflow","title":"Sync ICS Webcal Feeds to Google Calendar (n8n Workflow)","description":"\u003ch3\u003eSync ICS \/ Webcal feeds into Google Calendar—automatically\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow automatically mirrors events from an \u003cstrong\u003eICS or webcal\u003c\/strong\u003e feed into a \u003cstrong\u003eGoogle Calendar\u003c\/strong\u003e, running on a configurable schedule (every 15 minutes by default). It creates missing events and can optionally delete events that no longer appear in the feed.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns on a schedule\u003c\/strong\u003e (default: every 15 minutes, configurable via a schedule trigger).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLoads sync settings\u003c\/strong\u003e, including:\n    \u003cul\u003e\n      \u003cli\u003e\n\u003ccode\u003eicsUrl\u003c\/code\u003e (the ICS\/webcal feed URL)\u003c\/li\u003e\n      \u003cli\u003e\n\u003ccode\u003ecalendarId\u003c\/code\u003e (destination Google Calendar, e.g., \u003ccode\u003eprimary\u003c\/code\u003e)\u003c\/li\u003e\n      \u003cli\u003e\n\u003ccode\u003esyncDaysPast\u003c\/code\u003e \/ \u003ccode\u003esyncDaysFuture\u003c\/code\u003e (time window)\u003c\/li\u003e\n      \u003cli\u003e\n\u003ccode\u003edefaultTimeZone\u003c\/code\u003e (timezone defaults)\u003c\/li\u003e\n      \u003cli\u003e\n\u003ccode\u003edeletion toggle\u003c\/code\u003e (whether to remove outdated mirrored events)\u003c\/li\u003e\n      \u003cli\u003e\n\u003ccode\u003eeventIdPrefix\u003c\/code\u003e (used to identify mirrored events)\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eDownloads and parses the ICS feed\u003c\/strong\u003e via HTTP, breaking it into individual event occurrences within the configured past\/future window and generating deterministic Google Calendar event IDs.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eFetches existing Google Calendar events\u003c\/strong\u003e within the same time window.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCompares feed occurrences vs. calendar events\u003c\/strong\u003e (only events whose IDs start with \u003ccode\u003eeventIdPrefix\u003c\/code\u003e are considered).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCreates missing events\u003c\/strong\u003e in Google Calendar and, if enabled, \u003cstrong\u003edeletes mirrored events\u003c\/strong\u003e that are no longer present in the ICS feed.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eKeep a Google Calendar updated from a recurring events ICS\/webcal source (e.g., community calendars, published schedules, venue calendars).\u003c\/li\u003e\n  \u003cli\u003eMaintain consistency between an upstream calendar feed and a destination calendar without manual imports.\u003c\/li\u003e\n  \u003cli\u003eRun “source of truth” synchronization with optional cleanup of events that disappear from the feed.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eGoogle Calendar OAuth2 credentials in both Google Calendar nodes (ensure the account can access the target calendar).\u003c\/li\u003e\n  \u003cli\u003eHTTP download + ICS parsing to generate deterministic event IDs for reliable mirroring.\u003c\/li\u003e\n  \u003cli\u003eWorkflow logic uses nodes such as \u003cstrong\u003eif\u003c\/strong\u003e, \u003cstrong\u003eset\u003c\/strong\u003e, \u003cstrong\u003ecode\u003c\/strong\u003e, \u003cstrong\u003eno op\u003c\/strong\u003e, \u003cstrong\u003emerge\u003c\/strong\u003e, and \u003cstrong\u003eswitch\u003c\/strong\u003e to compare, create, and optionally delete events.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45822093328563,"sku":"N8N-18074","price":47.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/61pzhcaS9hSwqJyB4h2Xf_psAjY6tA.png?v=1786525888","url":"https:\/\/buyflowscripts.com\/products\/sync-ics-webcal-feeds-to-google-calendar-n8n-workflow","provider":"N8N Commerce","version":"1.0","type":"link"}