Building an Effective OKR Tracker for Early-Stage Startups in Notion: My Step-by-Step Guide

Jonathan Canizales
Founder's Associate
Strategy Operations
Last week, I worked with a founder to track and manage their OKRs in Notion! Our aim was to add some goals and focus to the business, so here is a step-by-step guide on how I built a basic OKR tracker in Notion!

Let’s start with the objectives of the build (no pun intended).

Objective 1:
Create a centralised area to view and manage OKRs. I wanted to make sure that there was a single source of truth that the team could access when they needed to view their OKRs.

Objective 2:
Connect the OKRs to team tasks. I wanted to create a way to link each team task to one of the OKRs, this way the team can see how each task they are working on is pushing them closer to achieving their wider objectives - a good way of maintaining forward momentum!

Objective 3:
Build a way to visualise progress towards achieving OKRs in real-time. I wanted to add a ‘gamified’ aspect to the OKRs as I have previously built this for us over at Squared and found that it helps to keep me personally motivated when trying to working towards OKRs!

Once I had my objectives, I was ready to start the build!

Step 1 - Build three core databases:

To create a new database in Notion, go to one of your teamspaces on your Notion sidebar. Hover your mouse over the teamspace name and click the small ‘+’ sign, this will add a new page. Give your page a name and then where it says 'Add new' choose the ‘table’ option. Notion will then ask if you want to link an existing database or create a new database. Click where it says ‘+ New Database’ and voila! Your new database is ready to go! For every new database you want to add, repeat this method of adding a new page!

I built three new databases using this method:

A Team Database:
This database was important as it allowed the founder to assign individual tasks or specific OKRs to owners within the team.

A Task Tracking Database:
This database was important for tracking tasks that were either in the backlog or being worked on in real-time. It was also important as each task in this database would be linked to a specific OKR.

An OKR Tracking Database:
This database is that all important centralised source of truth for OKRs and was also the place where OKR progress was visualised and new OKRs were added.

Founder’s Associate Tip 1: Notion’s most powerful feature is its databases, they are the key to building most things on the tool so it is worth taking some time to understand how they work.

Step 2 - Structure your databases and add starting information:

When you create a new database Notion gives you two default starting columns: ‘Name’ and ‘Tags’, I usually delete the ‘Tags’ column and begin creating my own structure. When creating columns you will have to give them a title and pick the type of data you want to go into that column. To delete a column click the column title and choose ‘Delete property’, to add a new column click the ‘+’ sign in the top row of your database, you will then be able to give your column a title and pick what type of data you want the column to contain.

Here are the starting columns and data types that I used for the each of the three core databases I created:

The Team Database:
Column 1:
  • Title: Name
  • Data Type: Text
Column 2:
  • Title: Role
  • Data Type: Text
Column 3
  • Title: Email
  • Data Type: Email

The Task Tracking Database:
Column 1:
  • Title: Task Name
  • Data Type: Text
Column 2:
  • Title: Status
  • Data Type: Select
  • In this column I created 3 status options: ‘To Do’, ‘In Progress’ and ‘Done’. It is very important that you name one of the options ‘Done’ as we will need to callback to this ‘Done’ option in step 3 when we add some formulae.
Column 3:
  • Title: Priority
  • Data Type: Select
  • In this column I created 4 priority options: ‘Low’, ‘Medium’, ‘High’ and‘Very High’.

The OKR Tracking Database:
Column 1:
  • Title: OKR Focus
  • Data Type: Text
Column 2:
  • Title: Objective
  • Data Type: Text
Column 3:
  • Title: Key Result
  • Data Type: Text

Once I had a simple structure for all of my databases, I added all of the information that the founder wanted to include and track.

Step 3: Create Relations, Rollups and Formulae

This was the key step in linking the three databases to achieve my starting objectives 2 & 3. If you are new to Notion; a relation is how you connect data between two databases, a rollup is when you use a relation to pull or summarise data in a visual manner and formulae allows you to run calculations and functions.

Founder’s Associate Tip 2: The Notion youtube channel explains relations, rollups and formulae features here!

So, the final step was to add a few more columns to our current databases to link everything together, so here goes:

The Task Tracker Database:
Column 4:
  • Title: Linked OKR
  • Data Type: Relation
  • Once you click on relation it will ask you to link to an existing database, find your OKR Tracker database and then click add relation. There you go! Now you can link each task to one of your OKRs.
Column 5:
  • Title: Owner
  • Data Type: Relation
  • Same again but this time select your Team Tracker database. Now you can assign each task to single or multiple team members.
Column 6:
  • Title: Completed
  • Data Type: Checkbox
  • Once you have added this column there is nothing more to do, it just needs to be there in order for the formula in column 7 to work.
Column 7:
  • Name: _IzDone
  • Data Type: Formula
  • When you choose the data type to be formula it will ask you to edit the formula. Click where it says 'Edit' and paste this exact formula: prop("Status") == "Done" or prop("Completed") == true

After adding these new columns, I hid columns 6&7 by clicking on the column name and pressing ‘Hide in view’ as we will not need these columns anymore.

Founder's Associate Tip 3: It is important to label everything in the same way I have as the formula above only works if you have a ‘Done’ option and a ‘Completed’ column in the Task Tracking database.

The OKR Tracking Database
Column 4:
  • Title: OKR Progress
  • Data Type: Rollup
  • This column is important for visualising OKR progress. When you select Rollup it will ask you to choose a relation, you should choose ‘Team Task Tracker’. It will then ask you to select a property, select ‘_IzDone’. Finally, it will ask you to choose a calculation, choose ‘Percentage Checked’ and then it will ask you how you want to visualise the data, I chose ‘Bar’ as I find to be the easiest to understand visually.

By adding this rollup column it meant that as the team completes tasks and changes the task status to ‘Done’ the progress bar will be updated on the relevant OKR in the OKR tracking database.

And that’s it! As tasks get added and linked to specific OKRs progress will automatically change and you will start to see exactly what has been done and what needs to be done to start reaching your objectives!

Founder’s Associate Tip 4: Notion now has a built-in integration with Slack, so if you want to add tasks directly into your Task Tracking database from a Slack message you can all you need to do is: send the message on slack to whoever needs to see it, click the 3 dots above the message and choose 'Send to Notion'. This will update your Task Tracking database directly from Slack which is ideal when trying to get work done am on-the-go! Learn the ins and out of this integration here!

And that's it from me, if you’re looking to add some focus to your journey as a founder and you have some objectives that you want to track and keep moving towards, why not try to build this simple OKR tacker on Notion!

Thanks for reading and as always, happy building!
Jonathan Canizales
Founder's Associate
Want to hear more?
Subscribe to our newsletter
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Keep Reading