How Todoist Filter works

What Is a Todoist Filter?

A filter is a custom search expression you enter into the Filter input field in your action.

It tells Todoist which tasks you want the action to process (like add a tag, update priority, etc.).

What Works in This Action Step

You can use any filter string that is supported by the Todoist REST API, including:

Logic Operators You Can Use:

Symbol

Meaning

Example

&

AND

today & @email

`

`

OR

!

NOT

!subtask

()

Grouping

`(today

βœ… These work exactly like they do in the Todoist UI.

What Doesn't Work in This Action

Not Supported

Why

, comma-separated filters like p1 & overdue, today

Not supported by Todoist REST API. Use only one filter at a time.

Completed task filters

REST API only returns active (incomplete) tasks.

Combining filter with project_id or label in the same request

The filter parameter takes priority β€” other parameters will be ignored.

Examples You Can Use

πŸ“… Date & Time

Goal

Filter

Tasks due today

today

Tasks overdue

overdue

Due in next 7 days

7 days

No due date

no date

Due today after 2pm

due after: today at 2pm

🏷 Labels

Goal

Filter

Tasks with label β€œemail”

@email

Without any labels

no labels

Labels starting with "home"

@home*

With multiple labels

@email & @followup

⚑ Priority

Goal

Filter

Priority 1 tasks

p1

Priority 2 or 3

`p2

Tasks without priority

p4

🧩 Subtasks

Goal

Filter

Show only subtasks

subtask

Show only parent tasks

!subtask

πŸ“ Projects & Sections

Goal

Filter

Tasks in β€œWork”

#Work

Tasks in sub-projects of β€œSchool”

##School

Tasks not in any section

!/*

Tasks in β€œWork” & section β€œCalls”

#Work & /Calls

πŸ‘₯ Assigned Tasks

Goal

Filter

Assigned to me

assigned to: me

Assigned to others

assigned to: others

Assigned to Steve

assigned to: Steve

πŸ” Keyword Search

Goal

Filter

Tasks containing β€œMeeting”

search: Meeting

Tasks with links

search: http

🧠 Advanced Examples That Work

Filter

Explanation

today & @email

Tasks due today AND labeled @email

`(today

overdue) & p1`

#Work & !@Subtask

Tasks in Work project without @Subtask label

@email & !subtask

Email tasks that are not subtasks

assigned to: Steve & #Work & today

Steve's work tasks due today

❗ Unsupported Example (Will Not Work)

Filter

Why it fails

p1 & overdue, p3 & today

Comma-separated filters not supported by Todoist API

overdue, today

Can't run multiple filters in one request

p1, p2, p3

Use `p1

Pro Tips

β€’ Use only one filter per action run

β€’ Use () for combining logic:

βœ… (today | overdue) & #Work

β€’ Use wildcards:

βœ… @home* β†’ matches @homeoffice, @homework

β€’ You can use natural language for due dates:

βœ… due before: Friday, due after: next week

Final Reminder

βœ… This field supports all filters you would use in Todoist UI, except comma-separated multiple filters.

🚫 Do not use commas in filters β€” use logical operators like &, |, ! instead.