Blog

Airtable Form Prefill: URL Parameters & More

FE
Filla EditorialbeginnerMar 13, 2026

How to prefill Airtable forms with URL parameters

Prefilling a form means loading it with data already filled in. The user opens the link and some fields are populated before they type anything.

This matters more than it sounds. If you're sending a form to someone whose name, email, or project you already know, making them type it again is wasted effort. It slows people down. It introduces typos. It makes your workflow feel disconnected.

Airtable supports a basic version of this through URL parameters. But the implementation has real limits that affect what you can actually do with it.

Need reliable prefilling? Filla supports URL parameter prefilling for all field types, including linked records, single selects, and checkboxes. Start free →


What form prefilling actually does

When a user clicks a prefilled form link, certain fields already contain values. The user can review what's there, change it if needed, and submit.

Common scenarios:

  • Email campaigns. You send a feedback form to customers. Each link includes the customer's name and order number so they don't have to look it up.
  • CRM workflows. A sales rep sends a project intake form to a client. The company name and rep name are already filled in.
  • Internal tools. A manager shares a review form with a team member's name and department pre-populated.
  • Event registration. Attendees who already signed up for one session get a form with their contact info carried over.

The pattern is always the same: you know something about the person filling out the form, and you pass that context into the URL so the form reflects it.


How native Airtable form prefilling works

Airtable forms support prefilling through URL query parameters. You take the form's share URL and append field values to it.

The basic syntax

https://airtable.com/appXXXXXXXX/shrYYYYYYYY?prefill_FieldName=Value

The parameter name is prefill_ followed by the exact field name in your table. The value is URL-encoded.

A working example

Say your table has fields called "Name", "Email", and "Department". Your prefilled URL looks like this:

https://airtable.com/appXXXXXXXX/shrYYYYYYYY?prefill_Name=Jane+Doe&prefill_Email=jane%40company.com&prefill_Department=Engineering

When someone opens this link, those three fields are already filled in.

URL encoding rules

Special characters need encoding:

Character Encoded
Space + or %20
@ %40
& %26
# %23
/ %2F

If your field name contains spaces, encode them too: prefill_First+Name=Jane or prefill_First%20Name=Jane.


What Airtable prefilling can't do

This is where it gets frustrating. The native prefill feature has hard limits.

No linked record prefilling

If you have a linked record field (like "Client" linking to your Clients table), you cannot prefill it via URL parameters. The parameter is silently ignored. This is the biggest gap, because linked records are exactly the kind of field you'd want to prefill. You already know the client. You just can't pass it through.

No checkbox or attachment prefilling

Checkboxes, attachments, and some other field types don't respond to URL parameters at all. There's no documented workaround.

Single selects are fragile

You can prefill a single select field, but the value must exactly match one of the existing options. If the option text changes (someone edits "In Progress" to "In progress"), every prefilled link pointing to the old value breaks silently. The field just shows up empty.

No way to hide prefilled fields

Sometimes you want to pass context (like an internal tracking ID) without showing it to the user. Airtable has no concept of hidden prefilled fields. Everything you prefill is visible and editable.

No validation or fallback

If a prefill value is invalid (wrong format, doesn't match an option), the field appears empty. There's no error message. The user has no idea something was supposed to be there.


Building prefilled URLs for common use cases

From email campaigns (Mailchimp, Loops, Resend)

Most email platforms support merge tags. You insert the merge tag into your URL:

https://airtable.com/appXXX/shrYYY?prefill_Email={{email}}&prefill_Name={{first_name}}+{{last_name}}

The email platform replaces {{email}} and {{first_name}} with each recipient's data before sending.

Watch out for: Special characters in names. If someone's name includes an apostrophe or accent, the URL can break. URL-encode the merge tag output if your platform supports it.

From Airtable automations

You can build prefilled URLs inside Airtable automations using a formula field or a "Send email" action.

Create a formula field in your table:

"https://airtable.com/appXXX/shrYYY?prefill_Client=" & ENCODE_URL_COMPONENT({Name}) & "&prefill_Email=" & ENCODE_URL_COMPONENT({Email})

Then reference that formula field in your automation's email body. Each recipient gets a personalized link.

From CRM or project management tools

If you use Airtable as a CRM, you can generate prefilled links in views or automations. The challenge is linked records. If "Account Manager" is a linked record to a People table, you can't prefill it. You'd need to use a text field instead, or switch to a tool that supports linked record prefilling.


How Filla handles form prefilling

Filla supports URL parameter prefilling with the same prefill_ syntax, so existing links work without changes. But it goes further in a few important ways.

Linked record prefilling

Filla can prefill linked record fields. Pass the record name (or record ID) as a URL parameter, and the form loads with that record already selected in the dropdown. This is the feature most teams need and can't get natively.

Hidden prefilled fields

You can mark a prefilled field as hidden. The value passes through to the Airtable record on submission, but the user never sees it. This is useful for tracking IDs, source tags, UTM parameters, or any metadata you want attached to the record without cluttering the form.

All field types supported

Checkboxes, single selects, dates, linked records. Filla handles prefilling for every field type that Airtable supports, not just the subset that works with native URL parameters.

Prefill + conditional logic

Prefilled values can trigger conditional logic. If you prefill a "Department" field with "Engineering", and you have a condition that shows extra fields for engineering requests, those fields appear immediately when the form loads. The two features work together.


Step-by-step: setting up a prefilled form

Using native Airtable forms

  1. Open your Airtable base and navigate to your form view.
  2. Click Share form and copy the URL.
  3. Identify which fields you want to prefill. Note their exact names.
  4. Append ?prefill_FieldName=Value to the URL for each field. Separate multiple fields with &.
  5. URL-encode any special characters.
  6. Test the link in an incognito window to verify fields are populated.

Using Filla

  1. Create your form in Filla connected to your Airtable base.
  2. Copy the form's share URL from the form settings.
  3. Append prefill parameters using the same prefill_FieldName=Value syntax.
  4. For linked records, use the record name as the value.
  5. To hide a prefilled field, toggle "Hidden when prefilled" in the field settings.
  6. Test and share.

Tips for managing prefilled URLs at scale

Use a formula field as your URL builder. Don't hand-craft URLs for each recipient. Create a formula in Airtable that concatenates the base URL with encoded field values. This scales and stays correct when data changes.

Keep field names simple. Fields named "Client (Primary Contact)" create ugly, error-prone URLs. Rename them to something URL-friendly like "Client" or use Filla's field ID support instead of field names.

Test with edge cases. Try names with apostrophes, emails with plus signs, and empty values. These are the cases that break in production.

Track which links are prefilled. Add a hidden field like prefill_Source=email-campaign-march so you can filter submissions later and know which came from prefilled links vs. direct form access.


FAQ

Can I prefill an Airtable form from another Airtable record?

Yes. Use a formula field to build the prefilled URL dynamically. The formula concatenates your form URL with ENCODE_URL_COMPONENT() wrapped around each field value. Then use that formula field in an automation's "Send email" action or display it in an Interface button.

Do prefilled values count as "user input" for required fields?

In native Airtable forms, yes. A prefilled required field is considered filled. The user can submit without touching it. In Filla, the same behavior applies. If you prefill a required field, the requirement is satisfied unless the user clears the value.

Can the user change a prefilled value?

Yes, always. Prefilled fields are fully editable. If you need a value locked (not changeable), you'd need to hide the field entirely and pass it as metadata. Filla supports this with hidden prefilled fields. Native Airtable forms don't have a way to lock or hide prefilled values.

Is there a limit to how many fields I can prefill?

There's no official field limit, but URLs have a practical length limit of about 2,000 characters in most browsers. If you're prefilling many fields with long values, you can hit that ceiling. For most use cases (3 to 5 fields), this isn't a concern.


Create your first form →