Update Existing Airtable Records with Airtable Forms (No Paid Tools Needed)

If you’ve ever tried using Airtable forms to update existing records, you’ve probably realized it’s not something Airtable supports out of the box. Forms in Airtable are designed to create new records, not edit old ones.

That’s totally fine when you’re collecting fresh data. But what if something changes and you need to update an existing record?

Let’s say a client books a call using your form. After the call, they fill out a feedback form. You’d expect their feedback to be added to the original booking, right? But instead, Airtable just creates a new record. Now you’ve got two disconnected entries for the same event.

Or maybe you're tracking projects. Your team submits a form with project details like client name, location, type, and more. A few weeks later, something changes, so they resubmit the form. Instead of updating the existing project record, Airtable creates a brand new one. Now you’re left with duplicates, outdated information, and a growing mess.

Luckily, there’s a way to do this.

You can build this kind of update functionality yourself directly inside Airtable with no paid tools required, just a little manual setup. (Though if you want a more polished solution with less effort, tools like Fillout offer a generous free plan and make this a breeze.)

But if you're on a tight budget or just like building things yourself, here’s how to do it.

Step 1: Set Up Your Base Table

Let’s say you have a basic table called Contacts with two fields: Name and Email.

You want to be able to click a button, open a form, update the email address (maybe it’s changed from .com to .io), submit it, and see that change reflected instantly in the original record.

To do this, the first thing you need in your base table is a Record ID.

This is a unique identifier Airtable automatically assigns to every record. We’ll use it to know which record to update.

Create a new formula field and name it something like Record ID. Use the formula RECORD_ID()

Set Up Your Base Table

Step 2: Create an “Updates” Table

Next, create a second table and call it Updates.

This table is where new form submissions will go. Think of it as a temporary inbox where updates are collected before being pushed back into the original records.

At a minimum, make sure this table mirrors the fields you want to update. So if your main table has Name and Email, your Updates table should have those too. You will also need a field to hold the Parent Record ID, which is the link back to the original record.

In the Updates table, make sure the record ID field is a text field, not a formula. We'll be passing that ID into the form manually, so it doesn't need to generate automatically.

Create an “Updates” Table

Step 3: Build the Form

Now, create a form for your Updates table.

Include all the necessary fields, such as the parent record ID and any fields you want to allow clients to update like Name and Email.

Build the Form

Step 4: Grab the Form URL

Once your form is set up, copy its URL.

Back in your Contacts table, create a new formula field called something like Form URL, and just paste the form link into the formula, in quotes "https://airtable.com/your-form-link"

This way, if the form ever changes, you only have one place to update it.

Grab the Form URL

Step 5: Create a Pre-filled Form Link

Now, we want to make the form smart, so that when someone clicks it, it’s already filled out with their info.

Create another formula field and call it Prefilled Form. Here’s where the magic happens.

You’ll build a URL using the form link and append parameters like this:

{Form URL} &

"?prefill_Parent%20Record%20ID=" & {Record ID} &

"&prefill_Name=" & ENCODE_URL_COMPONENT(Name) &

"&prefill_Email=" & ENCODE_URL_COMPONENT(Email)

A few things to keep in mind:

First, make sure the prefill field names match exactly with the field names in the Updates table, not the Contacts table.

Use ENCODE_URL_COMPONENT() to safely pass values into the URL.

You can also customize which fields are shown or filled based on the type of change you're supporting.

That way, when someone clicks the link, the form is already pre-filled with their current info and ready to be updated.

Create a Pre-filled Form Link

Step 6: Automate the Update

Now let’s make sure that when someone submits the form, the change actually updates the original record.

In Airtable, head over to Automations and set up a new one like this:

Trigger:
When a new record is created in the Updates table.

Action:
Update a record in the Contacts table.
Use the Parent Record ID to find the correct record, and update it with the new values from the form.

Automate the Update

Step 7: Make It User-Friendly

Now let’s go the extra mile and add a button to make the update link even more accessible.

Create a button field in your Contacts table and configure it to open a URL. Use the Prefilled Form formula as the URL source.

This way, users can just click "Update" and go straight to a form that already has everything filled out, they just change what they need and submit.

Make It User-Friendly

Step 8: Share the Interface

Finally, create a read-only Interface of your Contacts table and share it with whoever needs access. In this interface, users can click a button to update records via the form, without ever touching the base itself.

They submit the form, your automation kicks in, and the changes appear almost instantly in the original table.

Share the Interface

That’s It!

What you’ve just built is a simple but powerful system for editing Airtable records through forms, no need for any external tools. It’s clean and doesn’t clutter up your main base.

However, Airtable’s prefilled links also comes with a few downsides you should be aware of:

  • You’ll need to keep sending updated prefilled links to your users to ensure they always have the latest data. If someone accidentally clicks an outdated link, they’ll see old information in the form. This means users can’t reuse or bookmark a link.

  • Prefilled links don’t work well with all field types. For example, attachment fields or very long text fields can exceed the URL character limit, causing issues.

  • If you need to keep your data private or secure, prefilled links aren’t ideal because all the data is visible within the link itself.

If you’re running into any of these issues or want something even more seamless, Fillout is a great option and offers a generous free plan.

Get Airtable tips & tutorials

Get a concise Airtable tip or tutorial every week. No spam—just practical advice to help you get more from Airtable.

Need help or have feedback? Email me at[email protected]