How to model task dependencies in Notion
Notion Task Dependencies
Tables in Notion act similar to the list/table views in ClickUp, Smartsheet, Google sheets, etc. Columns have specific types. This will lead to issues down the line because when you try to mix column types in the formulas you write. Aside from this limitation, the table looks and feels like a spreadsheet and you will be able to easily copy and paste into the table from Google Sheets (if you make use of Google Sheets for most of your work) :
The Dependency column is a relation column type in Notion. This column type lets you “lookup” to other tables in your workspace, but you can also look up to the same table. This is pretty similar to the data validation in Google Sheets. You can now select any task from the first column as the Dependency in the second column.
Task and Dependency Start and End Dates
Notion also has a formula language and I was able to create a Task End Date similar to what we have in Google Sheets. It’s simply Task Start Date plus the Duration. You can use the dateAdd function in Notion to make this work:
In the Google Sheet, the Task Start Date needs to be built off of the Dep End Date column in order to get the “cascading” date effect when you select the date for the “kickoff” task. I started building out the Dep Start Date and Dep End Date columns by using a Rollup column type. This allows you to “project” the task start and end dates for a given dependency:
With the Dep Start Date and Dep End Date, you’re getting closer to mimicking the Google Sheets structure. Then comes the issue of trying to build the formula for the Task Start Date. In the screenshot below, you’ll notice that there’s a “Type mismatch” error that might lead you to believe that the Rollup column type in the Dep End Date column might mess up with the formula:
This formula looks to see if there is anything in the Dependency column. If that column is blank (which is the case for the “Instructor Shoot” task), then it just shows the value in Task Start Date. This is the date we want to use to “cascade” the dates down the table. If the Task End Date column was a date format type, you might think this formula would work since that column affects the Dep End Date column.
Task Start Date formula we’re trying to write could potentially lead to a recursive loop situation, and that Notion formulas don’t currently support this type of use case. Similar to ClickUp, Smartsheet and Google Sheets, it looks like you have to manually enter in each task’s start date to build a proper view of your project. The video below will help you understand how to build dependencies which resemble the “waiting” and “blocking” concept in ClickUp:
I believe there are Gantt charts that are still on Notion’s roadmap, so the only native view that would make sense for this project is the Calendar view. You can easily switch to this view by clicking the dropdown near the top-left of the table:
At times, we need to use task dependencies in Notion to streamline our productivity and derive maximum use out of our Notion workspace. Sometimes, we are tasked with jobs like:
- I can't start editing until Bob finishes writing.
- We can't put the roof on until all four walls (each with their own projects) are completed.
- Our sprint tasks all start at the same time.
- My oversight starts when the list of the contractors' work starts and ends when all of their work is completed.
So it's great to make pretty GANTT and Calendar pictures, when we need to model the work dependencies if we're to leave other tools!
If you would like to be free from creating task dependencies all over from scratch, you can use our pre-made templates Count Checks Automatic. If you are somebody who is interested in formula based Notion content and aesthetic but powerful templates, you can visit our Prototion Website.
Also, if you are creative with your templates and want to promote them to a larger audience - you can sign up to be a maker at Prototion and be rewarded in the process! We would love to hear from you, Cheers!