Guide · Ninja Forms → Notion
Ninja Forms to Notion without Zapier
There is no official native Ninja Forms Notion add-on. The documented path uses the Ninja Forms Zapier add-on (Emails & Actions → Zapier → Notion Create Database Item). Teams that want to avoid Zapier task billing usually reach for the Webhooks add-on into Make/Pabbly/n8n, or a DIY Notion API receiver. If Notion is the only system of record and you do not need Ninja Forms–specific features, a direct Notion form can skip Ninja Forms entirely. Here are four routes. No fake metrics or testimonials.
Your four options
| Route | How it works | Cost | Catch |
|---|---|---|---|
| Ninja Forms Zapier add-on → Notion | Install the paid Ninja Forms Zapier add-on. In Emails & Actions add a Zapier action, paste the Zapier webhook URL, then in Zapier use Notion “Create Database Item” and map fields. This is the path Ninja Forms documents in their own blog for Notion. | Paid Ninja Forms Zapier extension + Zapier task billing once free tasks are gone. | Two paid layers for a single destination. Still the officially documented Ninja Forms → Notion method. Past entries are not bulk-imported by mapping alone. |
| Ninja Forms Webhooks add-on → Make / Pabbly / n8n → Notion | Use the Ninja Forms Webhooks add-on to POST each submission to Make, Pabbly, n8n, or similar, then Notion “Create database item”. Map fields in the automation builder. | Webhooks add-on (paid Ninja Forms extension on most plans) + automation-plan task quota. Often cheaper than Zapier at low volume. | Two systems to maintain. Prefer this when the same entry also fans out to Slack, CRM, or email sequences. No first-party Notion module in Ninja Forms. |
| Raw webhook / DIY Notion API | Point a Ninja Forms webhook (or custom code on nf_save_sub) at your own endpoint that calls Notion’s create-page API with a mapped property payload. | Developer time + hosting for the receiver. Notion API itself has no per-row fee for typical volumes. | You own auth, retries, field-type mapping, and rate limits. Fine for engineers; brittle for non-technical site owners. Not a supported Ninja Forms product path. |
| Embed a form that writes to Notion directly | Build the form in FormToNotion and paste one iframe (Custom HTML block) on your WordPress page when Notion — not Ninja multi-step, payments, or deep conditional UX — is the only intake destination you need. | Free inbox; live Notion sync is a one-time Pro $20 or Business $49. | This does not replace Ninja Forms multi-step, payment fields, or conditional logic depth. It does not import past Ninja Forms entries. |
Sources: Ninja Forms blog (Zapier → Notion), Ninja Forms Zapier add-on, Ninja Forms Webhooks add-on, Notion create page API. Plans and API access change — verify on each vendor 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 WordPress, drop a Custom HTML block (or theme HTML widget) 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> - Publish the page, submit once yourself, and check the new row in Notion.
Stay with Ninja Forms when…
- You already rely on Ninja multi-step, payment, or conditional logic on the public form.
- You already pay for the Zapier or Webhooks add-on and Notion is one of several destinations.
- Respondents must stay inside a native Ninja Forms widget already styled in the theme.
Use an embedded Notion form when…
- Notion is the only destination and you do not want Zapier + Ninja add-on double billing.
- You want Notion rows without a monthly automation bill for a single contact form.
- The same form also needs a public link or iframe outside WordPress.
Honest limits
- FormToNotion does not read or import existing Ninja Forms submissions.
- No Ninja Forms multi-step, payment field, or conditional-logic parity.
- No conditional logic beyond basic field types.
- 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 25, 2026 · Questions? maskid@live.cn