Creating a Weekly Review Workflow in Notion That Actually Holds Up
1. Setting up the master dashboard without drowning in linked databases
This is what usually happens: I get inspired, open up Notion, and create a beautiful dashboard with embedded database views everywhere. Tasks database? Linked. Calendar? Linked. Goals, weekly intentions, even a gratitude box I copied from someone on Reddit — all linked, styled, and nested.
Then Friday rolls around and the whole thing collapses under its own weight. Filters don’t persist, dragging into date ranges misaligns half your checkboxes, and something you marked as “Reviewed” last week is now hidden unless you reset the filter — every single time.
Build break-resistant database views
- Create separate saved views in the original database for each dashboard context — don’t rely only on linked views.
- Use date-based rollups for weekly timeframes, not inline date filters (which tend to break without warning if date properties are renamed).
- Minimize formula stacking — if you use a formula to determine “Reviewed This Week”, keep the logic in one place with a static week number, not current date references (which cause drift mid-week).
Undocumented twist? If you use now()
in a filter (even hidden inside a formula), it re-evaluates across devices inconsistently. I once had a checkbox auto-uncheck itself on Monday morning just because the cache hadn’t updated its local time yet.
An “aha” moment was realizing that creating a Weekly Review tag manually — and toggling it explicitly — was more stable than relying on date-based automation inside formulas. Low tech, but at least it doesn’t change behind your back.
2. Choosing which Notion properties actually matter by the end of the week
You think you’ll use ten tags. You won’t. Every week, I’d review tasks and maybe three properties actually helped me decide anything: Task Status, Priority, and Energy Level (yes, that last one I stole from a GTD template — it weirdly stuck).
I ran a simple export of completed tasks after a month and filtered by “Impact” (a property I thought would help). Literally one item had it filled out. Never used it. Meanwhile, what kept helping was a dumb Select field labeled “Took Longer Than Expected”. Seeing five of those pile up? That told me something actionable.
If it doesn’t help Friday You, drop it
- Keep only properties you’ll use during your review — not Monday’s brainstorm.
- Consider using emojis in Select field names for easier scanning in table view. Notion lets you type “:clap:” to search, even in dropdowns.
- Avoid Status fields with more than 5 options. Binary is often better for weekly check-ins (Done / Not Done / Carry Over).
The real edge case? If you rename a Select option (“Waiting → Blocked” for example), Notion may break filters on your dashboards where that tag was used. It doesn’t tell you anything. It just stops showing matching rows silently — which is how I lost a full project once.
3. Using templates that reset cleanly without duplicating stale data
This one broke me more than once — making a fresh “Week of ___” page using a template, only to realize it pulled in all the old database filters at time of creation, not current ones.
If you have templated Weekly Review pages embedding pre-filtered database views (e.g. “Tasks This Week”), the filter values hard-code on template creation. So let’s say you made a new weekly page on a Thursday and the filter was “Date is this week” — it’ll actually be “Date is week of Aug 3” forever, not dynamic anymore. You won’t notice until two weeks from now when your task table is mysteriously empty.
The fix is partial embedding
Instead of embedding filtered database views directly into the template, embed the full database and apply filters per page using the top filter bar. Yes, it means reapplying them every time, but at least you won’t inherit frozen views.
I once spent ten minutes debugging why no tasks were showing until I realized the template view filter had “Due date is this week” hardcoded as one specific week from two months ago.
The behavior is just not consistent — sometimes filters reapply correctly across templates, other times they lock. Notion support confirmed, offhandedly, that “Not all dynamic filters persist as intended when passed through a template.” Cool.
4. Defining what gets reviewed weekly without making it feel like admin work
My first version of this routine was a Notion checklist labeled “🧠 Weekly Review”, with 12 items. I never made it past item four.
It felt like tax prep.
But once I added a 20-minute timer and dropped the checklist entirely, just replacing it with a toggle list where I’d jot down answers beneath prompts like “What felt stuck?” or “Where did I sprint unnecessarily?”, it looped me in emotionally without becoming a chore.
Actual questions worth revisiting
- What didn’t get done and why?
- What made me say “yes” too fast?
- What helped me focus without trying?
- Which tasks felt satisfying to finish? Which didn’t?
- Is this week’s design work still aligning with next month’s outcomes?
Notion-wise, I just use toggles and bullet lists — no linked databases, no fancy headers. Keep that part sacred. Templates can be helpful but only if they don’t feel like Monday morning meetings in disguise.
5. Sorting tasks across projects into weekly relevance buckets fast
Your work tasks are in six different projects, and now it’s Friday. What actually matters for Monday? That’s the question, and if you try to answer that by hopping through each database separately, you’ll burn 40 minutes before lunch.
So I now flag every task worth revisiting with a manual “🔁 Review Weekly” Select tag — applied as I go during the week. Then when Friday hits, I have a table filtered by that tag, showing only those scattered items, regardless of project.
Review tag logic for multi-project sanity
- Apply the tag during the week when something feels unfinished due to context, not quality.
- Strip completed + low-effort tasks from your review zone. Let them stay dead.
- Use rollups to sticky-connect project title to each task in the central review view for easier recall.
- Manually clear the Review tag post-review — don’t automate it. Trust the friction.
Edge bug: If you use status-to-tag automation (like via a Notion Zap), those tags don’t clear just because you uncheck a task. I had items pop back into the review zone because some dumb automation decided task movement == needs review. Nope.
6. Capturing the personal side without making it cutesy or cringe
Work-life balance isn’t a checkbox. But it’s also not five pastel wellness trackers in a row saying “Did you hydrate?”
I added a single Select property to my Review database called “Mood of the Week”. Color-coded options like “Dense Brain Fog”, “Weirdly Focused”, “Minor Wins Stack”, “Didn’t Move Enough” — and after five weeks, patterns actually emerged.
More telling than reflection pages were patterns across those crude tags: every week I had over three “Bolt-On Meetings” (another tag), I logged mood dips. Correlation? Maybe. But it helped me ask for tweaks in my calendar design with actual evidence.
We noticed, purely from those tags, that weeks with more than two unscheduled scope creeps always correlated with “Took Longer Than Expected” popping up more often — across unrelated projects.
This tells me more than any daily log ever did. Which is ironic because this all started when I tried to copy a beautifully aesthetic weekly spread from Instagram — and it broke halfway through onboarding.
7. Creating recurring review reminders without Notion’s loop logic breaking everything
Reminder setup looked easy: create a recurrent task every Friday, tagged Weekly Review. Done. Except if you duplicate that task instead of creating a fresh database item, timeline filters get weird — Notion assigns it the old Due Date unless you actively reset it, which means next week’s reminder shows up mid-week as already overdue. Which completely breaks the magic.
My final move: I stopped using Notion itself for the reminder and instead used a recurring calendar event in Google Calendar to drive the ritual — with a second automation making a fresh Notion entry into the ‘Weekly Logs’ database. I trigger it via Zapier using a calendar event ID, then fire a Notion create-item action that pre-tags the right week number and template content.
It turned out that creating fresh database entries via API was more consistent than duplicate-via-template behavior inside Notion. API entries always generate fresh records; templates hold context — and that context rots.
A final sanity saver: I added a fallback trigger via a Make scenario that checks every Friday at noon for an unreviewed week — if missing, it slacks me a simple prompt: “Do a review, or intentionally skip it.”