Setting up linked databases without confusion
The first time I used linked databases in Notion, I thought I broke something because my tasks disappeared. They were not gone, of course, they were just filtered out because I had copied a view from another database and left the filters on. If you are starting from scratch and do not want to chase ghosts like I did, the simplest way is to create one master database for all tasks. Name it something boring like All Tasks so you remember it is the source of truth, not another random page.
On any project page, type slash linked and select Create linked view of a database. This lets you display the master task database in that project page. The trick is you need to set a filter where Project equals the project page you are in. I like to use a relation field here — basically you create a relation between All Tasks and Projects, so each task is tied back to its project. Then when you create a filtered view in the project page, it only shows tasks for that project. When I set it up wrong the first time, every project page showed the exact same tasks. It was chaos.
Even something as simple as view types can trip you up. I usually start with a Table view across projects because you can scan quickly. But when I want timeline mode, I forget half the time that timeline needs a date property that isn’t empty. If your tasks look invisible in timeline, check if your date property is filled. In my case they were blank because Zapier hadn’t pushed a due date in properly. I spent a whole hour blaming Notion until I remembered my Zap had failed a step.
Tracking progress across multiple projects
The point of linking these databases is usually not just to see the tasks, but to get a quick sense of how far along different projects are. I had one page with six linked databases in a messy grid that looked like the control room of a spaceship. Not helpful. What worked better was building a dashboard page with one linked database of All Tasks, grouped by Project relation. That way I could collapse projects I didn’t care about that day.
Notion lets you calculate progress with rollups if you are patient enough to set them up. For example, in your Projects database, add a rollup property that looks at the related tasks and counts how many are checked as Completed. Then divide that by the total number of tasks. I did it wrong at first by rolling up only completed tasks and thought two projects were mysteriously empty of tasks because it returned zero. Once I rolled up all tasks and filtered the checkbox count against that, the math made sense. You end up with something like “6 out of 10 tasks done” shown on each project page. Not as pretty as a graph, unless you build a progress bar formula with some clunky repeating characters, but it does the job.
When I tried displaying progress as percentage text, I felt nothing emotionally. When I hacked a simple progress bar formula that showed /////// like an old AOL download, I instantly felt more motivated. It sounds silly but the longer the visual bar, the more rewarding it feels 🙂
Building project dashboards inside notion
I recommend not starting your dashboard blank because you will build a Frankenstein page of linked databases stacked on top of each other. What I do now is pick three key things I want to see first thing in the morning: overdue tasks, today’s tasks, and a board grouped by status so I know what stage everything is in. Then under that, I add a table grouped by project for context.
To filter Overdue, you set filter where Due date is on or before today and Completed is unchecked. For Today view, filter where Due date is today and Completed is unchecked. This way I can open my dashboard page and immediately see my fire list instead of scrolling around through projects. For me that cut down a lot of unnecessary context switching.
I also made the mistake of trying to drag tasks across linked views thinking it would move their status automatically. It sort of does — dragged cards update in Kanban views — but if you built a property that does not connect back to status, you just get nothing. So if your tasks do not update as expected when you drag them, check which property is being grouped by. I once grouped by Priority instead of Status, then complained that dragging “High” to “Done” didn’t mark it complete. That was on me.
Fixing broken filters in linked views
One of the weirdest bugs I ran into was that a linked database view on one project suddenly started showing tasks from other projects. I thought the Relation property broke. Actually what happened was I duplicated the linked view from another page and forgot that the filter was still tied to the original project name. So now every project page showed tasks for one specific project until I edited the filter.
The way to check is click on the little filter pill and confirm it says Project Contains CurrentProject rather than something static like Project Contains Website Redesign. The moment you use a static project name inside your filter, it won’t adapt when you reuse the view on another page.
Sometimes people think linked databases are duplicates of the original database. They are not copies — they are just different windows into the same data. If the data looks wrong, it almost always comes down to the filter or relation not being configured the way you think. I’d say nine out of ten times my problem was forgetting about one filter that was still checked. I have yelled at my laptop before because tasks “vanished” only to realize I had a filter for Due Date This Week still active.
Managing recurring tasks across projects
Recurring tasks in Notion are weird because unlike apps that natively support repeating tasks, Notion just clones whatever is in the database. I did it manually at first by duplicating a template task every Monday. Later I tried an automation with Zapier. The Zap would trigger every Monday morning, create a new task with Project set to Blog Content, and push it into All Tasks. It worked great until one morning I had triple copies. The Zap fired three times in a row because the trigger misfired. Funny thing is, I didn’t notice until Friday because I had been ignoring duplicates thinking I had just clicked too fast.
If you want to go low tech, you can keep a template button in your project page that spawns a new task with prefilled project relation and tags. That way you don’t rely on external automations glitching out. The one forgotten setting that solved a lot of my chaos was simply adding a default relation in the task template. That way every duplicated or auto generated task already knows which project it belongs to, instead of landing in the master database with no context.
Using rollup summaries for quick reporting
The best way I found to keep project owners updated without sending them into Notion every time is to create a Summary database. Each entry is just a weekly note that rolls up total tasks completed that week, overdue count, and percent done. You can even roll up earliest due date still unfinished, which makes it super obvious what item is blocking the project.
When I shared this with a client once, they were shocked that the critical task still stuck was something like Upload images, not some big deliverable. It was only obvious after I set that rollup. Sometimes the simplest data points get lost until you force them to sit in one table.
If you want more official reading, there is good documentation directly on notion.so which gives examples of step by step rollup configurations. But honestly I only got it working once I realized you have to create the relation first, then the rollup. For two hours I tried adding a rollup on an empty field and kept wondering why there was nothing to select.
When linked views slow down notion
Okay so here is the part where I nearly abandoned Notion for everything. Once my master task database hit a few thousand rows, linked views started crawling. I would click Filter and wait several seconds just to see the menu. That was unacceptable for daily use. My workaround was creating smaller databases for areas of work and only rolling them up into a master when needed. So instead of one database with thousands of items, I ran three medium sized ones.
Another trick was to limit views. If your dashboard has ten different linked views loading different filters and groupings, it will lag. I pared mine down to four essentials and suddenly things were snappy again. Kind of like having too many browser tabs open, you know what I mean 😛
Sometimes refreshing the Notion app clears cached views and makes things load faster. The weird part is that I once cleared the cache and my dashboard looked totally blank. I thought I deleted everything, but it was actually just Notion forgetting to reload the filters until I toggled them off and on again. Clearing cache is both a blessing and a curse.
Sharing linked databases with teams
If you are tracking multiple projects with a team, permissions can become a nightmare. By default, people get access to the entire database if you share it. That is dangerous if you want clients to see only their project tasks. The way I hacked it was by creating a separate shared page for each client, embedding the linked database filtered to their project only. As long as you don’t directly share the source database, they cannot peek at other projects.
Even then, I once caught a client changing the Status property labels because they had full edit permission on the linked view. That change of course updated the entire database, not just their view. So if you want them in true read only mode, make sure to set permissions on the base database, not the project page.