Can I prefill a Notion form with URL parameters?

Notion form prefill isn't built in: native forms ignore URL parameters. Use an automation after submission or a form tool with hidden fields.

Nookesh KarriNovember 5, 20266 min read
Light cover card with the title 'Can I prefill a Notion form with URL parameters?' in dark text and a blue accent bar

No, you can’t prefill a native Notion form with URL parameters. Notion form prefill isn’t a built-in option: the form ignores anything you add after the link, and there are no hidden fields. To pass values in the link, you need a form front-end that supports URL parameters and writes each response to your Notion database.

Does Notion form prefill work natively?

Notion form prefill does not work natively, because Notion’s form builder has no setting that reads values from the link. Notion’s forms help walks through questions, required answers, question types, conditional logic, sharing and automations. It never describes a URL prefill, a default answer or a hidden field.

Each question maps to a property in the database behind the form, and the respondent always starts blank. Add ?email=ana@example.com to the form link and Notion opens the same empty form.

In an r/Notion thread from March 2025, a commenter said Notion doesn’t support pre-filled forms, and other replies pointed to third-party form tools. For the full list of gaps, see the limitations of Notion forms.

How URL parameters prefill a form

A URL parameter prefill works by adding ?name=value pairs to the end of a form link, which the form reads when it loads. A second value joins with &, so a link like .../form?email=ana@example.com&source=newsletter carries two answers.

The form tool then does one of two things with each value:

  • Visible prefill: it puts the value into a question as the starting answer. The respondent sees it and can change it.
  • Hidden field: it stores the value without showing a question. Good for tracking where a response came from, like a campaign or a referrer.

Visible prefill suits emails to known contacts, with name and email already in place. Hidden fields suit tagging which post or ad sent each person.

A prefill value must be URL-encoded, or characters like &, ? and = will split or corrupt it. Skip it and a prefilled link “loses” half a name.

Take a company called Jack & Jill. If you write ?company=Jack & Jill, the form reads the & as the start of a new parameter. MDN’s encodeURIComponent() page uses this exact example: without encoding, the ampersand “could be interpreted on the server as the start of a new field.”

  1. Open your browser’s developer console.
  2. Run encodeURIComponent("Jack & Jill").
  3. You get Jack%20%26%20Jill.
  4. Use ?company=Jack%20%26%20Jill in the link.

The same function turns test? into test%3F, so a question mark inside a value is safe too. MDN also notes that form-style encoding writes spaces as + instead of %20. Most form tools accept either. Test yours.

Native Notion workarounds

Native Notion workarounds can’t fill the form, but they can still get the value into your database. Pick the one that matches what you wanted the prefill for.

  • One form link per source. Duplicate the form view for each campaign and add a fixed property value afterward. Past a handful of sources it gets clumsy.
  • An automation after submission. Notion lets you build automations into your form that run when a new response arrives or a question is answered a certain way. It can set a property, notify Slack or send the respondent a status update, which is the after-the-fact fill the r/Notion thread suggested.
  • Just ask. If all you need is the email, a required email question costs the respondent a few seconds.

For per-person values, like a client ID in each emailed link, you need a different form front-end.

Using a form tool that prefills into Notion

A form tool with URL parameters lets you keep Notion as the database while the form reads the link. As of November 2026, here’s how two of them describe it in their own help pages.

Tally says pre-populating form fields is free for all users. You add a hidden field, turn on Default answer for a question, pick the hidden field, and add the address after ?email= at the end of the link. Hidden fields are case-sensitive, so Email and email don’t match. Dates must use YYYY-MM-DD and times HH:MM. File upload and payment blocks can’t be prefilled.

NoteForms limits URL pre-fill to its paid subscribers. In the form editor, fill only the fields you want prefilled and click Generate Pre-filled URL to get the link.

nDBForms writes each response to your Notion database and gives every form a share link and an embed code. Its published feature list doesn’t include URL prefill or hidden fields, so I won’t claim it does. If prefill is the deciding feature for you, check the comparison page and test before you commit.

Which option should you pick?

The right option depends on whether each value is per person or per channel, and whether the respondent should see it.

What you need Native Notion Form tool with URL parameters
Tag responses by campaign Separate form per campaign, or an automation One form, ?source= in each link
Fill name and email for known contacts Not possible Visible prefill from the link
Pass an internal ID silently Not possible Hidden field
Keep everything inside Notion Yes No, the form runs elsewhere

My take: for two or three channels, stay native and use separate links. Once you’re mailing personal links to dozens of clients, switch to a form tool. The saved typing alone justifies it.

What prefill can’t do

A prefilled or hidden value is never a trusted value, because it travels in the link. Anyone with the link can read it, edit it and resubmit. Don’t use it for prices, discounts, approvals or user IDs that grant access.

Prefilled values also land in your database exactly as sent. A typo in a select option won’t match your existing options, so check your form field mapping before you send a batch of links. An email notification on the first responses shows whether the values came through. If you share the form outside your workspace, set the access right first: see how to share a Notion form publicly.

FAQ

Does Notion support prefilled form fields?

Not natively. Notion’s forms help covers questions, sharing, conditional logic and automations, but it doesn’t describe any URL prefill, default answer or hidden field option.

How do I pass a value like a campaign name into a Notion form?

With native Notion, share a separate form link per campaign or set the value with a database automation after the response arrives. To pass it in the link itself, you need a form tool with hidden fields that writes to your Notion database.

The & character starts a new parameter in a URL. Encode the value first, so Jack & Jill becomes Jack%20%26%20Jill, and the whole value reaches the form.

Are hidden field values safe from the respondent?

No. A hidden field is only hidden on screen. Anyone can read or change the value in the link before opening the form, so never use it for anything that needs to be trusted.

Sources