AutomationFlowsGeneral › Todoist Automate

Todoist Automate

todoist automate. Uses todoist, executionData. Scheduled trigger; 27 nodes.

Cron / scheduled trigger★★★★☆ complexity27 nodesTodoistExecution Data
General Trigger: Cron / scheduled Nodes: 27 Complexity: ★★★★☆ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "todoist automate",
  "nodes": [
    {
      "parameters": {
        "operation": "getAll",
        "filters": {
          "filter": "no due date&(#work&/\ud83c\udf1eToday |  #personal&/\ud83c\udf1eToday)"
        }
      },
      "id": "6c26c24e-6353-4667-a895-4e0a2a8a5c05",
      "name": "Find tasks under Today section",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2,
      "position": [
        -1400,
        -80
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "update",
        "taskId": "={{ $json.id }}",
        "updateFields": {
          "dueString": "Today"
        }
      },
      "id": "0184e68d-3323-4b97-8091-754289dc7297",
      "name": "Set Due Date to Today",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2,
      "position": [
        -1160,
        -80
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "* 8-23 * * *"
            },
            {
              "field": "cronExpression",
              "expression": "0,30 0-8 * * *"
            }
          ]
        }
      },
      "id": "a60c1a4a-9988-4a2f-9ef2-64770b5dddf5",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        -2560,
        720
      ]
    },
    {
      "parameters": {
        "content": "## Tasks under Today section without a specified date, set due date to Today",
        "height": 305,
        "width": 560
      },
      "id": "37024c7c-e24e-49e9-a8bd-e7ec0122c8e4",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -1500,
        -200
      ]
    },
    {
      "parameters": {
        "content": "## Tasks due after today and before next week, move to This Week section section",
        "height": 580,
        "width": 580
      },
      "id": "9ab5854b-40b2-412f-a9dc-2dbf1a2ceeb4",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -1500,
        740
      ]
    },
    {
      "parameters": {
        "operation": "getAll",
        "filters": {
          "filter": "#work & due after: today & due before: next week & !/\ud83d\udcc6Week & !/\ud83d\udd01Repeat & !/\u231b\ufe0fWaiting"
        }
      },
      "id": "6e9c20bc-7389-4657-ac20-8d9bad81de45",
      "name": "Find work tasks due after today, before next week, and not in This Week section",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2,
      "position": [
        -1400,
        880
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "content": "## Tasks due before tomorrow and not in Today section, move to Today section",
        "height": 520,
        "width": 580
      },
      "id": "a53cd859-e7da-40cc-8990-419be05035f4",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -1500,
        160
      ]
    },
    {
      "parameters": {
        "operation": "move",
        "taskId": "={{ $json.id }}",
        "project": {
          "__rl": true,
          "value": "2315232253",
          "mode": "list",
          "cachedResultName": "work"
        },
        "options": {
          "section": "144900162"
        }
      },
      "id": "472b2c10-6504-4829-95ef-60ce343a8b85",
      "name": "Move to Waiting section",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2.1,
      "position": [
        -1160,
        2080
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "content": "## Tasks tagged @wait and not in Waiting section, move to Waiting section",
        "height": 300,
        "width": 580
      },
      "id": "e290c7e7-c63d-48e6-9a87-85aa8ab29f18",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -1500,
        1980
      ]
    },
    {
      "parameters": {
        "operation": "getAll",
        "filters": {
          "filter": "#work & /\u231b\ufe0fWaiting & !@wait"
        }
      },
      "id": "a6252650-31db-4d92-9fbc-f031c6ba1ea9",
      "name": "Find tasks missing @wait tag",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2,
      "position": [
        -1400,
        2420
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "update",
        "taskId": "={{ $json.id }}",
        "updateFields": {
          "labels": "={{ ($json.labels || []).concat(['wait']) }}"
        }
      },
      "id": "d7ad1ff1-973d-402a-b420-21e2a634c138",
      "name": "Add @wait tag",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2,
      "position": [
        -1160,
        2420
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "content": "## Tasks in Waiting section without @wait tag, add the tag",
        "height": 340,
        "width": 580
      },
      "id": "60ecebf9-2e2e-4502-8714-493adaffe451",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -1500,
        2320
      ]
    },
    {
      "parameters": {
        "dataToSave": {
          "values": [
            {
              "key": "change",
              "value": "y"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.executionData",
      "typeVersion": 1,
      "position": [
        -380,
        660
      ],
      "id": "786084de-51e5-4142-a624-232353beb788",
      "name": "Execution Data"
    },
    {
      "parameters": {
        "content": "## Tasks due next week, move to Next Week section",
        "height": 540,
        "width": 580
      },
      "id": "b94845ca-6c92-43dc-95ab-6d44ce312c9b",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -1500,
        1380
      ]
    },
    {
      "parameters": {
        "operation": "getAll",
        "filters": {
          "filter": "#work & due after: this sunday & due before: next sunday & !/\ud83d\udd01Repeat & !/\u231b\ufe0fWaiting & !/\ud83d\uddd3\ufe0fNext Week"
        }
      },
      "id": "6cebb6a9-4766-4c5c-9ea0-019324afdb98",
      "name": "Find work tasks due next week and not in Next Week section",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2,
      "position": [
        -1400,
        1480
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "move",
        "taskId": "={{ $json.id }}",
        "project": {
          "__rl": true,
          "value": "2304402498",
          "mode": "list",
          "cachedResultName": "personal"
        },
        "options": {
          "section": "165102088"
        }
      },
      "id": "c12bd77e-1901-4941-9730-2fadbbffbccc",
      "name": "Move to Personal/Today section",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2.1,
      "position": [
        -1160,
        500
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "move",
        "taskId": "={{ $json.id }}",
        "project": {
          "__rl": true,
          "value": "2315232253",
          "mode": "list",
          "cachedResultName": "work"
        },
        "options": {
          "section": "144754431"
        }
      },
      "id": "fede614e-23eb-46f2-a20f-ba2bb19bc687",
      "name": "Move to Work/Today section",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2.1,
      "position": [
        -1160,
        280
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "getAll",
        "filters": {
          "filter": "#work & !/\ud83c\udf1eToday & (due before: tomorrow) & !/\u231b\ufe0fWaiting & !/\ud83d\udd01Repeat"
        }
      },
      "id": "5b5c24d3-1835-4b1a-a255-47790448fa3c",
      "name": "Work tasks due today or earlier and not in Today section",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2,
      "position": [
        -1400,
        280
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "getAll",
        "filters": {
          "filter": "#personal & !/\ud83c\udf1eToday & (due before: tomorrow) & !/\u231b\ufe0fWaiting & !/\ud83d\udd01Repeat"
        }
      },
      "id": "7d73d9e5-0f3c-43d9-be2a-a26c5fc594eb",
      "name": "Personal tasks due today or earlier and not in Today section",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2,
      "position": [
        -1400,
        500
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "getAll",
        "filters": {
          "filter": "#personal & due after: today & due before: next week & !/\ud83d\udcc6Week & !/\ud83d\udd01Repeat & !/\u231b\ufe0fWaiting"
        }
      },
      "id": "a29f31eb-3413-49d1-98d5-c75025108b54",
      "name": "Find personal tasks due after today, before next week, and not in This Week section",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2,
      "position": [
        -1400,
        1100
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "move",
        "taskId": "={{ $json.id }}",
        "project": {
          "__rl": true,
          "value": "2304402498",
          "mode": "list",
          "cachedResultName": "personal"
        },
        "options": {
          "section": "144940437"
        }
      },
      "id": "1d973244-662a-418a-88af-22c6aac0a7d9",
      "name": "move to personal/week",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2.1,
      "position": [
        -1160,
        1100
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "move",
        "taskId": "={{ $json.id }}",
        "project": {
          "__rl": true,
          "value": "2315232253",
          "mode": "list",
          "cachedResultName": "work"
        },
        "options": {
          "section": "144754464"
        }
      },
      "id": "ed85b57b-ae5a-4b86-a44c-2e5c4245072d",
      "name": "move to work week",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2.1,
      "position": [
        -1160,
        880
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "move",
        "taskId": "={{ $json.id }}",
        "project": {
          "__rl": true,
          "value": "2315232253",
          "mode": "list",
          "cachedResultName": "work"
        },
        "options": {
          "section": "175324103"
        }
      },
      "id": "84fc41b6-0eb8-461b-aa41-26fdc76ceca8",
      "name": "move to work/next week",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2.1,
      "position": [
        -1160,
        1480
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "getAll",
        "filters": {
          "filter": "#personal & due after: this sunday & due before: next sunday & !/\ud83d\udd01Repeat & !/\u231b\ufe0fWaiting & !/\ud83d\uddd3\ufe0fNext Week"
        }
      },
      "id": "0195387d-e2ff-43b6-83cc-c7252f886356",
      "name": "Find personal tasks due next week and not in Next Week section",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2,
      "position": [
        -1400,
        1740
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "move",
        "taskId": "={{ $json.id }}",
        "project": {
          "__rl": true,
          "value": "2304402498",
          "mode": "list",
          "cachedResultName": "personal"
        },
        "options": {
          "section": "175324232"
        }
      },
      "id": "bd45c098-1f6a-4fd8-bd85-0633de4055b0",
      "name": "move to personal/next week",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2.1,
      "position": [
        -1160,
        1740
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "getAll",
        "filters": {
          "filter": "#work & @wait & !/\u231b\ufe0fWaiting"
        }
      },
      "id": "5193db73-4c88-4720-8bc0-94600b9c5efd",
      "name": "Find #work tasks tagged @wait and not in Waiting section",
      "type": "n8n-nodes-base.todoist",
      "typeVersion": 2,
      "position": [
        -1400,
        2080
      ],
      "credentials": {
        "todoistApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "content": "## for filtering executions",
        "height": 300,
        "width": 360
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -460,
        560
      ],
      "id": "ac608ad2-e907-4a3d-841c-1e0f484848b1",
      "name": "Sticky Note6"
    }
  ],
  "connections": {
    "Find tasks under Today section": {
      "main": [
        [
          {
            "node": "Set Due Date to Today",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Due Date to Today": {
      "main": [
        [
          {
            "node": "Execution Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Find work tasks due after today, before next week, and not in This Week section",
            "type": "main",
            "index": 0
          },
          {
            "node": "Work tasks due today or earlier and not in Today section",
            "type": "main",
            "index": 0
          },
          {
            "node": "Find #work tasks tagged @wait and not in Waiting section",
            "type": "main",
            "index": 0
          },
          {
            "node": "Find tasks missing @wait tag",
            "type": "main",
            "index": 0
          },
          {
            "node": "Find tasks under Today section",
            "type": "main",
            "index": 0
          },
          {
            "node": "Find work tasks due next week and not in Next Week section",
            "type": "main",
            "index": 0
          },
          {
            "node": "Personal tasks due today or earlier and not in Today section",
            "type": "main",
            "index": 0
          },
          {
            "node": "Find personal tasks due after today, before next week, and not in This Week section",
            "type": "main",
            "index": 0
          },
          {
            "node": "Find personal tasks due next week and not in Next Week section",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Find work tasks due after today, before next week, and not in This Week section": {
      "main": [
        [
          {
            "node": "move to work week",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Move to Waiting section": {
      "main": [
        [
          {
            "node": "Execution Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Find tasks missing @wait tag": {
      "main": [
        [
          {
            "node": "Add @wait tag",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add @wait tag": {
      "main": [
        [
          {
            "node": "Execution Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Find work tasks due next week and not in Next Week section": {
      "main": [
        [
          {
            "node": "move to work/next week",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Move to Work/Today section": {
      "main": [
        [
          {
            "node": "Execution Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Move to Personal/Today section": {
      "main": [
        [
          {
            "node": "Execution Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Work tasks due today or earlier and not in Today section": {
      "main": [
        [
          {
            "node": "Move to Work/Today section",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Personal tasks due today or earlier and not in Today section": {
      "main": [
        [
          {
            "node": "Move to Personal/Today section",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Find personal tasks due after today, before next week, and not in This Week section": {
      "main": [
        [
          {
            "node": "move to personal/week",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "move to work week": {
      "main": [
        [
          {
            "node": "Execution Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "move to personal/week": {
      "main": [
        [
          {
            "node": "Execution Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "move to work/next week": {
      "main": [
        [
          {
            "node": "Execution Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Find personal tasks due next week and not in Next Week section": {
      "main": [
        [
          {
            "node": "move to personal/next week",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "move to personal/next week": {
      "main": [
        [
          {
            "node": "Execution Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Find #work tasks tagged @wait and not in Waiting section": {
      "main": [
        [
          {
            "node": "Move to Waiting section",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "8ad6dd6d-b732-4b11-b979-ac3682193904",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "q5uSKv1SJlFQtYV9",
  "tags": []
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

todoist automate. Uses todoist, executionData. Scheduled trigger; 27 nodes.

Source: https://gist.github.com/shawnli1874/3fa750774d9f489f9f0914ea3d75d6d5 — original creator credit. Request a take-down →

More General workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

General

This template is an interactive playground designed to help you master the most useful keyboard shortcuts in n8n and supercharge your building speed. Forget boring lists—this workflow gives you hands-

General

Workflow 2469. Uses moveBinaryData, googleDrive, itemLists, n8n. Scheduled trigger; 33 nodes.

Move Binary Data, Google Drive, Item Lists +1
General

Perfect for content publishing with organic scheduling patterns, social media automation, API systems that need to avoid rate limiting, or any automation requiring randomised timing control across mul

n8n, Read Write File, Stop And Error +1
General

Complete backup solution that saves both workflows and credentials to local/server disk with optional FTP upload for off-site redundancy.

Read Write File, Email Send, Execute Command +3
General

This workflow enables you to listen to your recent favorites in very hight quality offline without sacrificing all of your storage.

Spotify