User Guide
Notion WP Sync is a ONE-WAY SYNC – From Notion to WordPress ONLY!
Changes made in WordPress will NOT sync back to Notion, so be sure to manage your data from Notion to keep everything updated correctly.
Installation & Settings
To install our Notion WP Sync plugin in WordPress, follow the steps below:
- Download the plugin file to your computer
- Log in to your WordPress dashboard
- On the left-hand side menu, click on Plugins and then Add New
- Click the Upload Plugin button at the top of the page
- Click the Choose File button and select the plugin file you downloaded in step 1
- Click the Install Now button
- Wait for the plugin to be installed, and then click the Activate button
After installing and activating the plugin in WordPress, it will appear in the admin menu and provide access to the connection and configuration settings.
Before creating a connection, you are prompted to enter your license key to validate the installation of the plugin. To activate this license key, go to Notion WP Sync > Settings.
This license key is available both in your purchase confirmation email, as well as on wpconnect.co > My Account > My Downloadable Products > License Keys > View Licenses.
You will then be redirected to the purchase page of your product. Click on the key icon to see the license number and copy-paste it into your Notion WP Sync License Key field.
Once the license key is copied into the Notion WP Sync settings, be sure to click the Activate button. If your license key is valid, a green checkmark will appear and you just need to save the settings by clicking the Update settings button.
You can then begin creating your connections.
Create a Connection
To create a new connection to your Notion account, go to Notion WP Sync > All connections, click the Add New Connection button and enter a name for your connection.
You will be asked for an Internal integration token to connect your account. We recommend that you retrieve this token using this link.
Follow these steps:
- In your Notion account, go to the integrations page: Notion account > Connections > Develop or manage integrations
- Click the New integration button and enter a name for your integration. Select the workspace in the Associated workspace field, select "Internal" for the Type, and click Save
- Click on Configure integration settings: an Internal Integration Secret is already created
- Select the Content capabilities "Read content" and User capabilities "Read user information including email addresses", then click Save
- Click Show then Copy the Internal Integration secret and paste it into the Internal integration token field of your plugin
Once your Internal integration token has been entered, you have to share your Notion pages or databases with your integration to see them in the plugin's select fields.
To do this, select the more options button at the top right of your Notion page or database, hover Add connection and select the connection you just created.
Import Settings
Notion Content
You can import your Pages and Databases from Notion to WordPress.
Notion Pages are essentially digital documents that can contain a wide range of information, from text and images to embedded files, databases, and more.
Notion Databases are one of the most powerful features of Notion — essentially tables with customizable columns where users can input and manipulate data in a variety of ways.
Destination
You can import your content in several ways: Post type or Shortcode.
Post Type
- Post: content published on a blog or website, managed in the Posts section of the WordPress dashboard.
- Page: static content usually part of a navigation menu, managed in the Pages section.
- Custom Post Type (CPT): a custom content type that extends WordPress capabilities with specialized content types like events, products, portfolios, etc.
Creating Custom Post Types
📌 Our Notion WP Sync plugin offers the ability to create your Custom Post Types on-the-fly specifically for your imported content. For CPTs created from the plugin, you can map the following fields: "Title", "Content", "Slug", "Custom Field".
If you decide to change the configuration and no longer use the Custom Post Type created through Notion WP Sync, this CPT will no longer exist in WordPress and the imported content will also no longer be available.
Shortcode
You can import your Notion content as a shortcode.
Creating shortcode content will create a "Notion Content" Custom Post Type, which can be used by developers and displayed using the dedicated Notion Content block in the Gutenberg editor.
Post Status
Imported content from Notion can have different statuses:
- PUBLISHED — publicly visible on your website
- DRAFT — saved as work in progress, not visible to the public
- SCHEDULED — set to be published at a future date and time
- PENDING — waiting for review or approval
- PRIVATE — only visible to logged-in users with appropriate permissions
If you wish to use a Notion database property to define the post status, use the WordPress values for this property. See How to setup the Sync Status in Notion WP Sync? for details.
Post Author
You can assign an author to each imported item. You can also map a Notion "Author (email)" field to the "Author" field in WordPress for per-item author assignment.
Users must already exist in WordPress with the same email address as their Notion account. This feature does not create new WordPress users. If no match is found, the post is assigned to the default author defined in the Import As section.
Color for Default Text in Notion
You can define a custom color for text using the "Default text" format in Notion. In the Import As section, a color selector becomes available when you map the "Page content" Notion field.
The color you define will only apply to texts formatted as "Default text" in Notion — not to texts formatted with another color (e.g. purple or red), which will retain their original color in WordPress.
Mapping Settings
Click the Add field button to link your Notion fields with WordPress fields. Two drop-down lists are available: one contains your Notion fields, the other contains the WordPress fields to map them to.
- Post / Page: Title, Featured Image, Content, Excerpt, Slug, Tag, Category, Custom Field
- Existing CPT: Title, Content, Slug, Taxonomies, Custom Field
If you modify the configuration and remove a Custom Field that was created from Notion WP Sync, it will be removed from all previously imported content.
Sync Settings
Strategy
- ADD — only adds new content, does not affect existing content
- ADD / UPDATE — adds new content and updates existing content if edited in Notion
- ADD / UPDATE / DELETE — adds, updates, and removes content deleted in Notion
Trigger
- MANUAL — import data by clicking the Sync now button
- RECURRING — schedule imports at regular intervals (30 min, hourly, daily, twice daily, weekly)
- INSTANT — import data as soon as it is added or updated in Notion
Publishing
Once all parameters are configured, click Publish or Update to save your connection. If you chose manual synchronization, click Sync now to import your content.
Supported Fields & Content Blocks
Supported database properties:
- Checkbox, Date, Email, Files & Media, Multi Select, Number, People, Phone number, Rich text, Select, Status, Title, URL, Formula
Supported content blocks:
- Paragraph, Heading (1, 2, 3), Bullet list / Ordered list, Quote, Table (header column not supported), Toggle (up to 2 levels), Separator, Callout, Image, Video (Spotify & Loom too), Files, Columns
Not Supported
- Task lists, Web link previews, Audios, Board / Chart / Gallery / List / Calendar / Timeline views, Synced database, Bookmarks, Table of contents, Math Formula, Button, Breadcrumbs, Synced block, Embeds, Mention, Child page links, Date reminders, AI block, Checkboxes
Internal links won't be converted to WordPress page links. Only Table view is supported.
Restrictions
- Toggles are supported up to 2 nesting levels
- Callouts cannot be nested inside another callout
Troubleshooting
Make sure you have created your Notion databases and fields before adding a connection. If you don't see them, wait 1 minute — elements are cached for performance reasons.
Logs are accessible via FTP at: /wp-content/uploads/notionwpsync-logs
Notion API: 403 error — In your Notion integration settings, ensure "Read user information including email addresses" is checked under User Capabilities.
Server Timeout — For large imports, increase execution time, allowed memory size and file size with your hosting provider.
Basic Authentication — If your site is protected by Basic Auth, WP-Cron calls are blocked, making recurring and instant synchronization impossible.
Cache issues with WP-Cron — WP-Cron needs page loading to trigger. If you use a cache system (WP Rocket, WP Super Cache), use a server cron instead.