1. Add your Notion access
Before configuring the destination, create the integration Notion uses to authenticate:- Go to notion.so/profile/integrations and click New integration. Give it a name (e.g. “Nekt”), select the workspace, and make sure it has the Insert content and Update content capabilities.
-
Copy the Internal Integration Token (it starts with
ntn_). -
Open the Notion database that will receive the data, click the
...menu at the top right, choose Connections and add your integration. Without this step Notion cannot see the database and every request fails with “Could not find database”. - Copy the database URL from your browser — you can paste the whole URL into Nekt.
- In the Destinations tab, click on the “Add destination” 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:
- Integration Token: The internal integration token you copied above.
- Database ID or URL: The Notion database that receives the records. Paste the database ID or the full database URL — the ID is extracted automatically.
- Match property: Optional. The Notion property used to find an existing page to update (e.g.
Emailor an “External ID” property). Leave it empty to always create new pages. - Create when no match: When a match property is set and no page matches, create a new page. Turn it off to only update pages that already exist.
- Replace content on update: When updating a page and the mapping writes to
page_content, replace the page body. Off by default, so updates never delete content. - Requests per second: Maximum request pace. Notion allows an average of 3 requests per second per integration.
- Dry run: Validation mode — performs the lookups and logs what would be created or updated, without writing anything to Notion.
- Enable partial success: Whether the connector should continue trying to sync records after one fails.
- Click Next.
2. Select your data to send
-
The next step is letting us know which data you want to send. Select the layer and then the desired table.
Tip: The table can be found more easily by typing its name.
- Click Next.
3. Map your data fields
Configure how the columns from your source table should be mapped to the Notion database properties. Use the property name exactly as it appears in Notion (matching is case-insensitive). The connector reads the database schema from Notion, so each value is automatically converted to the format the property type expects — you never need to write Notion’s typed JSON.Notion property types
Notion property types
Below is what each Notion property type accepts as input. See the Notion page property values reference for the full specification.
Reserved mapping names
Reserved mapping names
Two destination names address the page itself instead of a database property:
Creating vs. updating pages
- With no Match property and no
page_idmapped, every record creates a new page. - When
page_idis mapped, the record updates that specific page. - When a Match property is set, the connector looks the page up by that property: a match is updated, and a record with no match creates a new page (or is skipped when “Create when no match” is off). The match property must also be present in the mapping, so the connector knows which value to look up.
Transforms
Each mapping rule can apply ordered value transforms before sending:uppercase, lowercase, trim, round_int, to_string, yesno_to_bool, null_if:<x> (drop a placeholder such as a dash) and only_if:<x> (keep the value only when it equals a given value).
4. Configure your Notion data destination
- Describe your destination for easy identification within your organization. You can inform things like what data it brings, to which team it belongs, etc.
- To define your Trigger, consider how frequently you need to have the data updated on the destination (every day, once a week, only at specific times, etc.).
- Click Done.
Check your new destination!
- Once completed, you’ll receive confirmation that your new destination is set up!
- You can view your new destination on the Destinations page. Now, for you to be able to see it on Notion, you have to wait for the pipeline to run. You can monitor it on the Destinations page to see its execution and completion. If needed, manually trigger the pipeline by clicking on the refresh icon. Once executed, your data should be seen on Notion.
If you encounter any issues, reach out to us via Slack, and we’ll gladly assist you!