Table of Contents
In this short post, I will explain how you can share only a subset of pages from your Notion databases using Google Sheets and Sync2Sheets.
Motivation
In Notion, we have the concept of views. We can create them using different filters to display only the information we want without modifying the original database.
The problem comes when we want to share that subset of pages with someone outside our workspace. There’s currently no way to avoid them having access to the full database with all the data. 👎
Fortunately, there is a solution! Let’s see how we can use Google Sheets as a portal to share the information without exposing the entire database.
Use Cases
Imagine we have a database with tasks for different projects and clients. We want our clients to see an overview of how tasks are progressing, what’s blocked, what’s on track, and what’s done.
We can create a specific spreadsheet for each of our clients, showing not only the subset of tasks that belong to them but also summarizing the information using pivot tables and charts.
As another example, imagine you work as a freelancer and track your time in Notion. You have a list of tasks assigned to each client and a column that shows how much time you spent on each task.
You can have one spreadsheet per client where you show the tasks and build a small dashboard where they can see additional information like hours billed, remaining budget, and more.
In both cases, the concept remains the same: sharing a subset of pages from a Notion database and using all the features Google Sheets provides to add elements like charts and pivot tables to improve how we present the information.
But how does this all work in practice? Let’s take a closer look.
The Approach
The first step is to sync your Notion database with Google Sheets using Sync2Sheets. Take a look at the following video if you haven’t installed the add-on yet:
For this example, we will use a Task List database connected to a Customer database. You can get the template here and duplicate it to follow along, or you can use your own database.
Once we’ve synced the database, the next step is to create a single spreadsheet for each customer or client. This is a manual step, but you only need to do it once.
From each of the customer spreadsheets, we will use the =IMPORTRANGE() formula to bring in the data from the main database:
The first parameter of the formula is the URL of the spreadsheet containing your synced database, and the second parameter is the range of the data. In this case, it’s the range A1 to J10 from the sheet Tasks, but you should use your own range depending on the data you’re working with.
To finish up, we allow access to the sheet, enable filters, and keep only the pages where the customer name is “Materially”. You can then keep working with the sheet to improve its design, hiding columns, changing styles, and more. You can view the final shared spreadsheet here.
Conclusion
The idea is simple: sync your Notion database with Google Sheets and then create specific spreadsheets for each of the slices of data you want to share, without giving access to the main database.
From there you can add charts and pivot tables, use conditional formatting to improve the visuals, and more!
Can you think of other situations where this setup could be useful? We would love to hear from you on X!