Guide · WordPress → Notion
WordPress form to Notion without Zapier
Most WordPress form plugins email you or keep entries in wp-admin. If your team actually works leads and requests in Notion, you want each submission to land as a database row. Zapier works, but it is a monthly bill whose only job is moving a row. Here are the four routes that skip it, including when you should not use ours. No fake metrics or testimonials.
Your four options
| Route | How it works | Cost | Catch |
|---|---|---|---|
| WPForms + official Notion addon | Install the Notion addon, authorize your workspace, then in the form builder go to Settings → Notion and map each field to a database property. | The addon needs a WPForms Plus license or higher (paid, renewed yearly). | Create the database and its properties first; only pages you grant access to show up in the dropdown. |
| Contact Form 7 + “Add-On for Contact Form 7 to Notion” | Paste a Notion internal integration token under Contact → Integration → Notion, share the database with the integration, map fields in the form's Notion tab. | Free plugin on wordpress.org. | Check the plugin's “tested up to” versions against your Contact Form 7 and WordPress before relying on it. |
| Uncanny Automator recipe | Trigger on your form plugin's submission, action “Create a database item” in Notion, map fields into the properties JSON. | Depends on your Automator plan; check their pricing for the Notion action. | One more plugin and recipe to maintain for a single row. |
| Embed a form that writes to Notion directly | Build the form in FormToNotion and paste one iframe into a Custom HTML block. | Free inbox; live Notion sync is a one-time Pro $20 or Business $49. | The form is hosted on vgt.cc inside an iframe, not a native WordPress form, and it does not import past entries. |
Sources: WPForms Notion addon docs, Contact Form 7 Notion add-on, Uncanny Automator Notion integration. Plans and versions change, so check each page before buying.
Setting up the embed route
- In Notion, create a database with the columns you want, for example
Name,Email,Message. - Sign up and build the form, naming each field exactly like its Notion property.
- In Dashboard → Connect Notion, paste your Notion internal integration secret and database id, then share the database with the integration (••• → Add connections). Live sync to your own Notion is a Pro or Business feature.
- In the WordPress block editor add a Custom HTML block on your contact page and paste:
<iframe src="https://www.vgt.cc/f/your-slug" title="Contact form" style="width:100%;min-height:640px;border:0" loading="lazy"></iframe> - Submit once yourself and check the new row in Notion.
Stay with a WordPress plugin when…
- You already pay for WPForms Plus or higher: the Notion addon is the shortest path.
- You need entries stored in wp-admin, payments, or conditional logic.
- The form must match your theme exactly with no iframe.
Use an embedded Notion form when…
- You don't want a yearly form-plugin license just for Notion.
- You'd rather not keep another plugin updated on the site.
- The same form also needs to live on Carrd, Webflow or a plain link.
Honest limits
- FormToNotion does not read or import existing WordPress form entries.
- No payments, file uploads or conditional logic.
- Field labels must match Notion property names for a row to map correctly.
- The free plan stores submissions in the FormToNotion inbox but does not sync to Notion.
See it work first
The demo form writes to our own Notion database, so you can check the round trip before paying. 14-day refund window on paid plans.
Last updated: October 8, 2026 · Questions? maskid@live.cn