The Tasks database

Start with a database called Tasks, with Task as the title. Then add:

  • Status: a Status property with To do, In progress, Waiting and Done.
  • Due: Date.
  • Urgent: Checkbox.
  • Important: Checkbox.
  • Context: a Multi-select such as Deep work, Quick win, Errand, Call.
  • Waiting on: Text, for tasks someone else has to move first.

Notion's Status property groups its options into To do, In progress and Complete. Put Waiting in the In progress group and Done in Complete, which matters for the project progress later.

The kanban board

Add a Board view called Board and group it by Status. Each column is a stage, and you move a task by dragging its card. Show Due and Context on the cards, and hide the Done column once it gets long, or filter it to the last seven days.

An urgent and important matrix

Add a second Board view called Matrix. Group it by Important and sub-group it by Urgent. Filter out tasks where Status is Done. You now have four boxes: important and urgent, important but not urgent, urgent but not important, and neither.

Most good work sits in important but not urgent. If that box is always empty, nothing in your list is planned ahead.

A label for each quadrant

To see the quadrant in a table too, add a formula called Quadrant:

ifs(and(prop("Urgent"), prop("Important")), "Do now", prop("Important"), "Schedule", prop("Urgent"), "Delegate or batch", "Drop or later")

What it does: names what to do with each task: Do now when it is both, Schedule when it is only important, Delegate or batch when it is only urgent, and Drop or later when it is neither.

Sub-tasks

For tasks with several steps, open the database settings (the ⋯ menu), choose Sub-items and turn them on. Each task can now have child tasks underneath it, and the table shows them nested under the parent.

Use sub-tasks for steps of one task, such as the parts of a report. If the steps need their own deadlines over several weeks, it is a project, not a task.

Projects that fill up

Group related tasks under a second database, Projects, with its own Status and a Deadline. Link the two with a relation on Tasks called Project. On Projects, a rollup called Progress (Relation Tasks, Property Status, Calculate Percent per group, then Complete) turns the share of finished tasks into a bar.

A project with no open tasks but a status of Active is stuck. Give it a next task or move it to On hold.

A waiting-for list

Add a Table view called Waiting, filtered where Status is Waiting, showing Waiting on and Due. Look at it twice a week. Anything waiting longer than you expected needs a nudge, and the list tells you who to nudge.

An inbox for quick capture

When a task comes up in the middle of something else, add it with only a name. Then add a view called Inbox, filtered where Project is empty and Due is empty and Status is To do. Once a day, give each inbox task a project, a date, or delete it.

Late tasks

Add a formula called Overdue to catch what slipped:

and(prop("Status") != "Done", not(empty(prop("Due"))), prop("Due") < today())

What it does: ticks itself for tasks that are not done and whose due date has passed. Sort the Board by Overdue so late cards rise to the top of each column.