Benny Builds It is ad-free and reader-supported. If you buy through my links, I may earn a commission.
Self-referential — or self-referencing — filters and templates are a powerful yet often underutilized feature in Notion.
When applied effectively, they highlight the full potential of Notion's relational database system.
Let’s explore how they work and how you can use them in your own workspace.
What Is a Self-Referencing Filter?
A self-referential filter in Notion is a filter applied to a linked database view that references the page it is contained within.
It can be applied to any view of a database that has at least one relation property.
2.5
When combined with database templates, this allows the filter to dynamically adjust its criteria based on the specific page that is currently being viewed.
For example, in a project database, a self-referencing and dynamic filter can be used to show only the tasks linked to the current project page, ensuring you see only the relevant tasks for that specific project.
What Is a Self-Referencing Database Template?
A self-referential database template in Notion is a template within a database that can refer back to its own or related properties.
This allows you to create a template that automatically pulls in and displays data from the same database or any related databases by using linked database views together with self-referential filters.
This technique is useful for creating dynamic templates that automatically adapt their content based on the page they’re applied to, which eliminates the need to adjust each new page individually.
Read on to see some practical examples of how to use these templates effectively.
How to Create a Self-Referential Filter Template in Notion
A prerequisite for self-referential database templates is an existing relation property that links the database either to itself or to another database within your Notion workspace.
To create a new self-referencing template in any database, simply follow these three steps:
- Open the database template menu by clicking the arrow next to the New button and create a New template.
- On the new template page, create a linked database view by typing
/linked
, then select the related database that you want to pull data from. - Add a new filter to the linked database view, choose the relevant relation property, set it to contains, and ensure you select the template you are currently editing. ⚠️ This step is crucial for making the template truly self-referential.
2.5
2.5
2.5
Now, whenever you create a page using the newly created template, its content will automatically include a linked database view that’s already filtered to show data related to that specific page.
This eliminates the need to manually adjust the filter for each new page, saving you a lot of time!
Of course, you can still add any additional content to the template page as needed.
Practical Examples for Using Self-Referential Filters & Templates in Notion
1 Database: Tasks & Dependencies
In this example, we've created a task database with a relation property set to itself, allowing tasks to be connected with one another, as some tasks depend on the completion of others.
By using a self-referential database template, each new task page in that database will automatically be populated with two separate linked database views:
- One showing the tasks the selected task depends on,
- and the other displaying the tasks for which it is a prerequisite.
In the images below, you can see that:
- Task A is dependent on the completion of the two related tasks Task B and Task C.
- This automatically makes Task B and Task C a prerequisite for Task A.
- The content pages of Task A and Task B are automatically populated to display each task's individual dependencies and the tasks for which they are prerequisites.
2.5
2.5
Clearly, this example illustrates a very basic use case, but imagine how much time these templates can save by:
- Streamlining the setup of new pages in large databases.
- Providing quick access to all relevant data for a specific database entry without having to populate each page manually.
2 Databases: Customers & Projects
When linking two separate databases, self-referential templates and filters become powerful tools for creating insightful, automatically populated pages.
For example, connecting a customer database with a related project database allows a self-referential template to populate each customer page with the project data specific to that customer.
3 (or More) Databases: Customers, Projects & Tasks
In this example, we introduce a third database for tasks.
Since the project database is related to both the customer and task databases, we can create a self-referential project template that automatically populates each project page with relevant customer and task data.
This allows us to view all project-related information in one place, eliminating the need to check customer, task, and project data in separate locations.
With this guide, you should now be well-equipped to leverage the power of self-referential templates and filters in your own Notion databases.
Exclusive Subscriber Perks
Subscribe to my newsletter to unlock these amazing perks:
🎉 Exclusive Launch Discounts
🎁 Monthly Coupon Giveaways
🔔 Instant Content Updates
💡 Notion Tips & Tricks
✋ No spam, ever. Unsubscribe anytime.