Notion: Time Blocking Planner

Posted by Jingyi on August 2, 2023

Time Blocking with Notion: The Ultimate Planner Template

I knew many people like me would like to do time blocking on Notion, but got unhappy when doing a lot of work on editing the field of ‘Date’ and ‘Include Time’.

↑ Tired of editing this all the time? ↑
↓ Prefer just entering a number of hour in a slot? ↓

Here is the preview of the time blocking planner:

Template: [Notion Template link here]

Tutorial: Build Time Blocking from ZERO

Section 1: Getting Started

Time blocking is a productivity technique where individuals schedule specific time periods for focused work on particular tasks. By allocating dedicated blocks of time to tasks, people can enhance focus, minimize distractions, and improve overall productivity. It helps create a structured and efficient workflow, reduces procrastination, and fosters a sense of accomplishment as tasks are completed within their designated time frames. Time blocking empowers individuals to manage their time effectively and achieve their goals with greater efficiency and less stress.

Section 2: Setting Up the Notion Database

  1. Create a Notion Account
  2. Create a New Page in Notion
  3. Add Key Sections, the database

Section 3: Build the Database

  1. Editable Fields
    1. Keep the Name & Tags fields that autogenerated by Notion Database.
    2. Add a field named Date with its property type being Date.
    3. Add a field named TimeBlock Start Hour with its property type being Number.
    4. Add a field named TimeBlock Duration Hour with its property type being Number.
  2. Autogenrated Fields.
    1. Add a field named TimeBlock Date Start with its property type being Formula, with the following formula
      1
      
        if(empty(prop("TimeBlock Start Hour")) == true, prop("Date"), fromTimestamp(prop("TimeBlock Start Hour") * 3600 * 1000 + timestamp(prop("Date"))))
      
    2. Add a field named TimeBlock AutoText with its property type being Formula, with the following formula
      1
      
        if(empty(prop("TimeBlock Start Hour")), "", if(prop("TimeBlock CheckBox"), "✅ ", "⭕️ ") + if(prop("TimeBlock Start Hour") >= 12, if(floor(prop("TimeBlock Start Hour")) == 12, format(floor(prop("TimeBlock Start Hour"))), format(floor(prop("TimeBlock Start Hour") - 12))) + ":" + format((prop("TimeBlock Start Hour") - floor(prop("TimeBlock Start Hour"))) * 60) + if(prop("TimeBlock Start Hour") - floor(prop("TimeBlock Start Hour")) == 0, "0", "") + " PM", if(floor(prop("TimeBlock Start Hour")) == 0, format(12 + floor(prop("TimeBlock Start Hour"))), format(floor(prop("TimeBlock Start Hour")))) + ":" + format((prop("TimeBlock Start Hour") - floor(prop("TimeBlock Start Hour"))) * 60) + if(prop("TimeBlock Start Hour") - floor(prop("TimeBlock Start Hour")) == 0, "0", "") + " AM") + " - " + if(prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour") >= 12 and prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour") < 24, if(floor(prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour") - 12) == 0, format(floor(prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour"))), format(floor(prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour") - 12))) + ":" + format((prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour") - floor(prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour"))) * 60) + if(prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour") - floor(prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour")) == 0, "0", "") + " PM", if(floor(prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour")) == 24, format(floor(prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour") - 12)), format(floor(prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour")))) + ":" + format((prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour") - floor(prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour"))) * 60) + if(prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour") - floor(prop("TimeBlock Start Hour") + prop("TimeBlock Duration Hour")) == 0, "0", "") + " AM"))
      

This is a brief view of an item in the database:

Section 4: Build the Views

  1. Add a view to the databse, or, in a separate page, add a link view to the databse, and select Calendar. The weekly view of calendar works better as it does save a lot of space.
  2. Select the following properites as visible
    • TimeBlock AutoText
    • Tags

Now you are able to obtain something like this:

Section 5: Customization and Personalization

Color-Coding of the Tags.

Use Tags and Filters.

Other Features.

This time blocking works well with thoes ‘all-day tasks’ (which does not have a ‘start hour’ and a ‘duration hour’), and those ‘pre-planned events’ (which already include a ‘Time’ and ‘End’ in the Date field).

Notion Buttons can be a valuable addition to your time blocking planner template, significantly enhancing its efficiency and user experience. By incorporating buttons in your Notion database, you can automate various actions and streamline the process of managing your time effectively.

Will add more functions in future.


Still under constuction! Will keep updating.