Prefill form fields with URL parameters

Open a form with fields already filled in by adding values to the link. Useful for pre-filled requests, quick demos, and quietly passing tracking data along with a submission.

Prefill form fields with URL parameters

How it works

Add one or more data. parameters to the end of a form's link. Each one fills a single field with the value you provide:

https://app.droplet.io/form/<formId>?data.<fieldId>=<value>

Chain several together with & to prefill multiple fields at once:

https://app.droplet.io/form/yGwOVy?data.submittedByName=Jane%20Doe&data.department=Finance

When someone opens that link, the form loads with those fields already populated. They can still edit any field that is visible and editable before submitting.

Prefilling a field that drives Show/Hide rules or a computed value makes the form reshape on load. It is the fastest way to demo a specific path, or to hand someone a request that is already most of the way filled out.

Find a field's ID

Each data. parameter targets a field by its ID, not its label. To find a field's ID, open the form in the Form Builder, select the component, and look under Details in the Properties panel. Use that exact ID in the link.

Every form has built-in submittedByName and submittedByEmail fields, so links like ?data.submittedByName=Jane work on any form.

Format the values

URL-encode the value
Spaces become %20, and other special characters need encoding too: &%26, /%2F, @%40, ,%2C, (%28, )%29. Most spreadsheet and scripting tools have an "encode URL" function that does this for you.
Match choices exactly
For a Dropdown or Single Choice field, the decoded value must match one of its options exactly. For example, data.paysheetType=Time%20%26%20Attendance sets the option "Time & Attendance."
Dates use YYYY-MM-DD
A Date/Time field takes an ISO date, like data.startDate=2026-09-01.

Pass hidden data with a submission

Here is the useful trick: prefill a field through the link, then hide that field on the form. The submitter never sees it, but the value is still saved with their submission. It is a clean way to tag where a submission came from (a campaign name, a referral source, a routing code, or an internal reference) without cluttering the form.

1
Add a field for the value

Add an Input (or other field) for the data you want to capture, and note its ID.

2
Hide it

Set the field's Visibility to Hidden, or add a Show/Hide rule that keeps it hidden. Leave the field's "clear when hidden" option off, otherwise the prefilled value is wiped when the field hides.

3
Share the link with the value baked in

Distribute a link like ?data.source=spring-newsletter. Each submission from that link records "spring-newsletter" in the hidden field.

This data is "hidden," not secret. The value is part of the link, so anyone who has the URL can read it, and a determined submitter could inspect the page. Use it for routing and source tracking, never for passwords, tokens, or anything that would be sensitive if seen.

Prefill a draft while testing

To prefill an unpublished draft while you are building, add preview=true and the draft's version before the data. parameters:

https://app.droplet.io/form/<formId>?preview=true&version=draft-<timestamp>&data.<fieldId>=<value>

Things to know

  • Tables aren't prefillable. Table rows and columns are list fields and don't reliably accept simple data. parameters, so leave those for live entry.
  • Sign-in can override the submitter fields. If a form requires sign-in or submits as the signed-in account, the logged-in person's name and email replace any prefilled submittedByName / submittedByEmail.
  • Links change when the form is re-saved. A draft's version (and sometimes the form ID) updates when you save or re-import, so refresh your test links after changes.
Looking for other ways to get a form to people? See Share a form link and Use the Forms page.
Last reviewed by Nick Duell and published on June 22, 2026 10PM ET