Ways to have external users update your Airtable data

Here are some ways to let external users update your Airtable data:


Airtable Interface

Create an Airtable interface and add users as interface-only collaborators.

Pros:

  • You can customize the experience completely within Airtable.
  • You get detailed record history that includes the actual person who made the change.
  • Users can edit any field type
  • Users can see formula results
  • Easiest system to maintain

Cons:

  • You have to pay for each external user. This can be the most expensive option.
  • The external users know that you are using Airtable.
  • The ability to style the data is very limited.
  • Users must log in to edit data

Airtable Prefilled Forms + Automations

Set up a formula field that generate the url for a prefilled form that identifies the record you want to update and how you want it updated. Send this url to your users. When the form is submitted, have an automation that finds the original record and performs the update.

Pros:

  • This can be free (not including your Airtable subscription fees).
  • Users do not need log in to submit updates

Cons:

  • Record history does not show who actually made the edits
  • The user experience can be very clunky.
  • Users cannot see formula results
  • The link for the prefilled url can contain obsolete data.
  • Limited ability to update attachment fields and long text fields

3rd Party Portal Systems

Use a third party system to create “portal access” to your data.

Pros:

  • There are many portal systems available at different price points
  • You typically pay a flat monthly fee instead of a per user rate.
  • Far more styling options to make your portal pretty.
  • You can control if you want to require users to log in or allow anonymous edits.
  • You can set the domain name for the website of the portal.
  • Users can edit any field type, including attachments, rich text fields, etc.

Cons:

  • Monthly third party fees can be expensive
  • Record history does not show who actually made the edits
  • Limited ability to see formula results or possible side-effects when viewing formula results

3rd Party Integration Service w/ Webhook

Use a third party integration service capable of receiving a webhook and updating Airtable records. When the service receives the webhook, have it update the Airtable record. In Airtable, create a formula field that combines the webhook url with information identifying the record. Send this url to your users.

Pros:

  • Users do not need to log in.
  • Can be more much more affordable than third party portal systems

Cons:

  • There is no “confirmation” stage. Accidental clicks can update record data prematurely with no undo.
  • Airtable record history will not state who updated the record.
  • The link for the webhook can contain obsolete data.
  • Will typically open a browser window when the link is clicked, although you can adjust the styling of what shows in the browser window.
  • User cannot customize updates at all–the specific data changes must be hardcoded into either the formula field for creating the url or hardcoded into the third party integration system.
3 Likes

Another way to let external user update their data for free :point_down:

Forms got the option “Collect respondent email addresses automatically (sign-in required)”.

image

When this option is checked and people open the form URL, they will be prompted to sign in with Airtable or make an account. After that, they can fill in the form and the email address they used to sign in or to create a new account with, will be stored in a auto created “created by” field in your table.

This opens up the possibility to let people change their data, using their email address as a unique identifier. When a record, let’s say a client record, contains an email address, you can crosscheck this with the auto filled in email address in the “created by” field mentioned above, by prefilling and hiding it in the form. Via automations you can access the underlying email address from the “created by” field and check it against the one in the existing record.

Use case
I’ve build a digital directory with some 800 members. Via a shared gallery view, everyone can click a button (field) “change my personal data” that opens a form with their current email address prefilled and hidden. They click the URL, have to sign-in or create an account with the email address that is mentioned in their record (this is mentioned in the form info). After they fill in the form, a formula checks every new entry. Is the email address in the “created by” field the same as the email address in the record they want to change?

Yes = update record via triggered automation
No = they get an email (via the address in the “created by” field) saying the email address didn’t match the one in te record they want to change, via a triggered automation

How to

  1. create a new table with the fields from your client table you want them to be able to update + an email field + an record_id field (single line text)
  2. create a form with those fields prefilled + the email and record_id field prefilled and hidden + with the new option checked + mention in the form info that the email to sign-in/create an account with, has to match the one in their record
  3. create a button field with a prefilled form URL in the client table, using the form URL in your new table
  4. client clicks on button in shared view and has to sign-in or create an account
  5. input comes into new table
  6. automation 1 takes the email address behind the auto filled in “created by” field and updates the email field
  7. a formula field checks IF() the now filled in email field is not empty and compares it with the current clients email that (prefilled and hidden) came along with the form; if both emails are the same = “OK”, if not = “NOK”
  8. if the formula field is not empty (and thus the first automation worked), automation 2 is triggered that looks up the client record in the client table, based on the record ID that came along with the form. If (conditional group) a record is found (length of your “find record step” > 1) AND the formula fields says “OK”, it updates the client record (and maybe puts a checkmark in a control field). If not, you can make the automation send an email to that person via the email from the “created by” field.

It’s far from a real portal, but it is imo the best option/workaround so far to letting external user (so no access to the base) change data for free.

3 Likes

Thanks for posting the detailed instructions!

This is a wonderful variation on the prefilled form technique that doesn’t actually require a prefill, although I still think that prefilling is useful and can be used in conjunction with this method. Your method also lets you capture who submitted the change and when.

1 Like

Wow!! @Kuovonne, thank you for the comprehensive list! :smiley: :raised_hands: And @Databaser, thank you for the detailed instructions! :cowboy_hat_face: :sparkles:

To add onto the great information already posted above, I wanted to let people know about how to trigger an external webhook WITHOUT opening up a browser window.

I’ve created a separate post on that topic here:

While this method is good for triggering a webhook from within Airtable without opening a web browser, that technique isn’t the best for external users, since it requires a scripting automation. Once you have a scripting automation, you might as well have the scripting automation take care the entire record update.

Totally agree! I was mostly considering people like myself who don’t know how to script. The script I included in that other post is pretty much the extent of my scripting knowledge. :innocent:

After that, I can use Make for everything else. :star2:

Although I should note that even for people who know scripting, integrating with external apps is often easier for them with a low-code visual building tool like Make.

I should have clarified–once you are in an Airtable automation, you can use the automation to update the original record, using a combination of the “Find Record” and “Update Record” actions, OR using a script.

Absolutely. But we should take that to another topic. I use both scripting and Make extensively. And when I use Make with Airtable, it currently is almost always in combination with an Airtable script.

2025 update on this thread:

Fillout is 100% free, and it lets users update Airtable records directly from a form. So it can sort of be considered a “very light portal” for Airtable. It also offers hundreds of other advanced features that Airtable’s native forms don’t offer.

So, for example, if you wanted a customer to be able to update their own customer profile in your base, Fillout would be the best tool for this.

Fillout will give you an Airtable formula that you add to your base, and that formula will generate a unique URL for each record in your base.

Then, you just email the person the URL for their record, which they can use to update their record at any time.

Fillout will even allow them to update ANY type of Airtable field, including attachment fields.

Hope this helps! :smiley: If you would like to hire the best Airtable consultant to help you with anything Airtable-related, please feel free to contact me through my website: Airtable consultant — ScottWorld

Easy to use and good aesthetics. I wish they allowed freeze some fields and only make some editable, in particular images. I can show the existing image but I can’t make it non-editable image field, just to display it. For example I outsource work on Fiverr and would have image and the jobber would fill in the data based on the image, color, shape, brand, model, markings etc… I don’t want them to delete the existing images, yet it would be nice to show that image there in the form. Right Now I do it via a shared table with clickable links to form. The data can be updated as well in multiple rounds but it requires Automation, so Fillout has a very generous and attractive offer.

I assume I could maybe add some validation there to prevent pictures from being uploaded to Airtable.

Also ti would be nice, if the non-editable pictures field allowed me to click on the images to zoom them, make them bigger or open in new window.

In case you happen to have a suggestion list for them these are some I have.

These 2 issues would hold me off from using it right now as (in my case) it’s not more than Airtable has already (I just use conditional logic in Airtable forms and that’s sufficient).

Thank you for sharing.

@itoldusoandso

You can submit your feature requests to Fillout by using the little comment bubble in the lower right corner of their website.

1 Like