Prefill Create Forms from a URL
Share a link that opens an Add New Item form and fills selected fields automatically — no custom JavaScript.
This guide walks through builder configuration with screenshots from a real Create Form (Submit Service Request), then shows how to share and test the published link.
What you get
After you map fields to URL parameter names and publish, a link like this:
https://your-app.notionapps.com/submit-service-request?name=Sample&impact=Major&priority=Highwill:
Open the Create Form whose screen name slugifies to
submit-service-requestPrefill Request summary with
Sample, Impact withMajor, and Priority withHigh
Users can still edit any unlocked field after the form loads.
Before you start
You need:
A Create Form (Add Item) screen in the builder
At least one supported field on that form (text, long text, number, toggle, single-select, date, multi-select/people, or relation)
Permission to Publish the app so end users see the mapping
Slug tip
The path segment comes from the screen’s navigation / screen name (for example, Submit Service Request → submit-service-request). Keep Create Form names unique. If two forms would share the same slug, use ?form=<screenId> instead (see Disambiguate with form=).
Step 1 — Open the Create Form in the builder
Open your application in the NotionApps builder.
Select the Create Form screen you want to share (for example, Submit Service Request).
Confirm the right panel shows Form (Add Item) / Create Form behaviour settings.


Step 2 — Map a field to a URL parameter
For each field you want to fill from the link:
In the Logic list (right panel), select the field (or click it in the preview).
Turn Default Value On.
Set Default value source to From URL parameter.
Enter the URL parameter name (for example,
namefor?name=Sample).Optionally leave a Static value as a fallback when that query param is missing.
Optionally turn on Disable Changes if the prefilled value should be locked.
Naming recommendation
Use short, lowercase names without spaces: name, impact, priority, source. These become the keys in your shareable URL.
Example mappings for this form
Request summary
Text
name
name=Sample
Impact
Dropdown
impact
impact=Major
Priority
Dropdown
priority
priority=High
Select the field in the preview or Logic list:

Map additional dropdown fields the same way:


How values are interpreted
Text / Long text
Any string
Used as-is
Number
A finite number (for example 42, 3.5)
Field keeps static fallback or stays blank
Toggle
true / 1 / yes / on (and false equivalents) — case-insensitive
Field keeps static fallback or stays blank
Single-select
Option label (case-insensitive), or option index
Field keeps static fallback or stays blank
Date
YYYY-MM-DD, or ISO / YYYY-MM-DDTHH:mm (time used when the field shows time)
Field keeps static fallback or stays blank
Multi-select / People
Comma-separated option labels or values (emails for People)
Unmatched tokens skipped
Relation (Page Selector)
Comma-separated related record ids
Invalid ids skipped
Step 3 — Copy the form link from Behaviour
With the Create Form screen selected (not a single field):
Scroll the right panel to the Behaviour section.
Click Copy form link.
Paste the link somewhere temporary (notes, browser address bar).
The copied link uses your published app origin, the screen-name slug, and empty placeholders for every mapped parameter — ready for you to fill in.

Example shape after copying (parameters empty until you fill them):
Fill in values:
Publish required Mappings are saved with the app. End users only see them after you Publish. Builder preview alone is not enough for shareable Path B links.
Step 4 — Publish and test in the live app
Click Publish in the builder top bar.
Open the filled link in a private/incognito window (or a different browser).
Sign in if the app is private.
Confirm the Create Form opens with the expected fields filled.

In this example:
Request summary → Sample
Impact → Major
Priority → High
Other fields stay empty (or use their static defaults) because they were not in the URL
URL reference
Path (open the form)
Screen-name slug
/submit-service-request?...
Default; friendly shareable links
Explicit form id
/?form=<screenId>&... or /anything?form=<screenId>&...
Two Create Forms would collide on the same slug
Query parameters (prefill)
Only parameters you mapped in the builder are applied. These reserved keys are never used as field values:
formscreenIdrecordIdtitle,showTitle,selectionModeLive-demo auth keys (
live_demo_email,live_demo_code)Other navigation keys (
primary,referenceAutoLinkInfo)
Disambiguate with form=
If slug matching is ambiguous or you prefer IDs:
You can also pass the slug in form when it uniquely matches:
End-to-end example (makers)
Goal: Email a vendor a link that opens “Submit Service Request” with summary and impact already set.
Open the Submit Service Request Create Form.
Map Request summary → URL parameter
name.Map Impact → URL parameter
impact.Click Copy form link, then fill values:
Publish.
Send the link. Recipients land on the Add form with those fields filled; they complete the rest and submit.
Checklist
Troubleshooting
Link opens the app but not the form
Slug does not match any Create Form, or collision
Check screen name slug; use ?form=<screenId>
Form opens but fields are empty
Mapping not published, wrong param names, or reserved key used
Re-check param names; publish again; avoid reserved keys
Select stays blank
Label in URL does not match an option
Use the exact option label (case-insensitive) or a valid index
Private app shows login first
Expected
User signs in, then the same URL should open and prefill
Update Form / list not affected
Out of scope for this release
Use Create Form only
Related notes for makers
Prefill counts like a normal user input for visibility / personalization rules that depend on user input.
Works on desktop and mobile published apps.
No custom code is required; do not paste query parsing into Custom JavaScript for this use case.
Related
Annotated builder screenshots



Complete Builder Options Reference
These options live on Form (Add Item). Full screen inventory: Form (Add Item).
URL Prefill mapping (field Behaviour / field inspector)
Prefill from URL / Parameter name
What it does: Maps a query parameter to this field when the Create Form opens via link.
How to use it: Open the field → set a short parameter name (for example priority). Publish, then share ?priority=High.
Why / recommended default: Use stable lowercase names. Prefer ?form=<screenId> when two forms share a slug.
Supported field types
What it does: Limits which fields accept URL values (text, long text, number, toggle, single-select, date, multi-select/people, relation). How to use it: Only map supported types; unsupported fields ignore the param. Why / recommended default: Keep mappings to fields users are allowed to edit.
Related Create Form options
Public access
What it does: Lets guests open the form without signing in. How to use it: Enable when the prefilled link is for public intake. Why / recommended default: Off unless guests must submit.
Success Message / Actions
What it does: Controls post-submit UX. How to use it: Keep success copy short; add redirect Actions only when the next screen is intentional. Why / recommended default: Simple success message; avoid surprising redirects on public forms.
Last updated