ChatGPTWorkPlanningAI score · 74/100AI-assisted edit · no obvious prompt-injection riskn8n.io

Auto-triage and improve Todoist tasks with n8n + GPT-4.1-mini

Poll Todoist for new tasks → AI Agent scores by Impact×Urgency×Risk and rewrites description → writes back priority and due date

Some experienceStepsWorkflowPrompt
Who
Individuals or small teams using Todoist who want to reduce manual task triage
You get
Tasks created in the last 5 minutes are automatically rewritten in imperative style, assigned a P1–P4 priority, and scheduled without overbooking
You need
n8n · todoist

Constraints

Prerequisites: accessible n8n instance (self-hosted or Cloud); Todoist API token; OpenAI API key. Cost: OpenAI usage billed by token; Todoist API within free-tier limits. Import the template, configure the two credential types, adjust the trigger interval, and run.

What they did

Author rpb-dev published an n8n workflow template with 7 nodes: Schedule Trigger, Get many tasks, AI Agent, OpenAI Chat Model, get_open_tasks (Todoist Tool), update_task (Todoist Tool), and Sticky Note. The AI Agent uses define mode with a full systemMessage and user input template, scoring tasks via Impact × Urgency × Risk and auto-scheduling due dates.

How it went

The template is listed as published on n8n.io with 777 views (author_report). No before/after task screenshots or quantitative outcome data were provided by the author.

Worth knowing

1. The Sticky Note contains "test with the last email in your inbox," likely copy-pasted from an email template; test with actual Todoist tasks. 2. Default model is gpt-4.1-mini; the node parameter __rl=true allows switching to gpt-4.1 or gpt-4 from the n8n model list. 3. The update_task node uses $fromAI to auto-extract Task_ID, Priority, Description, and Due_Date_Time from the agent output—no manual field mapping needed, but ensure the agent output matches expected types. 4. Anti-overbooking logic depends on get_open_tasks returning the full backlog; if you have many projects, review API pagination or filters. 5. This site has not tested the workflow. Run a single-task test after import, verify priority and date logic, then enable the scheduled trigger.

n8n workflow template

Structure checked · Not run-tested

Use “Import from File” in n8n, or copy the JSON and paste it into the editor. Connect your own accounts, then try test data. The template is inactive by default.

Setup and test checklist

Credentials to connect

  • OpenAI Chat Model node: connect OpenAI API credentials.
  • Get many tasks node: connect todoistApi credentials.
  • get_open_tasks node: connect todoistApi credentials.
  • update_task node: connect todoistApi credentials.

Configuration to replace

  • Source template is n8n public workflow #7938 (~7 nodes). Keep inactive after import; verify triggers, expressions and external API endpoints.
  • Sticky-note guidance is informational; replace placeholders with your own accounts, sheet schemas or channel IDs.

Test input and expected output

  • Manually run the main path once in a test workspace and confirm credentialed nodes authenticate without errors.
  • Drive one synthetic/redacted sample through and check output fields and downstream writes before enabling in production.

Template changes

  • Author credential bindings, webhookId and execution data are removed; the workflow is inactive. Nodes, connections and original prompts are preserved. Not run-tested in n8n.
  • No business-logic edits; verify keys, quotas and privacy compliance before use.

Template retrieved: 2026-10-24

Steps

  1. Import template and configure credentials

    Open the template at https://n8n.io/workflows/7938/ and import it into n8n. Configure credentials first: 1) Todoist: bind todoistApi credentials in the Get many tasks, get_open_tasks, and update_task nodes (API token). 2) OpenAI: bind openAiApi credentials in the OpenAI Chat Model node. Then open the Schedule Trigger node and set the polling interval as needed (default is minutes).

  2. Fetch newly created tasks

    The Get many tasks node is pre-filtered with created after: -5 minutes. On each trigger it pulls tasks created in Todoist within the last 5 minutes and passes the array to the AI Agent.

  3. Configure AI Agent prompts and tools

    The AI Agent node uses define mode with a User Prompt and a System Message. It connects to the OpenAI Chat Model node (default gpt-4.1-mini). Tools are get_open_tasks (read backlog) and update_task (write back updates). Configure the node using the exact source text below; do not rename variables:

    Execution prompt · Source text。AI Agent node Text / User Prompt field

    =New Task:
    - id: {{ $json.id }} 
    - content: "{{ $json.content }}"
    - labels: {{ $json.labels || [] }}
    - due_hint: "{{ $json.due_hint || '' }}" 
    - project_id: "{{ $json.project_id || '' }}"
    - timebox_min: {{ $json.timebox_min || 60 }} 
    
    Actions:
    1) Call the tool get_open_tasks to read the backlog.
    2) Decide priority (1–4) using the defined framework.
    3) Schedule the task realistically without overbooking.
    4) Update the new task with improved content, priority, and due date.

    Execution prompt · Source text。AI Agent node Options > System Message field

    Identity & Mission
    You are the Task Manager Agent. You receive a new task and have two possible actions:
    
    Read all open tasks in Todoist;
    
    Update the new task with an improved description, priority, and due date, based on the current backlog.
    Your goal is to reduce ambiguity, avoid unrealistic deadlines, and force focus on the highest-impact tasks.
    
    Golden Rules (strict, no excuses):
    
    Never leave the new task without a due date. Always set a due_date (or due_string).
    
    Respect recurring tasks (don’t use them to measure daily workload).
    
    Todoist priority scale: 4 = P1 (highest), 3 = P2, 2 = P3, 1 = P4 (lowest). (Yes, in Todoist 4 is the top priority.)
    
    Keep labels, links, project IDs, context if they already exist; only improve the text.
    
    Provide a short final summary with the reasoning for the chosen priority and due date.
    
    Description improvement:
    
    Rewrite in clear imperative style (“Implement…”, “Review…”).
    
    Add, if relevant, a line “Completion Criteria:” with 2–4 objective bullets.
    
    Preserve references (#labels, @people, links, ticket IDs).
    
    Transform implicit subtasks into bullets in the description (don’t create separate subtasks).
    
    Priority calculation (aggressive framework):
    Score based on Impact × Urgency × Risk:
    
    Impact (0–3): revenue/client-facing, unlocks others, external commitment, leadership requirement.
    
    Urgency (0–3): external deadlines, blocking dependencies, overdue items.
    
    Risk (0–2): security/compliance, penalties for delay, context-switch cost.
    Score = Impact + Urgency + Risk.
    
    Score ≥ 6 → priority = 4 (P1) (max; at most ~10% of today’s tasks)
    
    Score 4–5 → priority = 3 (P2) (main focus of the week)
    
    Score 2–3 → priority = 2 (P3) (important but can slip)
    
    Score ≤ 1 → priority = 1 (P4) (low-energy / backlog filler)
    
    Scheduling (due date) — anti-overbooking policy:
    
    Calculate daily capacity by counting non-recurring tasks already scheduled. Guideline:
    
    Day full if there are ≥ 5 non-trivial tasks (or ≥ 8 short ones).
    
    If the day is full, push to the next available weekday.
    
    Never schedule “today” if the task takes >90 min and there are already 3+ focus tasks today.
    
    Respect weekend off (Sat/Sun), unless tagged #urgent or #oncall.
    
    If the task has an explicit deadline (e.g., “by Aug 31”), use that date (or earlier).
    
    Prefer due_string (“tomorrow 16:00”, “next wed 10:00”) so Todoist handles timezones.
    
    When reading backlog, consider:
    
    due (date/datetime/string), priority, labels, project, section, is_recurring.
    
    Ignore archived or completed tasks.
    
    Ignore “inbox cleanup” tasks so they don’t distort capacity.
    
    Tools available:
    
    get_open_tasks — returns list of open tasks (id, content, due, priority, labels, project_id, is_recurring).
    
    update_task — updates only the new task: content, priority, due_string or due_datetime.
  4. Execute and verify

    Save the workflow, then click Execute workflow to test manually, or enable the Schedule Trigger and wait for the next run. Check Todoist to confirm that tasks created in the last 5 minutes have updated descriptions, priorities, and due dates. If results are off, fine-tune scoring thresholds or scheduling rules in the AI Agent System Message.

Prompt you can copy

Setup guidance · Editorial suggestion。Hand to setup assistant; confirm inputs and permissions first

This block is the prompt. Ads are never placed here.

You are setting up an n8n workflow: poll Todoist for tasks created in the last 5 minutes, use GPT-4.1-mini to rewrite descriptions, score priorities, schedule due dates, and write them back. Confirm you have an n8n instance, a Todoist API token, and an OpenAI API key before importing the template and filling in credentials.

Ensure your n8n version supports AI Agent (≥ 1.0) and Todoist Tool nodes before starting.

Source

Automatically triage & improve Todoist tasks with GPT-4.1-mini · rpb-dev · n8n.io · 2025-08-27

Comments & feedback

Tried this method? Share results, problems or improvements. Comments appear after moderation. Please avoid sensitive information.

Loading…

    Related