Notion has made a subtle, yet significant change to how databases work.
Databases can now contain multiple data sources, meaning a single database (inline or full-page) can contain all the data sources for a complex system or template.
This does not mean a single view can display pages from multiple different databases, but it does mean that a database can now act as a “container” for multiple data sources, each of which contains a unique set of pages and defines its own set of properties for those pages.
Consider a task manager, which needs to store two different types of data:
- Tasks
- Projects
In the past, you’d need to create two separate databases to handle this. You’d actually type /database
twice on a page, creating one database called Tasks, and another called Projects.
Now, Tasks and Projects can each be data sources that are contained by a single database.
By default, a database with more than one data source will derive its name from all data sources – e.g. “Tasks and Projects” in the example below. You can also give the database a custom name.
Notion says that this change is intended to make it easier for users to create complex, multi-source systems by introducing the following benefits:
- All data sources in a multi-source system can be managed from a single database
- Permissions can be set for all data sources at once (permissions are set at the database level, not at the data source level)
In this article, I’ll help you fully understand this set of updates, how it changes the structure of Notion databases, and how it might affect your workspace going forward.
TL;DR – How Does This Affect Me?
This update is simultaneously massive and likely inconsequential for most people.
The first thing I’ll mention is that this update does not allow you to display pages from multiple databases in a single view! This is the most frequently-asked question about this update; please check out the dedicated section below for a more thorough answer.
In short, this update changes the way you can build out databases going forward. Importantly, it doesn’t automatically change anything you’ve already built.
You can – and probably should – leave everything currently in your workspace as-is. While there are some marginal benefits to be gained by tucking multiple data sources into a single database, there are also currently some drawbacks.
The biggest drawback is that integrations need to upgrade to a new version of the Notion API in order to work with databases that contain 2+ data sources. Integrations are external apps that connect to your Notion workspace, such as:
- Flylighter (the powerful Notion web clipper my team and I built)
- Tally Forms
- Zapier
- n8n
- Pipedream
- Make.com
Notion has provided an API upgrade guide so integration developers can start upgrading their apps, but it’ll likely take some time before they all do.
If you start creating multi-source databases – or moving existing data sources into a single, unified database – any integrations that haven’t yet updated will not be able to see or work with those data sources.
This means you can break workflows that you rely on! (But if you do, you can fix it)
If you’re relying on any integrations, my recommendation would be to wait 2-3 months before starting to create databases with multiple sources.
With that warning out of the way, I’ll invite you to read on if you want to fully understand this change and its implications.
Can I Combine Multiple Database Into One View Now?
Nope.
Now that Notion is communicating that you can add “multiple sources to a database”, it’s very easy to interpret this as the ability to show pages from multiple databases in a single view.
For example, you might want to show pages from both a Personal Tasks database, as well as from a separate Team Tasks database, in a single “Due Today” view.
This is not possible, and is not what is meant by “multiple data sources in a database”. The truth is far less exciting; as I quickly demonstrated at the beginning of this guide, this change simply allows a database to contain and manage more than one data source.
In truth, I’m glad this is the case. While the ability to pull pages from multiple sources into a single view would be useful, I believe that the majority of goals it would achieve will be handled better by granular permissions rules on databases – something that Notion has confirmed they’re building.
When that feature does launch, you can bet I’ll be covering it in a similar amount of detail as what you see here. Hop on my newsletter if you want to be notified when it launches:
Notion Databases and Data Sources Explained
To fully explain how databases with multiple sources work, I need to break down the entire structure of Notion databases. Why? Well, this feature is not very easy to understand conceptually. So let’s break it down step-by-step.
First, I’ll remind you that nearly everything in Notion is a block – a basic unit of data that contains:
- Content – e.g. a string of text, like “I will be king of the pirates!”
- Metadata – e.g. a type, such as Paragraph, Heading, or Quote
Pages and databases are blocks, too. Make sense so far?
Your Notion workspace has a tree-like structure, where every block has a parent. Most blocks will have another block as their parent. For example:
- A Heading block on a page → parented by the page itself (pages are blocks!)
- A nested Bulleted List Item → parented by the Bulleted List Item that contains it (one level up)
There are two exceptions to this rule:
- Top-level pages and databases are parented by the workspace itself
- Pages in a database are parented by their data source
That second exception is the heart of this section!
Pages aren’t parented by a database; they’re parented by a data source. Also, data sources are not blocks. They’re a different kind structure. Like I said, almost everything in Notion is a block.
So now we have two important terms: database and data source.
A data source:
- Defines a schema, or set of allowed properties, for child pages. (e.g Due Date, Assignee, Status)
- Is the parent of its child pages (which are Page blocks)
- Is the child of its containing database (which is a Database block, either inline or full-page)
- Is not a block – you can’t drag it around on a page
- Is managed via a connected view
A database:
- Is a special type of block that can contain data sources and views. Must contain at least one view, but can have zero data sources.
- Can be set as either full-page or inline (showing directly on its parent page)
- Sets default permissions for all pages within its data sources
Let’s also define what a view is, since I mentioned it in both of the definitions above. A view:
- Displays a set of pages from a single data source (just one!)
- Is a form of query: It has a set of filters and sorting criteria that determine which pages from the data source are shown, and in what order.
- Contains other metadata: Property visibility, layout type, etc
- Is not a block
- Is the child of its containing database
The diagram below provides a visual representation of how all of these pieces fit together:
Note that this entire structure is also accurate to how databases worked prior to this update! In the past, data sources still existed.
However, databases could only contain a single data source, so Notion kept them hidden and never really mentioned their existence.
I’ll also point your attention to Database 2 on the right side of the diagram above. This shows a “Linked” View which points to the data source contained by Database 1. This is an example of the Linked Database block that you’ve likely used many times before.
In the past, Linked Database blocks were a truly separate entity from normal Database blocks. Now, they’re essentially the same thing. You can still type /Linked View of a Database
in Notion, but you’ll now be creating a Database block – just one that has a view that links to an external data source (one parented by some other Database block).
Next, let’s look at a slightly more complex diagram. This one is similar, but shows how a single database can contain multiple data sources:
Additionally, you can see how Data Source 2 has no view pointing to it. With this update, data sources are distinct entities that are not required to be connected to a view – although you’ll always get a default view when you create a new data source.
So, in summary:
- Databases are blocks that can contain data sources (0 or more) and views (1 or more).
- Data sources contain pages and define a schema (set of properties) those pages have
- Views display a set of pages from a single data source. They act as a query, with filters and sort critiera, and also have settings regarding layout, property visibility, etc.
How to Add Multiple Data Sources to a Database
You can add a new data source to an existing database like so:
- Hit the
+
icon - Click New data source
Alternatively, you can add data sources (and manage existing ones) from a database’s Settings menu:
- Click the Settings icon
- Near the bottom of the menu, click Manage sources
- Click Add data source
When you create a data source, a new view will automatically be created and attached to it.
Note: It’s possible to delete all views connected to a data source, resulting in a data source that has no views. I generally don’t recommend doing this, but it is possible.
By default, you’ll see the data source’s name above the horizontal bar of views in the data source. This is one place where you can see which data source is connected to the current view.
If you click the •••
menu next to the data source’s name, you can:
- Edit the data source title
- Add an icon to the data source
- Hide data source titles across the entire database
As of this writing, this is currently the only place you can edit a data source’s title and icon.
If you’ve hidden data source titles in a database, you can go to Settings icon → Layout → Show data source titles to bring them back, allowing you to edit them again.
You can also see the data source to which the current view is connected by clicking the Settings icon and checking the Source option beneath Data source settings.
I’ll also point out a couple quirks about naming in databases.
First, views don’t inherit the name of their data source. By default, creating a data source will spawn a Table view without a set name, resulting in the name “Table” in the view bar.
Second, databases get a default name that is a simple concatenation of all their data sources, e.g. “Notes and Tags” or “Books, Authors, and Publishers”. You can click this default, grayed-out name in order to set a custom name for the database.
Linking Views to a Data Source
In this section, I’ll cover two use cases:
- Choosing a data source for a new view you’re creating
- Changing an existing view’s data source
Note: When you create a new database, you automatically create both a data source and an initial view within it. That view is automatically connected to the created data source.
When you create a new view in a database, Notion will first ask you to choose a data source for that view. You’ll likley see two sections:
- Suggested: This will show “local” data sources – sources that are contained by the current database.
- Existing databases: This section shows data sources contained by other databases in your workspace. Choosing one of these will created a “linked” view.
If you mis-click, or change your mind, you’ll see a Source option at the bottom of the New View menu that comes up next.
This view is nearly identical to the normal Layout section you can access in the settings of an existing view; however, that Layout section won’t contain this Source option.
What if you want to change the data source for an existing view? You can do that by:
- Clicking the Settings icon in the database
- Click Source under Data source settings
- Choosing a new data source. This can be either a local or external data source.
Alternatively, you can simply click the view’s name in the horizontal view bar.
Once you do, you’ll see the same Source option. Clicking it will open up the Settings panel and take you directly to the same source selector.
Setting Permissions on Multiple Data Sources
Permissions are set at the database level, and apply to all data sources within the database.
This means that you’ll customize permissions for a multi-source database in the exact same way that you’ve always done for single-source databases:
- Click the Share button at the top of the page (open inline databases as full-page first)
- Open the permissions dropdown for a person, group, or for Teamspace owners/members
- Choose a permission level
The setting you choose will apply to all data sources within the database. In the shot below, the Can Comment permission I’m granting to Eli applies to both the Notes and Tags data sources.
Note: If you’re working with other people, I generally recommend granting Can Edit Content (or lower) permissions to anyone who isn’t a designated “Notion architect” in your workspace. Read my guide on recommended permissions for teams to learn more.
If you want a specific data source to have different permissions from the others in a database, you’ll need to move that data source to another database block.
We’ll cover how to do that in the next section, but this is actually one reason why I generally recommend building single-source databases. I’m covering this new multi-source feature thorougly in this article, but for most users, I still think creating a separate databases for each data source makes the most sense.
Moving Data Sources
You can easily move a data source to another database.
This is useful if you want to set custom permissions on that data source, as permissions are set at the database level – meaning that you’ll need to move a data source to its own parent database if you want it to have different permissions from the other sources in its current database.
You have to move a data source to an existing database. Notion doesn’t provide a method for creating a new containing database while you’re trying to move a data source.
Once you’ve picked (or created) a database to serve as the new home for your data source, do the following:
- Click the Settings icon (on any tab in the current database)
- Click Manage data sources
- Click the
•••
menu next to the data source you want to move - Find the new database that will become the new home for the data source
Once you’ve chosen your data source, Notion will give you two options:
- Move the data source and all views in the current database that connect to it
- Move the data source only
If you choose the latter option, the views will remain in the original database – now connecting to an external data source (the one you’ve just moved).
Deleting Databases, Data Sources, and Views
This update brings more nuance and flexibility around deleting entire databases or pieces of them.
Deleting a Database
There’s not much new to say about deleting entire databases, except that when you try to delete one with multiple data source, the deletion warning will now tell you how many data sources will be removed:
Deleting a Data Source
If you’d like to delete a specific data source without deleting its containing database, you can do the following:
- Click the Settings icon
- Click Manage data sources
- Click
•••
next to the data source - Click Move to Trash
Note: You’ll only see the Move to Trash option if you’re in a database that has 2+ data sources. In a single-source database, you’ll need to delete the entire database.
Deleting a View
You can still right-click any view in the horizontal view bar and click Delete to get rid of it. However, if you do this for the last view that connects to a particular data source, you’ll see a pop-up giving you a choice:
- Delete the view only
- Delete the view and the data source
If you only delete the view, the data source will still exist – but it will have no views connected to it.
You’ll still be able to find it in the list of data sources for the database by going to Settings → Manage data sources. If you click it there, Notion will bring up another pop-up asking if you’d like to create a view for it.
IDs for Databases, Data Sources, and Views
Notion databases now consist of three unique entities:
- Database – the special block that contains data sources and views
- Data sources – special entities that contain child pages and define the schema (set of properties) for them
- Views – the “query” the shows a set of pages from its data source, defining filters, sorting, grouping, property visibility, etc.
Each of these entities has a unique ID in Notion. Here’s how to find and copy each of them.
Database ID
The ID of a database is embedded in its URL.
To find the ID of a database, first make sure you’re viewing the database as a full page. If you’re working with an inline database, (one that displays its contents within a page), click the Open as full page icon to make it full-screen.
Once you’re at the full-page database, you can copy the page link by clicking •••
in the top-right corner, then clicking Copy link.
Alternatively, hit the ⌘/Ctrl + L
shortcut to copy the database URL to your clipboard.
Once you’ve done that, you can extract the Database ID from the URL. The Database ID is the string of characters after the final /
character in the URL, up until the first ?
character.
/* Full Notion URL */
https://www.notion.so/2630da6f544e804e871ee94c3bd21c6e?v=2630da6f544e8033ab30000cb5f2a930&source=copy_link
/* Database ID */
2630da6f544e804e871ee94c3bd21c6e
Code language: HTTP (http)
If you ever find yourself working with the Notion API, this is a handy trick to know.
Data Source ID
Unlike Database IDs and View IDs (covered below), Data Source IDs are not found in the database’s URL. Instead, you can obtain a Data Source ID like so:
- Click the Settings icon on the database (database does not need to be opened as a full page)
- Click Manage data sources
- Click the
•••
menu next to the data source - Click Copy data source ID
View ID
In case you need the ID of the current view, you can use the same method I showed for getting the database ID.
The URL you copied to your clipboard also contains the View ID, which is the string of characters after the ?v=
and before the next &
character.
/* Full Notion URL */
https://www.notion.so/2630da6f544e804e871ee94c3bd21c6e?v=2630da6f544e8033ab30000cb5f2a930&source=copy_link
/* View ID */
2630da6f544e8033ab30000cb5f2a930
Code language: HTTP (http)
Notion API Changes
This move toward allowing databases to contain multiple data sources made it necessary for the Notion API to get some major updates.
The Notion API now has a new major version, 2025-09-03
, and Notion is encouragin all integration developers to update their applications to use this version of the API.
If you’re a developer, you can read the Notion API team’s upgrade guide here: Upgrading to 2025-09-03
If you’re a user who relies on tools that connect to Notion – e.g. Zapier, Make.com, n8n,
Any Notion integration that is still using the older 2022-06-28
version of the API will not be able to find or interact with databases that contain multiple data sources.
FAQs
In short, it doesn’t affect of your existing systems.
All of your current databases will still remain single-source unless you go in and add another source.
You can, but I don’t recommend it.
I’ve spent a lot of time documenting this feature in this guide so that Notion users will have a clear explanation of how it works.
However, I generally recommend continuing to build single-source databases in a central, tucked-away Databases page when creating Notion systems. In my opinion, this makes systems easier to understand because every data source remains 100% visible.
More importantly, I don’t recommend making unnecessary changes to your workspace! This is not a feature that will provide any tangible productivity benefit to your existing systems, but it does have the potential to confuse folks on your team when they see that a bunch of stuff has changed.
No. My team and I have spent hundreds of hours creating documentation and video tutorials (like this tour of Ultimate Brain) which clearly show how databases are structured in our Notion templates.
Changing the database structure in our templates would render much of this content obsolete for no real productivity benefit. See the section above for more detail on why I don’t think this update is worth any changes to existing systems.
If you move a data source to a new database where it is the only data source, integrations using the older version of the Notion API will be able to interact with it and its pages again.
Note that you can only move a data source to an existing database. That means you’ll need to do the following:
- Create a new database, which will contain a new, “temporary” data source
- Move your important data source to this new database, using the instructions in the Moving Data Sources section.
- Delete the original, “temporary” data source in the new database using the instructions in the Deleting Database and Data Sources section.
Once you’ve deleted the “temporary” data source, you’ll be left with a new database that only contains the data source you moved. You’ll then be able to use that new database with the Notion integration.
See the section on finding and copying database IDs if you need to grab the new database’s ID.
Wrap-Up
If you enjoyed this article, you’ll also love my free Notion Tips newsletter. Get subscribed, and I’ll let you know when I publish new articles like this one – as well as free Notion templates!