Automate Recurring Todoist Tasks with n8n Workflow

This n8n workflow automates creating and managing recurring tasks in Todoist by copying template tasks with day and time due dates. It saves time and reduces manual errors for users who manage complex weekly task schedules.
todoist
code
filter
+3
Workflow Identifier: 1505
NODES in Use: Sticky Note, Todoist, Code, Filter, Schedule Trigger, If
Automate Todoist tasks with n8n

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

What this workflow does

This n8n workflow copies specific Todoist tasks every day with exact due dates for that day. It solves the problem of wasting time and making mistakes when copying weekly tasks manually. The workflow runs each morning, creates only tasks scheduled for that day with correct times, and cleans old copies from Inbox.

It works by reading from a Todoist “template” project. It reads task descriptions to find which days the task should appear and at what time. Then it makes new tasks with due dates set for today. It also removes old daily tasks before making new ones, keeping Inbox clean.


Tools and services used

  • n8n: Automates workflows with nodes and triggers.
  • Todoist API: Lets n8n get, create, and delete tasks.

Inputs, processing steps, and outputs

Inputs

  • Todoist “template” project with tasks labeled with day names and due times in descriptions.
  • Current day of the week to check which tasks to create.

Processing steps

  • The workflow triggers daily at 5:10 AM.
  • It fetches all tasks from the template project.
  • Each task’s description is read to find which days it should run and due time.
  • A JavaScript code node parses the description and converts the due time into an ISO date-time for today.
  • Tasks not scheduled for today are filtered out.
  • New tasks get created in the Inbox with the right due date, time, and a “daily” label.
  • Separately, at 5:00 AM a cleanup process fetches all Inbox tasks.
  • Tasks labeled “daily” from previous runs get deleted to avoid duplicates.

Outputs

  • Correct daily tasks created automatically in Inbox with proper due dates and labels.
  • Inbox cleared of old daily tasks before new ones are added.

Who should use this workflow

This workflow fits users who have recurring weekly tasks in Todoist that appear on different days and times. It is good for people who spend time copying tasks manually each day. If users need exact control of which days tasks appear and want less manual work, this helps.

Users should have a basic knowledge of n8n and Todoist API keys ready. No coding skill is needed since provided code is ready to paste.


Beginner step-by-step: How to use this workflow in n8n

Step 1: Download and import the workflow

  1. Click the Download button on this page to get the workflow file.
  2. Open n8n editor where workflows are managed.
  3. Use the “Import from File” option to import the downloaded workflow.

Step 2: Configure credentials and settings

  1. Go to Credentials in n8n.
  2. Add your Todoist API Key as a new Todoist API credential.
  3. In the imported workflow, assign this credential to all Todoist nodes.
  4. Update project IDs: enter your Todoist “template” project ID and Inbox project ID in the respective Todoist nodes.
  5. Check if the daily label ID matches your Todoist label. If not, update it.

Step 3: Test the workflow

  1. Run the workflow manually in n8n to check errors.
  2. Check Todoist Inbox project for created tasks and cleanup works as expected.

Step 4: Activate workflow for production

  1. Turn on the workflow using the toggle switch in n8n.
  2. Confirm schedule triggers run daily at 5:00 AM and 5:10 AM as set.
  3. Monitor workflow executions and check logs for issues.

Once active, the workflow will run automatically every day without manual steps.

For more control over hosting and privacy, consider self-host n8n.

const item = {};
item.description = $input.item.json.description;
item.content = $input.item.json.content;
const parts = item.description.split(';').map(v => v.trim());
parts.forEach(v => {
  const tag = v.split(':');
  if (tag.length === 2) {
    item[tag[0]] = tag[1].trim();
  }
});
if (item.due) {
  item.due = parseTimeString(item.due);
}
return item;

function parseTimeString(timeString) {
  const regex = /^(\d{1,2})(\.)?(\d{2})?([ap]m)$/i;
  const match = timeString.match(regex);
  if (!match) throw new Error("Invalid time format");
  let hours = parseInt(match[1], 10);
  let minutes = match[3] ? parseInt(match[3], 10) : 0;
  const period = match[4].toLowerCase();
  if (hours === 12) {
    hours = (period === 'am') ? 0 : 12;
  } else {
    hours = (period === 'pm') ? hours + 12 : hours;
  }
  const now = new Date();
  now.setHours(hours, minutes, 0, 0);
  return now.toISOString();
}

This code parses task descriptions to find days and due time, turning due times like “8am” or “8.30am” into today’s date-time format.


Customization ideas

  • Change times in templates (e.g., “due:9am”) and update the parsing code for new formats.
  • Add more filters like priority or labels to only create certain tasks each day.
  • Modify Inbox project ID to send new tasks to any other Todoist project.
  • Extend the parsing code to read extra info from descriptions, like notes or priority levels.
  • Adjust schedule triggers for other times that fit personal or team routines.

Edge cases and troubleshooting

Problem: “Invalid time format” error in the code parsing node.

Cause: The format of “due:” text in Todoist does not match expected (like “8am” or “8.30am”).

Fix: Make sure task descriptions use “due:” in exactly correct format or update the regex in the code to accept other time styles.

Problem: Tasks not created at 5:10 AM trigger.

Cause: Workflow is not activated or Todoist credentials expired.

Fix: Confirm workflow is on in n8n and check API key validity in credentials.


Pre-Production Checklist

  • Confirm Todoist API Key is correctly set in n8n credentials.
  • Test daily schedule triggers manually inside n8n.
  • Validate parsing code with example task descriptions.
  • Run the workflow with test data before live use.
  • Back up Todoist projects if possible to avoid data loss.

Summary of results

✓ Saves around 30 minutes daily spent on manual task copying.
✓ Reduces errors with due dates and times.
✓ Automates creating only tasks needed for the day.
✓ Keeps Inbox auto-cleaned from old daily tasks.
✓ Requires little technical knowledge to use after import.

Automate Todoist tasks with n8n

Visit through Desktop to Interact with the Workflow.

Frequently Asked Questions

This workflow uses Todoist API and nodes specific to Todoist. To use other apps, new nodes and API calls matching that app must be made.
The workflow runs once a day and uses API calls within normal free plan limits for daily tasks.
n8n stores API Keys securely. For more control, users can choose self-host n8n.
Yes, but large task sets may need workflow optimization or splitting for performance.

Promoted by BULDRR AI

Related Workflows

Automate Twist Channel Creation and Messaging with n8n

This workflow automates creating and updating a channel in Twist and sending a personalized message to specific users. It eliminates manual setup errors and saves time managing Twist communications.

Automate Ideogram Image Generation with Google Sheets & Gmail

This workflow automates graphic design image generation via Ideogram AI, storing image data in Google Sheets and Google Drive, with email alerts via Gmail. It saves designers hours by automating image creation, remixing, review, and record-keeping.

Automate IT Support with Slack and OpenAI in n8n

Streamline IT support by automating Slack message handling using n8n and OpenAI. This workflow handles Slack DMs, filters bots, queries a Confluence knowledge base, and delivers AI-generated responses, improving support efficiency and response time.

Automate Crypto Analysis with CoinMarketCap & n8n AI Agent

Discover how this unique n8n workflow leverages CoinMarketCap’s multi-agent AI to deliver precise, real-time cryptocurrency insights directly via Telegram. Manage crypto data analysis efficiently with automated multi-source API integration.

Automate Gumroad to Beehiiv Subscriber Sync with n8n

Learn how to automatically add new Gumroad sales customers as Beehiiv newsletter subscribers using n8n automation. This workflow saves time by syncing sales data to Google Sheets CRM and notifying your Telegram channel instantly.

Generate On-Brand Blog Articles Using n8n and OpenAI

This workflow automates the creation of on-brand blog articles by analyzing existing company content using n8n and OpenAI. It extracts article structures and brand voice to produce consistent draft articles, saving significant content creation time.
1:1 Free Strategy Session
Your competitors are already automating. Are you still paying for it manually?

Do you want to adopt AI Automation?

Every hour your team does repetitive work, you're burning real money.
While you wait, faster businesses are cutting costs and moving quicker.
AI and automations aren't the future anymore — they're the present.

Book a live 1-on-1 session where we show you exactly which of your daily tasks can be automated — and what it’s costing you not to.