How To Share Only A Part Of A Notion Database: Step-by-step
May 17, 2024Share filtered views in Notion without sharing your entire master database. This is Notion’s most requested feature for years, aside from offline mode.
Unfortunately, native support for this functionality hasn't arrived yet. Yes, there are workarounds, but they have drawbacks:
- Unreliable: Simply don't work as intended, period.
- Time-consuming: Require constant manual adjustments for each page you share, which is not scaleable and hard to maintain.
- Fragmented: Involves creating separate databases for every data set you want to share, which defeats the purpose of having a central database for your information.
In the past, tutorials like this one by Daniel Canosa offered a glimpse of hope for sharing filtered views. But as the comments highlight, this method has a glaring problem. It might seem to work initially, but it can still be vulnerable to manipulation, which can potentially expose your entire master database.
A quick search on Reddit reveals over 20 threads asking about this very same functionality, only to be met with comments that say the same thing - it’s not possible in Notion right now.
For businesses using Notion, this lack of fine-grained permissions is a big problem, it could even be a deal-breaker.
But what I’m about to share with you allows you to finally share part of your Notion databases with granular permissions. You can finally:
- Share client dashboards and only include client-specific information.
- Give access to employees and only share data that’s relevant to them.
- Collaborate with external contributors without letting them see internal-only data.
- And so much more.
How to share a Notion database partially
When Notion doesn't have a built-in feature you need, don't fret. Notion integrations allow you to create powerful automations, which extend Notion's capabilities and make them even more powerful.
If you prefer a video tutorial, we also have one for you here:
What’s a Notion integration?
Notion is fantastic, but it can't be everything to everyone. That's where Notion integrations come in.
Notion integrations are tools that utilize Notion’s API to extend its capabilities, or unlock functionalities beyond its core offerings.
Think of an API as a bridge that allows different applications to communicate. Notion's API grants integrations access to your workspace data, enabling them to perform various actions.
Examples of actions are creating new pages and databases within Notion, and triggering automated workflows based on specific events. The most relevant use case for this guide is the ability to apply filters to databases, without exposing the original database to whoever you share it with.
Let's explore how to share filtered views of Notion databases.
How to share only a part of a Notion database
This guide uses a simple example to demonstrate filtered database views with a single master database. But the core principles are easily adaptable.
Once you grasp the concept, you can apply it to any data set you need to share, and create custom filtered views for a variety of use cases.
Step 1: Create the master database in Notion
If you haven't already, create your master database in Notion. Remember to include the property (or properties) you'll use later for filtering the data you want to share.
In my example, I made sure my Tasks database contains a property that tells which client it belongs to:
Step 2: Create your filtered view with the Notion integration
Now, it's time to build the application that will display your filtered view(s). This application which you’ll create using a Notion integration is what you’ll share with others.
If you don’t have a Stackoia account yet, you can create one here. Go ahead and create an organization too if you haven’t already (you can use the same link), and connect your Notion workspace.
From your organization’s dashboard, click on the Create New App button:
Fill in the details, such as application name and visibility:
Then click Add Application.
Once your new application has appeared on your dashboard, click on the application’s settings icon, and select Build from the dropdown:
From the Application builder, click on the Add Section button. From the dropdown, input a section header (optional), and select a section type (required):
From the next dropdown view, select your Notion database source for the section:
The new section will appear on the app builder (it may take a few seconds).
Click on the settings icon on the left side of the section, and select Filters from the dropdown:
Now add the filters you want to apply to the database.
For example, I’m building a client dashboard for Client A. So I’d filter only the tasks that belong to this specific client:
Here's my filter zoomed in, which filters out the Tasks database in my Notion workspace to only those pages that contains Client A in the Clients property:
Note that you can add multiple filters for a section.
You can even add multiple sections in one application! For example, you can use multiple sections using the same database source but a different section type (similar to database layouts in Notion), or use a different database source for each section, so you can share multiple databases in one page. It’s up to you!
And finally, don’t forget to publish your application.
You can view the public version of your application by clicking on the link icon. Copy its URL and share it with your team, clients, or any other collaborators:
(Optional) Step 3: Assign granular permissions to guests
If you set your application’s visibility to Restricted in the previous step, then you have to add guests to your application and set their permissions, otherwise they can’t view or use it.
From the left navigation, click on App Settings.
Scroll down to Guest Permissions.
First, add guests to the application using the dropdown.
For each guest, choose their permissions for the application (you can assign multiple to each guest):
And that’s it! You’ve just rid yourself of one of Notion’s biggest limitations. Sharing a partial or filtered database without sharing the master database is now possibile. You’ve unlocked the full potential of Notion collaboration, and can ensure the right people have access to the right information.
Update: an alternative solution to share filtered databases in Notion
Matthias Frank has his own guide on this matter with a different solution: https://matthiasfrank.de/share-part-of-a-notion-database
His approach involves using a different tool called Make. It has more steps involved, but it works, that’s why I decided to also include it here. Make automates syncing between your private database and a filtered, shared version.
Here are some key points to consider before choosing this approach:
- Free Plan Limitations: Free Make plans don't offer real-time syncing. Collaborator edits may take up to 15 minutes to reflect in your database. Paid plans reduce this delay (minimum of one minute waiting time). If you don’t require immediate updates to reflect to your and collaborator’s views, this is fine.
- Content Syncing Costs: Syncing page content can be expensive because Make’s pricing is per operation. Each page block is counted individually, so syncing every block in every page in your database greatly increases the amount of operations you’ll use up. If you only need to sync page properties and not page contents, then this is also fine.
- Free Plan Scenario Limits: The free Make plan only allows two scenarios (a scenario is an automation workflow).
Get started for free
Create granular client portals and forms powered by your Notion data in less than 2 minutes.