
Configuring Notion as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Notion option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
Nekt supports Notion OAuth, making the setup process simple and secure. You just need to authenticate with your Notion account.- Click “Notion Authorization” when prompted
- You’ll be redirected to Notion’s authorization page
- Sign in to your Notion account if you haven’t already
- Review the permissions that Nekt is requesting
- Click “Allow” to grant access to your Notion workspace
- You’ll be redirected back to Nekt with your account connected
- The OAuth connection will give Nekt access to databases based on your user permissions in the Notion workspace
- You can revoke access at any time from your Notion workspace settings
- Only connect workspaces that contain the data you need for your analytics
2. Select streams
The Notion connector creates two types of data streams: Databases Stream- Stream name:
databases
- Purpose: Lists all databases accessible to your Notion integration
- Use case: Discover what databases are available in your Notion workspace
- Stream pattern:
database_{database_id}
- Purpose: Extracts the actual content (pages/rows) from each individual database
- Use case: Get the data stored within your Notion databases
Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select a name for each table (which will contain the fetched data) and the type of sync.- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix and make this process faster!
- Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental sync: The connector supports incremental synchronization for database content streams using Notion’s
last_edited_time
. Only extracts pages that have been created or modified since the last sync. - Full sync: Extracts all pages from the database every time.
- Incremental sync: The connector supports incremental synchronization for database content streams using Notion’s
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can determine when to execute a full sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while. Once you are ready, click Next to finalize the setup.5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.For you to be able to see it on your Catalog, you need at least one successful source run.
Streams and Fields
Database
Database
The databases stream includes the following properties for each database:
Property | Description |
---|---|
id | Unique identifier for the database |
title | Array containing the database title information |
object | Always “database” for database objects |
properties | Stringified JSON of the database schema/properties |
created_time | When the database was created |
created_by | User who created the database |
last_edited_by | User who last edited the database |
last_edited_time | When the database was last modified |
cover | Database cover image information |
icon | Database icon (emoji or image) |
parent | Information about where the database is located |
url | Internal Notion URL for the database |
public_url | Public URL if the database is shared |
archived | Whether the database is archived |
in_trash | Whether the database is in trash |
Database content
Database content
Each database content stream includes:
Property | Description |
---|---|
id | Unique identifier for the page/row |
object | Always “page” for database entries |
last_edited_time | When the page was last modified (used for incremental sync) |
properties | Stringified JSON containing all the page properties based on the database schema |
created_time | When the page was created |
created_by | User who created the page |
last_edited_by | User who last edited the page |
cover | Page cover image information |
icon | Page icon (emoji or image) |
parent | Reference to the parent database |
archived | Whether the page is archived |
in_trash | Whether the page is in trash |
url | Internal Notion URL for the page |
public_url | Public URL if the page is shared |