View filters
This page lists every field, operator and relative date a view's filter offers, in every view type, and how rules combine. Click Filter in the view's header to open the filter strip under it; every rule is a chip there. The steps to build a filter are in Filter, sort and group a view. Sorting and grouping have their own pages: View sorting, View grouping.
Filter button states
The Filter button is in the header of every view type. A running GTD session hides it, and so does a Scrum Poker session while the session or its summary is on screen.
| Header shows | Meaning |
|---|---|
| the funnel icon alone, gray | the view has no filter |
| the funnel icon alone, blue | a filter is set, in a narrow header; the tip reads Filter · 3 |
| the funnel icon, blue and filled | the strip is open |
| Filter · 3 | three rules, counting the rules inside groups; while the strip is open, the number follows your unsaved edits |
| Hide filter as the button's tip | the strip is open; click to close it, and the filter stays |
| Tools → Filter | a narrow window folds Group, Sort and Filter into one menu (not in Feed, Relations, Dashboard V2 or Scrum Poker's Task Queue before a session starts, where Filter stays a button of its own) |
Filter fields
The Field picker lists the fields alphabetically. On a list's own page, List and Workspace are left out: the list already fixes both.
| Field | Kind | Value you pick | Used in |
|---|---|---|---|
| Assignee | person | a member, or Me (current user) | Assign and watch tasks |
| Author | person | a member, or Me (current user): who created the task | See what changed in a task |
| Completed | date | a date or a relative date: when the task was marked done | Create and edit tasks |
| Created | date | a date or a relative date: when the task was created | See what changed in a task |
| Description | text | words to look for | Write a task description |
| Due date | date | a date or a relative date | Build your own Today view |
| Estimate | duration | typed like 1h 30m | Track time on a task |
| List | list | lists from a folder tree | Organize folders and lists |
| Parent Task | task | a task, found by its title | Break a task down with subtasks |
| Priority | choice | None, Low, Normal, High, Urgent | Task fields |
| Stage | choice | Not started, Active, Done | Statuses and status templates |
| Start date | date | a date or a relative date | Plan on the timeline and the calendar |
| Status | status | statuses from a folder → list → status tree | Statuses and status templates |
| Story points | number | a number | Estimate with Scrum Poker |
| Tags | tag | tags, shown with their colors | Tag tasks |
| Task number | text | a key or part of one, such as BT- | Task IDs and series |
| Title | text | words to look for | Create and edit tasks |
| Tracked | duration | typed like 1h 30m | Track time on a task |
| Updated | date | a date or a relative date: when the task last changed | See what changed in a task |
| Updated by | person | a member, or Me (current user): who changed the task last | See what changed in a task |
| Watchers | person | a member, or Me (current user) | Assign and watch tasks |
| Workspace | workspace | one of your workspaces | Personal and work tasks in one place |
A new rule starts as Title, is, with no value: its chip reads Title = ….
Operators by field kind
| Kind | Operators offered |
|---|---|
| text | is, is not, contains, starts with, ends with, doesn't contain, is empty, is set, any of, none of |
| choice, status | is, is not, any of, none of |
| date | is, is not, before / less than, after / greater than, on or before / ≤, on or after / ≥, between, not between, is empty, is set |
| number, duration | the same as date |
| person, list, workspace, tag, task | is, is not, any of, none of, is empty, is set |
For any of and none of on a text field, type whole values separated by commas. A task matches only when the field equals one of them exactly, capitals included. For Task number:
BT-0042, BT-0043Operator matches and chips
Each rule shows on the strip as a chip. The chip uses a short form of the operator.
| Operator | Matches | Chip reads |
|---|---|---|
| is | exactly this value; for Tags and Watchers, tasks that have it among theirs | Assignee = Me (current user) |
| is not | every other task | Stage != Done |
| any of | one of the values you pick | Priority: High, Urgent |
| none of | none of the values you pick | Priority not in: None, Low |
| contains | text that includes the value | Title contains "invoice" |
| doesn't contain | text that doesn't include it | Title not contains "draft" |
| starts with | text that begins with it | Task number starts with "BT-" |
| ends with | text that ends with it | Title ends with "?" |
| before / less than | an earlier date or a smaller number | Due date < Today |
| after / greater than | a later date or a larger number | Story points > 5 |
| on or before / ≤ | the value or anything earlier or smaller | Due date <= This week |
| on or after / ≥ | the value or anything later or larger | Created >= Last week |
| between | from the first value (From) through the second (To), both included | Due date between Today — Next week |
| not between | anything outside that range | Due date not between Today — Next week |
| is empty | no value | Due date is empty |
| is set | any value | Assignee is set |
A chip with more than two values names two and counts the rest: Tags: @errands, @phone, +1 more.
contains, doesn't contain, starts with and ends with ignore capitals. is, is not, any of and none of match the text exactly.
Relative dates
A date value is either a fixed date or a relative one. Next to Value, click Relative or Date to switch. A relative date moves with the calendar, so a saved view stays current.
| Pick | Window it stands for |
|---|---|
| Today, Tomorrow, Yesterday | that day |
| This week, Next week, Last week | Monday through Sunday |
| This month, Next month, Last month | the calendar month |
| Minutes, Hours, Days, Weeks, Months (under Custom) | the whole minute, hour, day, week or month that many units away |
A Custom value is a unit and an Offset from -120 to 120. The units are:
- Minutes
- Hours
- Days
- Weeks
- Months
Some values and how they read:
| Unit | Offset | Reads as |
|---|---|---|
| Days | 3 | In 3 days |
| Days | -2 | 2 days ago |
| Hours | 4 | In 4 hours |
| Months | -3 | 3 months ago |
Whose time zone
Hule works out the window each time the view loads, in the Time zone of the person looking at it: Notifications in the settings of the workspace they own, or else of the first one they joined. Apply to all my workspaces there copies it to the rest.
The operator decides how a rule uses the window. On a Wednesday, with Due date and This week:
| Operator | Tasks it keeps |
|---|---|
| is | due Monday through Sunday of this week |
| is not | due in any other week, and tasks with no due date |
| before / less than | due before this Monday: overdue from earlier weeks |
| on or before / ≤ | due up to this Sunday, overdue tasks included |
| after / greater than | due from next Monday on |
| on or after / ≥ | due from this Monday on |
| between This week — Next week | due from this Monday through next Sunday |
Due date < Today keeps every task due before today, done ones included. The overdue filter, done tasks left out:
Due date < Today
Stage != DonePeople fields and Me
Four fields pick people:
- Assignee
- Author
- Updated by
- Watchers
In each of them:
- Me (current user) is first in the picker. It means whoever opens the view, so one shared view shows each member their own tasks.
- A member you pick by name is matched in every workspace the view draws from.
Tags from several workspaces
A tag belongs to one workspace. In a view that draws from several workspaces, two tags with the same name are two different values: pick the one from the workspace you mean. A saved filter keeps the tags it was saved with, so after you add a workspace to the view, add its tags to the rule too.
Rules and groups
- + Rule on the strip adds a rule. Click a chip to change its Field, Operator and value; remove it with its ×, or with Remove rule in its editor.
- One join per group. The chip between two rules reads AND or OR. Click it and pick the other word to switch; every join in that group changes together.
- + Group adds a group, drawn in parentheses, with its own AND or OR. Drag chips into it or out of it. An empty group offers its own + Rule.
- Remove a group with the × after its closing parenthesis (Remove group).
For example, High or Urgent tasks that are due by the end of this week, overdue included, or have no due date. The filter holds:
- a Priority rule, any of High, Urgent;
- then + Group, set to OR;
- inside the group, two Due date rules: on or before / ≤ This week, and is empty.
It reads:
When Priority is any of High, Urgent AND (Due date is on or before This week OR Due date is empty)Advanced filter
The gear on the strip, Advanced filter, opens a card titled Filter — and the view's name. It shows the same rules as a tree:
- each group has AND / OR, + Rule and + Group;
- each rule has Field, Operator and its value;
- the footer spells out the whole filter as one sentence starting with When, as in the example above.
Edits in the card show on the strip at once. Save on the strip applies them.
Subtask filtering
The Subtasks menu at the right end of the strip, before Save and Discard, decides whether a matching subtask brings its top-level task into the view, and which subtasks show under that task. The button reads Subtasks · and the current choice, for example Subtasks · Task itself. The choice is saved with the rules. How a view shows subtasks at all: Break a task down with subtasks.
| Choice | A task shows when | Under a shown task |
|---|---|---|
| The task itself (the default) | the task itself matches | all its subtasks |
| Task or its subtasks — matches only | the task or any of its subtasks matches | only the matching subtasks, and the subtasks that lead to them |
| Task or its subtasks — whole tree | the task or any of its subtasks matches | all its subtasks |
For example, with the rule Stage != Done, a task in the Done stage whose one unfinished subtask sits three levels down stays out of the view under The task itself. Under Task or its subtasks — matches only it shows with that one subtask and the two subtasks above it; under Task or its subtasks — whole tree, with all of its subtasks.
The menu is greyed out while the view's Slice chip, in its header, is set to Tasks and subtasks or Subtasks only (which tasks a view shows). There every subtask is a row of its own, and the filter checks each row directly.
Save, Discard and Clear all
Rules you add don't filter the view until you save them.
| Button | Shows | What it does |
|---|---|---|
| Save | once you change something | saves the rules and the Subtasks choice on the view. Greyed out while a rule has no value; pointing at it says "Pick a value for every rule, or remove the empty one." |
| Discard | once you change something | throws away unsaved changes |
| Clear all | when the view has a saved filter and nothing is unsaved | removes the filter at once |
Saved filters: who sees them
A filter belongs to the view itself, not to a view type: switching a view from List to Kanban keeps its filter. Everyone who opens the view sees the filtered tasks, with Me (current user) worked out for each of them.
Edit access needed
To change a shared view's filter you need Edit access to the view and a permission set that can update views, such as List/Folder manager or Admin. Personal views are always yours to change. With Read access you can't save: a list's page shows the rules as plain chips, and on a view's page Save fails with "Failed to apply filter".
- On a list's page with Read access, all groups together show as one chip counting their rules, such as
Advanced: 2 conditions, or the strip reads No filters applied.