Database, Templates

Notion Timeline: Build A Progress Bar For Nested Tasks

Screen Shot 2020-11-13 at 11.44.55 AM.png

🚀 Timeline Progress

Nest high, mid and low-level goals with Notion’s new timeline database view (a.k.a gantt chart). If you aren’t familiar with Notion, progress bars via a formula property can help you visualize goal progression overtime. Here’s a use-case that may be of use for personal projects and improvement.

🚧 Warning! Timeline view for Free and Pro plans are limited to 3. keep this is mind if you’re planning to duplicate this example. I recommend taking some inspiration and copying the formula into your own timeline database if this limitation occurs.

3 Types Of Goals

  1. High-Level Milestone: long term goal

  2. Mid-Level Goal: goals to complete to achieve High-Level Milestone

  3. Low-Level Goal: goals to complete to achieve Mid-Level Goal

  4. Optional: create tasks to complete Low-Level Goals

Screen Shot 2020-11-13 at 12.11.10 PM.png

Create Start And End Date For Each Goal

Drag a new goal card to the right

Screen Shot 2020-11-13 at 12.22.27 PM.png

Create Relation Property To Connect Goals

Step 1: Create a relation property called "Children Tasks”.

Step 2: Find database that you are currently in.

Step 3: Select “sync both ways.”

  • Another property will appear. This is the parent property.

Step 4: Populate children tasks.

  • In this example Mid-Level Goals are the children of High-Level Milestones, and Low-Level Goals are the children of Mid-Level Goals.

Screen Shot 2020-11-13 at 1.32.48 PM.png

Track Completion With The Rollup Property

Step 1: Create a checkbox property named “Complete.”

Step 2: Create a rollup property called “Child Progress”

  • Configure the rollup property as the following:

Screen Shot 2020-11-13 at 1.51.59 PM.png

Create A Custom Progress Bar

Create a formula property. Customize emojis for your liking. Stars show at 100%.

if(format(round(100 * prop("Child Progress") * 100) / 100) + "%" == "100%", "⭐️⭐️⭐️⭐️⭐️", if(empty(prop("Children Tasks")), "", slice("⏣⏣⏣⏣⏣⏣⏣⏣⏣⏣✓", 0, prop("Child Progress") * 10) + " | " + format(round(100 * prop("Child Progress") * 100) / 100) + "%"))

This is taking the completion of ALL children tasks from the rollup made above and translating this percentage into an emoji progress bar.

Screen+Shot+2020-11-13+at+1.54.13+PM.jpg

Property Configuration : Visualize Progress In Timeline

Tip: sort table by date ascending to show the “stair” arrangement displayed in the example.

Screen Shot 2020-11-13 at 2.13.14 PM.png
Untitled_Artwork 40.png

All the best customizing your timeline!

View Example Inside Notion