Stage-dependant tasks are a powerful way to upgrade your Project Management in Notion. They allow you to add tasks to your to-do list based on the current stage of your project and it's a stable feature in many dedicated project management tools like asana. By default, Notion doesn't seem to support this feature. But with this simple workaround, you'll be able to implement stage-dependant tasks in Notion in no time. Continue reading for the step-by-step instructions or jump to the bottom of this article to download the free Notion template.
What are stage-dependant tasks in Notion?
Managing projects usually involves a certain number of stages or phases. An example for generic phases in project management would be:
- In Progress
- On Hold
However, if you routinely manage the same type of projects, then you most likely have a different set of stages. Producing a youtube video would include the following stages:
- Keyword Research
- Script Writing
- Filming & Asset Creation
Each stage in your project lifecycle has various tasks that need to be completed in order to move from one stage to the next. In a basic project management setup, you simply add all your tasks to a project. Advanced project management tools like asana however allow you to add tasks to your to-do list only if the project has progressed to this current stage.
In short, stage-dependant tasks are a great way to further streamline and systemify your project management to save time and keep better track of your workload.
How to implement stage-dependant tasks in Notion
Here are the steps to implement stage-dependant tasks in your project management system in Notion:
- Add your core databases for tasks and projects
- Connect your tasks and projects through a relation
- Use a rollup to see the current project stage
- Use a Notion formula to check for current tasks
- Add a view to your dashboard for current tasks
Let's take a closer look
Step 1: Add your core databases for tasks and projects
To start, create two databases, one for tasks and one for projects. Both databases should have a select property for the respective stage. For projects, this property will show the current stage of the project. For tasks, it will define the stage at which the task should be added to your to-do list.
You can skip this step and simply add properties for the stage if you already have a project management system in Notion. Check out my guide to project management in Notion for a free template.
Step 2: Connect your tasks and projects through a relation
Next, add a relation property to either database and connect it to the other database.
If you want to learn more about relations (and roll-ups), have a look at this Notion Database tutorial that is part of my complete (free) Notion course.
Step 3: Use a rollup to see the current project stage
Add a rollup property to your task database and configure it to show the current stage of the connected project.
Step 4: Use a Notion formula to check for current tasks
Now, add a formula property to your task database to check whether the current project stage matches the stage at which the task becomes relevant. You can copypaste the formula below, but make sure to either use the same property names or swap them out accordingly.
prop("Stage") == prop("Project Stage")
Step 5: Add a view to your dashboard for current tasks
Last but not least, use this formula property to create a view on your dashboard that is filtered to only show you tasks relevant to the current project stage.
You can pair this with a kanban view of your projects. Simply drag and drop a project from one stage to another and see how the "current tasks" change.
How to show a backlog of your stage-dependant tasks in Notion
To make sure you don't accidentally forget tasks while moving a project from one stage to another, it's a good idea to also create a backlog. The backlog will capture all the tasks that should have been finished during previous stages. To build a task backlog in Notion, follow these steps:
- Determine the numeric order of your stages
- Use a rollup to show the current project stage number in your tasks
- Use a Notion formula to determine which tasks should have been completed
- Add a backlog view to your dashboard
Step 1: Determine the numeric order of your stages
In order to easily track which tasks should have been completed already, it's helpful to add a numeric order to your stages. The easiest way to do so is by editing the options in your select property. Just add the respective number to the stage name.
Step 2: Use a rollup to show the current project stage number in your tasks
Now that each stage corresponds with a number, we want to see the current number of the connected project in our task database.
To do so, we first have to extract the number from the name of the select property. Luckily, Notion Formulas support regular expressions, which means it's super easy to do so.
(confused by regular expressions and Notion Formulas? I've got a Notion Formula Masterclass here as part of my complete (free) Notion course)
Add a new formula property to the project database and copypaste the formula below (making sure that you match the property name):
toNumber(replaceAll(prop("Stage"), "[A-z]", ""))
Once done, add another rollup property to your task database and configure it to show this number. Make sure to set the calculation option to a numeric display, i.e. by picking "max".
Step 3: Use a Notion formula to determine which tasks should have been completed
With the numeric value of the current stage now showing on our task database, we can use another formula property to check for "overdue" tasks. Simply copypaste this formula:
toNumber(replaceAll(prop("Stage"), "[A-z]", "")) < prop("Project Stage Number")
Step 4: Add a backlog view to your dashboard
To finish things off, add a new view to your dashboard. This time, filter for all the tasks that have not been done yet despite having the "backlog" property checked.