Every 15 minutes
Sort your Todoist Inbox automatically
New Inbox tasks get clearer wording, a priority and a home in the right project within minutes.
- Runs
- Every 15 minutes
- Apps
- Todoist
- AI
- Yes, uses the built-in AI allowance
- Access
- read+write
Send this to your assistant
Create a ClickRuntime automation: every 15 minutes, look at new tasks in my Todoist Inbox, tidy up the wording, set a priority from p1 to p4 and move each one into Work, Home or Errands.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Todoist's Inbox is where everything lands first, and for many people it becomes a junk drawer. Forty tasks like 'call about thing' or 'fix that' pile up with no project and no priority. Sorting them takes a deliberate sit-down, so the Inbox grows, important items sit unnoticed, and the list stops being trustworthy.
Every 15 minutes, this looks at new tasks in your Inbox. For each one, an AI step picks a likely project and a priority from the wording, rewrites the title so it is clearer, and then updates the task and moves it into that project.
It suits busy managers and freelancers with many projects who add tasks fast and sort later, if ever. It keeps the Inbox as a short waiting room instead of a permanent home for half-formed thoughts.
What you get out of it
An Inbox that stays near zero
New tasks leave the Inbox within minutes, filed under a project, so the daily sort session disappears. You open Todoist and see work already organized, not a heap you must triage first.
Priorities set while context is fresh
Because tasks are prioritized soon after you type them, an urgent item flagged by its wording does not sit at the bottom for days before you see it and realize it mattered.
Clearer titles you can act on
A vague entry such as 'email Sam re contract' becomes a plainly worded task. Weeks later you still know exactly what to do, without trying to reconstruct what you meant.
Right project, right view
Tasks in the correct project show up in that project's board and filters. Project reviews then include everything that belongs there, rather than missing items stranded in the Inbox. That keeps your project reviews and weekly planning honest.
Less mental load on capture
Knowing triage happens automatically makes you more willing to jot every thought down. You capture quickly and trust the system to organize, which cuts down the worry about forgetting. Over time that habit alone makes the whole system more reliable.
How it works
What happens, step by step
Every 15 minutes, ClickRuntime checks your Todoist Inbox for tasks.
AI reads each one, tidies up the wording, and picks the right project and priority.
The task is updated and moved into that project, so your Inbox stays clear.
Before it runs live
- Connect Todoist
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Slack
- Combine it with other Todoist steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, report_fetched, state, http, credentials, ai
API = "https://api.todoist.com/api/v1"
@on_trigger
def run(event):
headers = {"Authorization": "Bearer " + credentials.connection("todoist", "main")}
projects = {p["name"]: p["id"] for p in http.get(f"{API}/projects", headers=headers).json()["results"]}
tasks = http.get(f"{API}/tasks", headers=headers, params={"project_id": projects["Inbox"]}).json()["results"]
report_fetched(len(tasks))
if not tasks:
return {"summary": "Inbox empty"}
for t in tasks:
r = ai.generate(
f"Tidy this to-do's wording, pick a priority p1 (urgent) to p4, and a project: Work, Home or Errands.\n\n{t['content']}",
json_schema={"type": "object", "properties": {"text": {"type": "string"}, "priority": {"enum": ["p1", "p2", "p3", "p4"]},
"project": {"enum": ["Work", "Home", "Errands"]}}, "required": ["text", "priority", "project"]},
max_output_tokens=80,
).json
http.post(f"{API}/tasks/{t['id']}", headers=headers, json={"content": r["text"], "priority": 5 - int(r["priority"][1])})
http.post(f"{API}/tasks/{t['id']}/move", headers=headers, json={"project_id": projects[r["project"]]})
return {"triaged": len(tasks)}FAQ
Common questions
How does the AI know which project to choose?
Will it change tasks that I have already organized?
Can I stop it rewording my task titles?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get a written plan for your day
Each morning a short plan built from today's and overdue tasks tells you what to tackle first.
See how it worksStart every day with a fresh routine list
Yesterday's unfinished routine tasks are cleared and today's set is created before you wake up.
See how it worksAdd Todoist tasks by sending to a link
Any text you send to your link shows up as a task due today.
See how it worksKeep exploring
Set up “Sort your Todoist Inbox automatically” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.