Spaces:
Sleeping
Sleeping
| { | |
| "nodes": [ | |
| { | |
| "id": "a39274d0-6709-4e66-95a7-8c0fc4c0e8b1", | |
| "name": "if after unsnooze date", | |
| "type": "n8n-nodes-base.if", | |
| "position": [ | |
| 1840, | |
| 500 | |
| ], | |
| "parameters": { | |
| "conditions": { | |
| "dateTime": [ | |
| { | |
| "value1": "={{ DateTime.now() }}", | |
| "value2": "={{ $json.unsnoozeDate }}" | |
| } | |
| ] | |
| } | |
| }, | |
| "typeVersion": 1 | |
| }, | |
| { | |
| "id": "a4e2d915-4714-41ea-8995-76b7198df675", | |
| "name": "at 5am", | |
| "type": "n8n-nodes-base.scheduleTrigger", | |
| "position": [ | |
| 780, | |
| 500 | |
| ], | |
| "parameters": { | |
| "rule": { | |
| "interval": [ | |
| { | |
| "triggerAtHour": 5 | |
| } | |
| ] | |
| } | |
| }, | |
| "typeVersion": 1.1 | |
| }, | |
| { | |
| "id": "7ad8e2f6-0499-4537-8325-9dffc2d7ea3c", | |
| "name": "every 5 min", | |
| "type": "n8n-nodes-base.scheduleTrigger", | |
| "position": [ | |
| 780, | |
| 280 | |
| ], | |
| "parameters": { | |
| "rule": { | |
| "interval": [ | |
| { | |
| "field": "minutes" | |
| } | |
| ] | |
| } | |
| }, | |
| "typeVersion": 1.1 | |
| }, | |
| { | |
| "id": "370f380a-923b-4e4f-b025-9e7723662083", | |
| "name": "Get snoozed tasks", | |
| "type": "n8n-nodes-base.todoist", | |
| "position": [ | |
| 980, | |
| 500 | |
| ], | |
| "parameters": { | |
| "filters": { | |
| "projectId": "2325216129" | |
| }, | |
| "operation": "getAll", | |
| "returnAll": true | |
| }, | |
| "credentials": { | |
| "todoistApi": { | |
| "id": "1", | |
| "name": "Todoist account" | |
| } | |
| }, | |
| "retryOnFail": true, | |
| "typeVersion": 2, | |
| "waitBetweenTries": 5000 | |
| }, | |
| { | |
| "id": "f239a87d-0229-4964-bca0-75bbf371626b", | |
| "name": "if task is not a subtask", | |
| "type": "n8n-nodes-base.if", | |
| "position": [ | |
| 1200, | |
| 500 | |
| ], | |
| "parameters": { | |
| "conditions": { | |
| "number": [ | |
| { | |
| "value1": "={{ $json.parent_id }}", | |
| "operation": "isEmpty" | |
| } | |
| ] | |
| } | |
| }, | |
| "typeVersion": 1 | |
| }, | |
| { | |
| "id": "b9b29371-254f-45d1-846c-c2db7efae907", | |
| "name": "If task has due date", | |
| "type": "n8n-nodes-base.if", | |
| "position": [ | |
| 1420, | |
| 500 | |
| ], | |
| "parameters": { | |
| "conditions": { | |
| "boolean": [ | |
| { | |
| "value1": "={{ !$json.due }}" | |
| } | |
| ] | |
| } | |
| }, | |
| "typeVersion": 1 | |
| }, | |
| { | |
| "id": "1d1fe683-68b5-4a9c-af29-b20a01c2473b", | |
| "name": "Get date to unsnooze", | |
| "type": "n8n-nodes-base.dateTime", | |
| "position": [ | |
| 1640, | |
| 500 | |
| ], | |
| "parameters": { | |
| "options": { | |
| "includeInputFields": true | |
| }, | |
| "duration": 3, | |
| "magnitude": "={{ $json.due.date }}", | |
| "operation": "subtractFromDate", | |
| "outputFieldName": "unsnoozeDate" | |
| }, | |
| "typeVersion": 2 | |
| }, | |
| { | |
| "id": "9e0e3241-d2fd-4bc4-9273-aa5237cbeaa4", | |
| "name": "Get inbox tasks to snooze", | |
| "type": "n8n-nodes-base.todoist", | |
| "position": [ | |
| 980, | |
| 280 | |
| ], | |
| "parameters": { | |
| "filters": { | |
| "projectId": "938017196" | |
| }, | |
| "operation": "getAll", | |
| "returnAll": true | |
| }, | |
| "credentials": { | |
| "todoistApi": { | |
| "id": "1", | |
| "name": "Todoist account" | |
| } | |
| }, | |
| "retryOnFail": true, | |
| "typeVersion": 2, | |
| "waitBetweenTries": 5000 | |
| }, | |
| { | |
| "id": "90e83f5f-dd9f-431d-92b5-cd52a792dee2", | |
| "name": "Sticky Note3", | |
| "type": "n8n-nodes-base.stickyNote", | |
| "position": [ | |
| 1220, | |
| 220 | |
| ], | |
| "parameters": { | |
| "color": 5, | |
| "width": 390.83694011071975, | |
| "height": 182.09360845495712, | |
| "content": "### 👨🎤 Setup\n1. Add your Todoist creds\n2. Create a Todoist project called `snoozed`\n3. Set the project ids in the relevant nodes\n4. Add due dates to your tasks in Inbox. Watch them disappear to `snoozed`. Set their date to tomorrow, watch it return to inbox." | |
| }, | |
| "typeVersion": 1 | |
| }, | |
| { | |
| "id": "c7a6b401-f518-45ba-a185-c8bf0cd92394", | |
| "name": "Set inbox project id", | |
| "type": "n8n-nodes-base.set", | |
| "position": [ | |
| 2060, | |
| 420 | |
| ], | |
| "parameters": { | |
| "fields": { | |
| "values": [ | |
| { | |
| "name": "target_project_id", | |
| "type": "numberValue", | |
| "numberValue": "2329427682" | |
| } | |
| ] | |
| }, | |
| "options": {} | |
| }, | |
| "typeVersion": 3.2 | |
| }, | |
| { | |
| "id": "22982318-5036-490a-ba3c-d40db8c3dc89", | |
| "name": "If not same project", | |
| "type": "n8n-nodes-base.filter", | |
| "position": [ | |
| 2280, | |
| 500 | |
| ], | |
| "parameters": { | |
| "conditions": { | |
| "number": [ | |
| { | |
| "value1": "={{ parseInt($json.target_project_id) }}", | |
| "value2": "={{ parseInt($json.project_id) }}", | |
| "operation": "notEqual" | |
| } | |
| ] | |
| } | |
| }, | |
| "typeVersion": 1 | |
| }, | |
| { | |
| "id": "62009b22-d0e3-40a0-b7f9-88dc2ec02284", | |
| "name": "Set args to move", | |
| "type": "n8n-nodes-base.set", | |
| "position": [ | |
| 2480, | |
| 500 | |
| ], | |
| "parameters": { | |
| "fields": { | |
| "values": [ | |
| { | |
| "name": "args", | |
| "type": "objectValue", | |
| "objectValue": "={ id: {{ $json.id }}, project_id: {{ $json.target_project_id }} }" | |
| }, | |
| { | |
| "name": "type", | |
| "stringValue": "item_move" | |
| } | |
| ] | |
| }, | |
| "include": "none", | |
| "options": {} | |
| }, | |
| "typeVersion": 3.2 | |
| }, | |
| { | |
| "id": "4d628334-12a3-451f-b49e-ce749241e411", | |
| "name": "Generate unique uuid for move", | |
| "type": "n8n-nodes-base.crypto", | |
| "position": [ | |
| 2680, | |
| 500 | |
| ], | |
| "parameters": { | |
| "action": "generate", | |
| "dataPropertyName": "uuid" | |
| }, | |
| "typeVersion": 1 | |
| }, | |
| { | |
| "id": "8b6bf7ae-6d15-473d-8f00-5aaa4ea7d2f3", | |
| "name": "Merge all items into a list", | |
| "type": "n8n-nodes-base.itemLists", | |
| "position": [ | |
| 2880, | |
| 500 | |
| ], | |
| "parameters": { | |
| "options": {}, | |
| "aggregate": "aggregateAllItemData", | |
| "operation": "concatenateItems", | |
| "destinationFieldName": "commands" | |
| }, | |
| "typeVersion": 3.1 | |
| }, | |
| { | |
| "id": "7882c3c6-0d24-4fe2-99b6-3e878e4d0dea", | |
| "name": "Move the tasks", | |
| "type": "n8n-nodes-base.httpRequest", | |
| "position": [ | |
| 3080, | |
| 500 | |
| ], | |
| "parameters": { | |
| "url": "https://api.todoist.com/sync/v9/sync", | |
| "method": "POST", | |
| "options": {}, | |
| "sendBody": true, | |
| "contentType": "form-urlencoded", | |
| "authentication": "predefinedCredentialType", | |
| "bodyParameters": { | |
| "parameters": [ | |
| { | |
| "name": "commands", | |
| "value": "={{ JSON.stringify($json.commands) }}" | |
| } | |
| ] | |
| }, | |
| "nodeCredentialType": "todoistApi" | |
| }, | |
| "credentials": { | |
| "todoistApi": { | |
| "id": "1", | |
| "name": "Todoist account" | |
| } | |
| }, | |
| "typeVersion": 4.1 | |
| }, | |
| { | |
| "id": "259c337b-38f6-4c2a-8e23-9fe5d154a2aa", | |
| "name": "Set snoozed project id", | |
| "type": "n8n-nodes-base.set", | |
| "position": [ | |
| 2060, | |
| 600 | |
| ], | |
| "parameters": { | |
| "fields": { | |
| "values": [ | |
| { | |
| "name": "target_project_id", | |
| "type": "numberValue", | |
| "numberValue": "2329427688" | |
| } | |
| ] | |
| }, | |
| "options": {} | |
| }, | |
| "typeVersion": 3.2 | |
| }, | |
| { | |
| "id": "2795502f-cdeb-4b94-a6fe-ef3657bdc091", | |
| "name": "Sticky Note2", | |
| "type": "n8n-nodes-base.stickyNote", | |
| "position": [ | |
| 2080, | |
| 780 | |
| ], | |
| "parameters": { | |
| "color": 7, | |
| "width": 202, | |
| "height": 100, | |
| "content": "👆 Set `snoozed` project id here. You can find it in the URL. " | |
| }, | |
| "typeVersion": 1 | |
| }, | |
| { | |
| "id": "ef6c23d5-386e-48c2-a2ed-eea67fe1f117", | |
| "name": "Sticky Note", | |
| "type": "n8n-nodes-base.stickyNote", | |
| "position": [ | |
| 2060, | |
| 260 | |
| ], | |
| "parameters": { | |
| "color": 7, | |
| "width": 202, | |
| "height": 100, | |
| "content": "👇🏽 Set `inbox` project id here. You can find it in the URL. " | |
| }, | |
| "typeVersion": 1 | |
| }, | |
| { | |
| "id": "6727670f-b340-47cd-b86a-632ef29e2135", | |
| "name": "Sticky Note1", | |
| "type": "n8n-nodes-base.stickyNote", | |
| "position": [ | |
| 1660, | |
| 660 | |
| ], | |
| "parameters": { | |
| "color": 7, | |
| "width": 202, | |
| "height": 100, | |
| "content": "👆🏽 Adjust here the timeline to return tasks to Inbox (here set to 3 days before due date)" | |
| }, | |
| "typeVersion": 1 | |
| } | |
| ], | |
| "pinData": {}, | |
| "connections": { | |
| "at 5am": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Get snoozed tasks", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "every 5 min": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Get inbox tasks to snooze", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Set args to move": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Generate unique uuid for move", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Get snoozed tasks": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "if task is not a subtask", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "If not same project": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Set args to move", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Get date to unsnooze": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "if after unsnooze date", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "If task has due date": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Get date to unsnooze", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Set inbox project id": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "If not same project", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Set snoozed project id": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "If not same project", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "if after unsnooze date": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Set inbox project id", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ], | |
| [ | |
| { | |
| "node": "Set snoozed project id", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "if task is not a subtask": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "If task has due date", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Get inbox tasks to snooze": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "if task is not a subtask", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Merge all items into a list": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Move the tasks", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Generate unique uuid for move": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Merge all items into a list", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| } | |
| } | |
| } |