From c3d168246f09c9dea0ff2172a12bd83d89da4db6 Mon Sep 17 00:00:00 2001 From: nusquama Date: Wed, 12 Nov 2025 20:02:37 +0100 Subject: [PATCH] creation --- ..._tasks_to_google_calendar_events_via_webhook_integration.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 workflows/Convert Google Tasks to Google Calendar Events via Webhook Integration-7865/convert_google_tasks_to_google_calendar_events_via_webhook_integration.json diff --git a/workflows/Convert Google Tasks to Google Calendar Events via Webhook Integration-7865/convert_google_tasks_to_google_calendar_events_via_webhook_integration.json b/workflows/Convert Google Tasks to Google Calendar Events via Webhook Integration-7865/convert_google_tasks_to_google_calendar_events_via_webhook_integration.json new file mode 100644 index 000000000..10e516290 --- /dev/null +++ b/workflows/Convert Google Tasks to Google Calendar Events via Webhook Integration-7865/convert_google_tasks_to_google_calendar_events_via_webhook_integration.json @@ -0,0 +1 @@ +{"meta":{"instanceId":"6d95cfcfdb5941832863c02ceb9fcbd0e7cde6400b76244f830811247606f9a4","templateCredsSetupCompleted":true},"nodes":[{"id":"e617195e-a1e2-4bb4-95b9-c7751ee8782c","name":"Template Notes","type":"n8n-nodes-base.stickyNote","position":[272,0],"parameters":{"color":5,"width":528,"height":288,"content":"## What this template does\nCreate Google Calendar events from incoming task payloads.\n\n## How to set up\n1) Select Google credentials in Tasks & Calendar nodes.\n2) Configure `tasklistId` and `calendarId` in **Configuration**.\n3) POST `{ TaskName, DueDateTimeSeconds }` to the Webhook.\n4) Test, then activate.\n"},"typeVersion":1},{"id":"8baf3bc2-affd-4427-ad8f-0a8eef5995e9","name":"Configuration","type":"n8n-nodes-base.set","position":[320,480],"parameters":{"values":{"number":[{"name":"defaultMinutes","value":30},{"name":"eventColor","value":8}],"string":[{"name":"calendarId","value":"primary"},{"name":"tasklistId","value":"REPLACE_WITH_TASKLIST_ID"}]},"options":{}},"typeVersion":2},{"id":"6d90eb2d-3275-4525-b5d7-f7e761417683","name":"Google Tasks","type":"n8n-nodes-base.googleTasks","position":[544,480],"parameters":{"task":"={{ $('Configuration').item.json.tasklistId }}","operation":"getAll","additionalFields":{"showCompleted":false}},"credentials":{"googleTasksOAuth2Api":{"id":"r2Y8GsrO4PklYdVd","name":"Google Tasks account"}},"typeVersion":1},{"id":"668b1608-7a1b-4ac2-8570-fcbf8278cfaa","name":"Date & Time","type":"n8n-nodes-base.dateTime","position":[752,480],"parameters":{"date":"={{ $('Webhook').item.json.body.DueDateTimeSeconds.toDateTime(\"s\") }}","format":"custom","options":{},"operation":"formatDate","customFormat":"=yyyy-MM-dd HH:mm:ss"},"typeVersion":2},{"id":"0be0e8d0-b369-47e4-9419-90b3def746ad","name":"Google Calendar","type":"n8n-nodes-base.googleCalendar","position":[1392,560],"parameters":{"end":"={{ $('Date & Time').item.json.formattedDate.toDateTime().plus($('Configuration').item.json.defaultMinutes, 'minutes').format(\"yyyy-MM-dd HH:mm:ss\") }}","start":"={{ $('Date & Time').item.json.formattedDate }}","calendar":{"__rl":true,"mode":"id","value":"={{ $('Configuration').item.json.calendarId }}"},"additionalFields":{"color":"={{ $('Configuration').item.json.eventColor }}","summary":"={{ $('Google Tasks').item.json.title }}"}},"credentials":{"googleCalendarOAuth2Api":{"id":"20g8lCLkphJifaBd","name":"Google Calendar account"}},"typeVersion":1.1},{"id":"530619d8-52f2-4bb6-9fed-4068e686127a","name":"Google Tasks1","type":"n8n-nodes-base.googleTasks","position":[1616,560],"parameters":{"task":"MTQ4MDk5NDE1Mjc2NjA5MTA5MjE6MDow","taskId":"={{ $('Google Tasks').item.json.id }}","operation":"delete"},"credentials":{"googleTasksOAuth2Api":{"id":"r2Y8GsrO4PklYdVd","name":"Google Tasks account"}},"typeVersion":1},{"id":"36a1682b-8390-4273-ac26-1c35ec932294","name":"Webhook","type":"n8n-nodes-base.webhook","position":[112,480],"webhookId":"task-to-calendar","parameters":{"path":"task-to-calendar","options":{},"httpMethod":"POST"},"typeVersion":2},{"id":"0fde8152-49b5-49e5-b52e-23fdb8000d03","name":"Google Calendar9","type":"n8n-nodes-base.googleCalendar","position":[960,480],"parameters":{"limit":3,"options":{"query":"={{ $('Webhook').item.json.body.TaskName }}","updatedMin":"={{ $now.minus(5, 'minutes') }}","showDeleted":"=false"},"calendar":{"__rl":true,"mode":"id","value":"={{ $('Configuration').item.json.calendarId }}"},"operation":"getAll"},"credentials":{"googleCalendarOAuth2Api":{"id":"20g8lCLkphJifaBd","name":"Google Calendar account"}},"typeVersion":1.1,"alwaysOutputData":true},{"id":"de1caa4c-f1fc-44cc-baf4-9522f72f2b8d","name":"If1","type":"n8n-nodes-base.if","position":[1152,480],"parameters":{"options":{},"conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"f08129c7-f807-4915-9012-020c59db3629","operator":{"type":"string","operation":"exists","singleValue":true},"leftValue":"={{ $json.summary }}","rightValue":"={{ $json.summary }}"},{"id":"66c9e6d4-82bd-4e28-9456-4b9c9c1e54a3","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"{{ $('Webhook').item.json.body.TaskName }}","rightValue":"{{ $json.summary }}"}]}},"typeVersion":2,"alwaysOutputData":false},{"id":"b6b89761-d9dd-4f41-b150-c3e1de4246b6","name":"Step 1 – Trigger","type":"n8n-nodes-base.stickyNote","position":[96,736],"parameters":{"color":"blue","height":288,"content":"## Step 1 – Trigger (Webhook)\nReceives a JSON payload and starts the flow.\n\n**Example payload**\n```json\n{ \"TaskName\": \"Pay invoice\", \"DueDateTimeSeconds\": 1735179600 }\n```\nTip: replace the Manual Trigger if you prefer scheduled imports."},"typeVersion":1},{"id":"63bc5ca7-8930-434a-b293-6168a11f5881","name":"Step 2 – Configuration","type":"n8n-nodes-base.stickyNote","position":[368,736],"parameters":{"color":"blue","height":288,"content":"## Step 2 – Configuration\nSingle place to adjust variables:\n- `tasklistId` – Google Tasks list ID\n- `calendarId` – target Calendar (e.g., `primary`)\n- `defaultMinutes` – event duration\n- `eventColor` – Calendar color index"},"typeVersion":1},{"id":"91d84006-1103-4686-877d-7135245db2a1","name":"Step 3 – Date","type":"n8n-nodes-base.stickyNote","position":[640,736],"parameters":{"color":"blue","height":176,"content":"## Step 3 – Date formatting\nBuilds a proper start datetime from `DueDateTimeSeconds`.\nEnd time = start + `defaultMinutes` (configurable)."},"typeVersion":1},{"id":"d4b1604a-8d40-466b-b8a8-a8d7dcdf6f03","name":"Step 4 – Dedupe","type":"n8n-nodes-base.stickyNote","position":[912,736],"parameters":{"color":"blue","height":224,"content":"## Step 4 – Duplicate guard\nSearches recently updated events in the target calendar to prevent duplicates.\nAdjust the search window or title matching to fit your use case."},"typeVersion":1},{"id":"c74b5b51-10c0-4a4f-ada8-450a25846258","name":"Step 5 – Create Event","type":"n8n-nodes-base.stickyNote","position":[1184,736],"parameters":{"color":"blue","height":192,"content":"## Step 5 – Create event\nCreates a Calendar event using the formatted start time.\nEnd time = start + `defaultMinutes`. Color taken from `eventColor`."},"typeVersion":1},{"id":"680dfb47-1ef5-482b-a772-01ea49eb67f1","name":"Step 6 – Cleanup","type":"n8n-nodes-base.stickyNote","position":[1456,736],"parameters":{"color":"blue","height":192,"content":"## Step 6 – Cleanup (optional)\nDeletes the original Google Task after creating the Calendar event.\nDisable this if you prefer to keep tasks."},"typeVersion":1},{"id":"ba3e90cf-b8ce-40d7-adfa-f8c8f48891b5","name":"Flow Overview","type":"n8n-nodes-base.stickyNote","position":[832,0],"parameters":{"color":"blue","width":400,"height":192,"content":"## Flow overview\n1) **Webhook** receives task payload →\n2) **Configuration** centralizes variables →\n3) **Date & Time** formats schedule →\n4) **Duplicate guard** checks recent events →\n5) **Create event** on Google Calendar →\n6) **Cleanup** optionally deletes original task."},"typeVersion":1}],"pinData":{},"connections":{"If1":{"main":[[],[{"node":"Google Calendar","type":"main","index":0}]]},"Webhook":{"main":[[{"node":"Configuration","type":"main","index":0}]]},"Date & Time":{"main":[[{"node":"Google Calendar9","type":"main","index":0}]]},"Google Tasks":{"main":[[{"node":"Date & Time","type":"main","index":0}]]},"Configuration":{"main":[[{"node":"Google Tasks","type":"main","index":0}]]},"Google Calendar":{"main":[[{"node":"Google Tasks1","type":"main","index":0}]]},"Google Calendar9":{"main":[[{"node":"If1","type":"main","index":0}]]}}} \ No newline at end of file