{"id":"RJ4PaYq0JBr29KJm","meta":{"instanceId":"workflow-751a3b18","versionId":"1.0.0","createdAt":"2025-09-29T07:07:52.093990","updatedAt":"2025-09-29T07:07:52.094002","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"name":"Reschedule overdue Asana tasks and clean up completed tasks","nodes":[{"id":"9262720e-2beb-4426-a472-3d7bf8bc28af","name":"Everyday at 7am","type":"n8n-nodes-base.scheduleTrigger","position":[80,-520],"parameters":{"rule":{"interval":[{"triggerAtHour":7}]}},"typeVersion":1.2,"notes":"This scheduleTrigger node performs automated tasks as part of the workflow."},{"id":"0d074451-5d61-4ed4-86a8-f6cdf002e84b","name":"Get user tasks","type":"n8n-nodes-base.asana","position":[320,-520],"parameters":{"filters":{"assignee":"1201727447190193","workspace":"1201727656813934","completed_since":"={{ DateTime.now().format('yyyy-MM-dd') }}"},"operation":"getAll","returnAll":true},"credentials":{"asanaApi":{"id":"u7fFpY0SmMcpBCdn","name":"Asana account"}},"typeVersion":1,"notes":"This asana node performs automated tasks as part of the workflow."},{"id":"14939268-9bda-4fc1-9fef-aa6a74c2365a","name":"Get task infos","type":"n8n-nodes-base.asana","position":[540,-520],"parameters":{"id":"={{ $json.gid }}","operation":"get"},"credentials":{"asanaApi":{"id":"u7fFpY0SmMcpBCdn","name":"Asana account"}},"typeVersion":1,"notes":"This asana node performs automated tasks as part of the workflow."},{"id":"e7d9a37c-66b7-46b9-b228-7372cb0d7b09","name":"Task is open?","type":"n8n-nodes-base.if","position":[780,-520],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"145d9367-7662-4ed9-8195-bf9b35c78d6b","operator":{"type":"boolean","operation":"false","singleValue":true},"leftValue":"={{ $json.completed }}","rightValue":"false"}]}},"typeVersion":2.2,"notes":"This if node performs automated tasks as part of the workflow."},{"id":"11ae0bbb-8d76-4623-9a24-2c2a36600dd3","name":"Due date in the past?","type":"n8n-nodes-base.if","position":[1020,-640],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"dbecabb3-8075-4cc0-94af-b678c8af8f66","operator":{"type":"number","operation":"lt"},"leftValue":"={{ $json.due_on.replaceAll(\"-\",\"\") }}","rightValue":"={{ DateTime.now().format('yyyyMMdd') }}"}]},"looseTypeValidation":true},"typeVersion":2.2,"notes":"This if node performs automated tasks as part of the workflow."},{"id":"282d79c7-e74a-4249-ad37-b4d81655a206","name":"Set due date to Today","type":"n8n-nodes-base.asana","position":[1280,-680],"parameters":{"id":"={{ $json.gid }}","operation":"update","otherProperties":{"due_on":"={{ DateTime.now().format('yyyy-MM-dd') }}"}},"credentials":{"asanaApi":{"id":"u7fFpY0SmMcpBCdn","name":"Asana account"}},"typeVersion":1,"notes":"This asana node performs automated tasks as part of the workflow."},{"id":"7cc18243-d3d4-4624-a906-a1617e411b0c","name":"Clean up task","type":"n8n-nodes-base.asana","position":[1020,-440],"parameters":{"id":"={{ $json.gid }}","operation":"delete"},"credentials":{"asanaApi":{"id":"u7fFpY0SmMcpBCdn","name":"Asana account"}},"typeVersion":1,"notes":"This asana node performs automated tasks as part of the workflow."},{"id":"f4aafa1f-8c5b-4fd1-9aca-fd096508dbfb","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[40,-800],"parameters":{"color":5,"width":640,"height":240,"content":"### ⚙️ Set Up \n\n1. Add your **Asana** credentials\n2. Schedule the workflow to run at desired intervals (e.g., daily or weekly).\n3. Select your **Workspace Name** and your **Assignee Name** (user) in the **Get user tasks** node\n4. *(Optional) Tailor filtering conditions to match your preferred due-date rules and removal criteria.*\n5. **Activate the workflow** and watch your Asana workspace stay up to date and clutter-free."},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"e4fcbdee-5dd0-40dc-b1ef-f7b8ce00dd03","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[60,-360],"parameters":{"color":7,"width":160,"height":100,"content":"👆 \nUpdate the **Scheduler** here"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"195f467d-1124-4216-ab0e-048c6a9fc752","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[280,-360],"parameters":{"color":7,"width":200,"height":100,"content":"👆 \nSelect your **Workspace Name** & **Assignee Name** here"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"error-dba4bd4f","name":"Error Handler","type":"n8n-nodes-base.stopAndError","typeVersion":1,"position":[1000,400],"parameters":{"message":"Workflow execution error","options":{}}}],"active":false,"settings":{"timezone":"UTC","callerPolicy":"workflowsFromSameOwner","executionOrder":"v1","saveManualExecutions":true,"errorWorkflow":null,"executionTimeout":3600,"maxExecutions":1000,"retryOnFail":true,"retryCount":3,"retryDelay":1000},"versionId":"fdc51229-75f4-4489-a7f7-1f36a35d43ac","connections":{},"description":"Automated workflow: Reschedule overdue Asana tasks and clean up completed tasks. This workflow integrates 4 different services: scheduleTrigger, asana, stickyNote, if. It contains 10 nodes and follows best practices for error handling and security.","notes":"Excellent quality workflow: Reschedule overdue Asana tasks and clean up completed tasks. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}