Weekly Review System in Notion with Linked Databases

Setting up the base review database

I started with a basic Notion table that I named Weekly Review. Not very creative, but it was exactly what it needed to be — a spot to dump every thought, leftover task, and random grocery list item that surfaced at the end of the week. If you are new to Notion tables, think of them as Excel sheets that you can actually click into without feeling your soul leave your body. Each row is an “entry,” and you can attach properties like text, dates, numbers, checkboxes, or dropdown options.

The first time I built this, the problem was I kept losing track of entries when the table grew past about 40 rows. So I gave it a couple of basic properties:

– Week ending (date)
– Category (dropdown — work, personal, home, misc)
– Status (dropdown — done, in progress, waiting)
– Notes (text)

Yes, you could make these more complex with formulas, but don’t. At least not at first. Every time I’ve overcomplicated it, I’ve had to redo the entire thing two weeks later because one formula field stopped working for no reason.

Adding a tasks database to link from

I had a completely separate database for daily tasks, which is where the linking magic starts. The trick here is that Notion lets you relate one database to another. That just means you can connect a row from Weekly Review to a row in Daily Tasks so you do not manually copy the same information back and forth.

In the Daily Tasks table, I added a property called Related Review. It’s a Relation type, and when you pick Weekly Review it shows a little search interface where you can attach the two. This way, every task I tick off can still show up in my weekly reflection without retyping it.

Weird snag: at first, every time I tried to link them, the property wouldn’t show up in the other database. I assumed it was syncing slowly. Checked back an hour later — still nothing. It turns out you have to explicitly add the reciprocal relation property in Weekly Review. Notion doesn’t create it automatically. This is one of those “save yourself an hour” things 😛

Making sure linked views actually stay filtered

The whole point of linked databases is so you can make filtered views. For example, my Weekly Review page had multiple views of the Daily Tasks database, each showing only completed tasks from that specific week.

Here’s what happened the first time — I set the filter for “completed is checked” and “week ending is this week.” Looked perfect. Came back the next day… everything was showing tasks from all weeks again. I thought I misclicked. Nope, it was a known quirk: if you duplicate a database view in Notion, the filters sometimes reset after you refresh the page.

The fix was to not duplicate views at all. Instead, create them fresh for each week and reapply the filters manually. Mildly annoying, but it’s either that or waking up Monday and seeing random tasks from March in your current list.

Creating a review template to speed things up

Once the basic system was working, I made a new template inside the Weekly Review database. Templates in Notion let you prefill text, add subheadings, and even drop linked databases into the same layout every time you create a new row.

Mine had three sections:

1. Wins this week
2. Stuck points
3. Next priorities

Under the “Wins this week” header, I had an embedded linked view of Daily Tasks filtered for “completed this week.” That way, I didn’t need to drag tasks manually — they just showed up. The first time I did this, it loaded everything unfiltered. Why? Because I had created the filtered view outside the template, and Notion totally ignores those filters when you embed a linked view inside a template for the first time. You must set the filter again after embedding, then click the template’s name to save the layout.

Handling the annoying date mismatch issue

If you track weeks manually, you’ll eventually hit the problem where your Weekly Review page shows nothing because one database is using a date range and the other is just using single dates.

For me, Daily Tasks had a created date. Weekly Review had “week ending” as a chosen date. If those didn’t match exactly, no tasks would show. The quick fix — and I still do this — is to add a formula property in Daily Tasks that calculates the end-of-week date for each task. Then I link based on that property instead of the raw created date.

There are fancy ways to do this, but here’s a readable one: you take the created date, add enough days to hit Sunday, and spit that out as a date. Now every task has the right week ending date, so the linked filter works like you expect.

Preventing templates from breaking midweek

A weird one — twice now my embedded linked databases inside a Weekly Review template have just stopped updating midweek. It’s like the connection between the relation property and the filter breaks silently. Once, I thought I had deleted something without realizing. But the same thing happened on a fresh template two weeks later.

The only thing that consistently brings it back is going into the embedded linked view, removing the relation filter, re-adding it, and saving the template again. If you work in Notion a lot, you get used to this ritual of “delete the broken property and re-add it” because hunting for the actual cause just isn’t worth it ¯\_(ツ)_/¯

Pulling review data into a single overview

Finally, I put a big linked database on a separate dashboard page that pulls all Weekly Reviews into one place. This is where the Relation + Rollup combo is actually worth using. The rollup pulls a count of completed tasks linked to each review entry, which makes it really easy to see at a glance how heavy each week was.

If you want to try it, first add the rollup property to the Weekly Review database. Point it at the Daily Tasks relation, choose “Completed” as the property, and set it to calculate “Percent checked.” That way, in your dashboard table, you can see both total tasks and completion percentage for each week.

That dashboard table is also where I caught a month where the completion rate was around 30%. Turns out two of the weekly filters had been broken for over a week without me realizing.

Leave a Comment