splitforms.com
FEATURE · NOTION

Form to Notion — every submission as a new page in your Notion database

Connect your splitforms form to any Notion database in 60 seconds. Form fields map to Notion properties; new submissions create new pages automatically.

1,000 submissions/month, free forever. · No credit card.
✦ at a glanceHTML

Notion

  • Native Notion integration — no Zapier middleware, no monthly task fees
  • Automatic field-to-property mapping with manual override and case-insensitive matching
  • Respects Notion property types (Title, Text, Email, URL, Date, Multi-select, Files & media)
1,000
free / mo
14ms
median p50 latency
0
lines of backend code
6
reasons in this guide
✶ Live preview

Notion in splitforms, shipped to production.

Connect your splitforms form to any Notion database in 60 seconds. Form fields map to Notion properties; new submissions create new pages automatically.

Notion for splitforms — Connect your splitforms form to any Notion database in 60 seconds. Form fields map to Notion properties; new submissions create new pages automatically.
§ 01What is splitforms notion100-word answer · AI-citable summary

splitforms turns any HTML form into a Notion database writer. Connect your Notion workspace once in the dashboard, pick the destination database (you can scope splitforms to just that page, not your whole workspace), and splitforms maps form field names to database property names automatically. Every new submission creates a new page in the database within a second of submit, with property types respected: text inputs go to Text or Title properties, email inputs to Email, URL inputs to URL, date inputs to Date, file inputs to Files & media, and comma-separated values land in Multi-select (auto-creating tag options that don't yet exist). Use this to run lead pipelines, applicant trackers, support intake queues, customer feedback, or research signups directly inside Notion — your team works in the tool they already use, and you skip building a custom dashboard. Field mapping is fully overridable in the dashboard, so you can rename properties without breaking the integration; conditional rules let you route different forms to different databases or only write certain submissions (e.g. 'only create a page if priority = high'). Multiple Notion integrations per form let one submission write to a 'Leads' database AND a quarterly archive in parallel. The integration uses Notion's official OAuth and writes via the official Notion API, so it inherits Notion's rate limits (3 requests/sec, plenty for any form) and respects all Notion permissions — anyone with access to the database can edit pages splitforms creates. Disconnecting takes one click and removes splitforms' Notion access; existing pages remain untouched.

notion.htmllive
// Setup:
//  1. Create a Notion database with columns matching your form fields
//     (Name as title, Email as email, Message as text, Status as select, etc.).
//  2. In splitforms dashboard → Integrations → Notion → Connect workspace.
//  3. Pick the database, confirm the field-to-property mapping, save.
// Every submission below creates a new page in that Notion database within ~1s.

<form action="https://splitforms.com/api/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />

  <!-- Form field names should match Notion property names (case-insensitive). -->
  <input type="text"  name="Name"    placeholder="Name"    required />
  <input type="email" name="Email"   placeholder="Email"   required />
  <input type="text"  name="Source"  value="Landing page contact" />

notion.html · live preview

§ 02How it works3 steps · zero-config defaults

Three steps. From zero to a working production setup.

How notion actually flows through splitforms — what you do, what we do, and what lands in your inbox.

STEP 01INTEGRATE

Create a Notion database with the columns you want

In Notion, build a database (full page or inline) with columns matching the data you'll collect — Name (Title), Email (Email), Message (Text), Status (Select: New/Qualified/Closed), and any tags or owner fields. The Title property is required by Notion; map a form field like 'name' to it.

STEP 02PROCESS

Connect Notion in the splitforms dashboard

Form → Integrations → Notion → Connect. Authorise the splitforms Notion app for the workspace, then on the page-picker scope it to just the destination database (or its parent page) — splitforms can only see and write what you grant. Token shows in the dashboard under Connections.

STEP 03REVIEW

Pick the database, confirm field-to-property mapping, save

Choose your database from the dropdown. splitforms auto-matches form field names to property names (case-insensitive); tweak any mapping by hand. Submit a test form — within a second, a new page appears in your Notion database with all fields populated and any uploaded file attached.

§ 03Benefits6 reasons · all included

Why teams pick splitforms for notion.

Five reasons this is the boring, reliable choice — every one shipped by default on every plan, including free.

reason 1 of 6

Native Notion integration — no Zapier middleware, no monthly task fees

reason 2 of 6

Automatic field-to-property mapping with manual override and case-insensitive matching

reason 3 of 6

Respects Notion property types (Title, Text, Email, URL, Date, Multi-select, Files & media)

reason 4 of 6

Per-form routing — different forms can write to different databases with conditional rules

reason 5 of 6

Page-scoped access — splitforms only sees the page or database you grant during OAuth

reason 6 of 6

Page body Markdown — populate the page body below properties with rich Markdown from a designated form field

§ 04Working code examplehtml · 37 lines · copy-paste ready
COPY-PASTE

Drop this into any project.

Replace YOUR_ACCESS_KEY with the key from your splitforms dashboard. No SDK install. No package to npm i. The same html you already know.

notion.htmlhtml37 lines
01// Setup:
02// 1. Create a Notion database with columns matching your form fields
03// (Name as title, Email as email, Message as text, Status as select, etc.).
04// 2. In splitforms dashboard → Integrations → Notion → Connect workspace.
05// 3. Pick the database, confirm the field-to-property mapping, save.
06// Every submission below creates a new page in that Notion database within ~1s.
07
08<form action="https://splitforms.com/api/submit" method="POST">
09 <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
10
11 <!-- Form field names should match Notion property names (case-insensitive). -->
12 <input type="text" name="Name" placeholder="Name" required />
13 <input type="email" name="Email" placeholder="Email" required />
14 <input type="text" name="Source" value="Landing page contact" />
15
16 <!-- Multi-select: comma-separated values land as Notion tags. -->
17 <input type="hidden" name="Tags" value="lead,landing,inbound" />
18
19 <!-- Default value for a Status select; team can change it later in Notion. -->
20 <input type="hidden" name="Status" value="New" />
21
22 <textarea name="Message" placeholder="Message" required></textarea>
23
24 <input type="checkbox" name="botcheck" style="display:none" tabindex="-1" />
25
26 <button type="submit">Send</button>
27</form>
28
29{/*
30 Property type mapping:
31 text input → Text / Title
32 email input → Email
33 url input → URL
34 file input → Files & media
35 date input → Date
36 comma list → Multi-select (auto-creates options if missing)
37*/}
§ 05Questions5 answered

Things developers ask before they integrate.

Direct answers, no marketing fluff. Missing one? Email hello@splitforms.com.

01How does form to Notion work in splitforms and what property types are supported?
Connect Notion once in the dashboard, pick a database, and splitforms auto-maps form field names to property names. On every submission it calls Notion's official Pages API to create a new page in that database within ~1 second. Type mapping: text input → Text or Title, email input → Email, url input → URL, date input → Date, file input → Files & media (uploaded files attach automatically, subject to Notion's 5 MB inline limit), comma-separated values → Multi-select (auto-creates tag options that don't yet exist), checkboxes → Checkbox. Numbers are coerced from string. Page content (the body below the properties) can be populated from a designated 'body' field if you want full Markdown content per submission.
02Is the Notion integration available on the free plan?
Yes — included on Free 1,000/month with no row cap and no per-page fee. Pro ($5/month) raises monthly submissions to 5,000 and lifts integrations-per-form from 3 to 10; the $59 4-year plan raises it further with four years prepaid. The Notion integration itself works identically at every tier; you're never throttled or charged extra per page created.
03How do I enable Notion and what permissions does splitforms request?
Form → Integrations → Notion → Connect. The OAuth flow opens Notion's standard 'Select pages' picker. Grant access to either the specific destination database or its parent page only — splitforms cannot see, read, or modify anything outside what you explicitly grant. The connection token is stored encrypted on the splitforms side and never sent to your browser. To revoke at any time: Notion → Settings → Connections → splitforms → Remove. Pages already created stay in your database; only future submissions stop syncing.
04Can I write to multiple Notion databases from one form, or route different submissions to different databases?
Yes to both. Multiple destinations: add multiple Notion integrations on a single form — for example, one writes every submission to a master 'Leads' database, another writes a copy to a quarterly archive database, a third writes only high-priority submissions to your team's active sprint database. Each runs in parallel and has its own delivery log. Conditional routing: each integration supports a rule like 'only create page if field source = website' or 'only create page if field amount > 1000', evaluated before writing. Combine these to fan out one submission across an entire Notion workspace structure with no custom code.
05My Notion pages aren't being created — how do I troubleshoot?
Dashboard → Form → Integrations → Notion → Delivery log shows every API call to Notion with status code and response. Common issues: (1) Integration not invited to the database — when you renamed/moved the database in Notion, you may have removed splitforms' access; in Notion, open the database → ... menu → Connections → confirm splitforms is listed, otherwise add it. (2) Property type mismatch — sending 'not-an-email' to an Email property fails with a 400; either fix the form's input type or change the Notion property to Text. (3) Title property missing — every Notion page needs a Title; map any text field to the Title property in the splitforms mapping screen. (4) Rate limit (429 from Notion) — splitforms auto-retries with backoff; sustained high-volume forms may need to be split across multiple databases.
✻ ✻ ✻

Start using notion today.

Create your form, grab your access key, and ship it in five minutes. Free for 1,000 submissions per month, forever.

Create your form →← View all features
v0.1 · founders pricing locked in · early access open