Skip to main content
Notion is the AI workspace that works for you - a productivity platform where teams can create docs, wikis, projects, and manage knowledge in one place. It’s widely used by teams for documentation, project management, and collaboration.

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.
  1. Click “Notion Authorization” when prompted
  2. You’ll be redirected to Notion’s authorization page
  3. Sign in to your Notion account if you haven’t already
  4. Review the permissions that Nekt is requesting
  5. Click “Allow” to grant access to your Notion workspace
  6. You’ll be redirected back to Nekt with your account connected
The OAuth process automatically handles authentication and gives Nekt access to the databases you have permission to view in your Notion workspace. Important
  • 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
After you authorize Nekt, define from when you want to extract records by setting the Start date parameter and click Next.

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
Database Content Streams
  • 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
Choose which data streams you want to sync - you can select all streams or pick specific ones that matter most to you.
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.

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

The databases stream includes the following properties for each database:
PropertyDescription
idUnique identifier for the database
titleArray containing the database title information
objectAlways “database” for database objects
propertiesStringified JSON of the database schema/properties
created_timeWhen the database was created
created_byUser who created the database
last_edited_byUser who last edited the database
last_edited_timeWhen the database was last modified
coverDatabase cover image information
iconDatabase icon (emoji or image)
parentInformation about where the database is located
urlInternal Notion URL for the database
public_urlPublic URL if the database is shared
archivedWhether the database is archived
in_trashWhether the database is in trash
Each database content stream includes:
PropertyDescription
idUnique identifier for the page/row
objectAlways “page” for database entries
last_edited_timeWhen the page was last modified (used for incremental sync)
propertiesStringified JSON containing all the page properties based on the database schema
created_timeWhen the page was created
created_byUser who created the page
last_edited_byUser who last edited the page
coverPage cover image information
iconPage icon (emoji or image)
parentReference to the parent database
archivedWhether the page is archived
in_trashWhether the page is in trash
urlInternal Notion URL for the page
public_urlPublic URL if the page is shared
I