Airtable Forms for Third-Party to Submit Updated Information

I have a use case that is probably more common than I realize. I am a faculty member at a university and our department wants to keep track of our alumni. To do that, we built an Airtable base that contains basic contact information for them. We can obviously update the base by hand, but Airtable does have the ability – through extensive hacking – to allow individuals to update the base themselves. It’s a somewhat complicated process. The folks at Airtable have detailed most of how this works here.

What their tutorial did not do is actually explain the code needed to autofill or prefill the fields in the form. Here’s the text they claim they put into their formula field to create the URL where third-party individuals without an account can update their information:

CONCATENATE("https://airtable.com/shr**********?","prefill_Link+to+Ad+sets=", {Ad set ID})

I’m going to break this down and explain why this: (a) isn’t the actual text they put in, (b) why it cost me a couple of hours to figure out, and (c) what you need to put into your formula field to get it to work.

A: Obviously the asterisks are to protect the specific form URL. Got it. That makes sense. But this formula isn’t using the new “Interfaces” form links, either. So, the URL will look different (see below). FYI, the new Interfaces feature and other developments broke the old implementations of this hack. That is why my formula stopped working. Maybe Airtable emailed users to let them know and I didn’t get it, but my formula stopped working about 6 months ago and I didn’t realize it. the second part of this text is 100% not what they actually put into their formula as it won’t do anything based on my testing. That’s the part of the tutorial that is completely misleading. Are those behind this tutorial trying to make sure that people can’t put this hack into effect anymore?

B: So, what’s the problem with the second part, “prefill_Link+to+Ad+sets=”? I don’t know who wrote their tutorial, but this was terrible. If you read the whole tutorial, “Ad sets” is the name of the base (or entire table) and not of a specific field. As a result, I spent a solid 30 minutes trying to figure out if they had created the functionality to fill the entire form just by linking to the base. TL:DR – They did not. That would have been some really impressive programming. But no. They just had someone who is not very good at writing up tutorials write up this tutorial.

C: Now to the part that you care about: How to make this work? You can create a URL that links to specific fields in your base to fill the form using the following components. First, you do use “prefill_”. But, after that, you put in the name of the form field that you want prefilled. Let’s say I have a field called “First Name”. If I want that pre-filled, I would write “prefill_First+Name=”. But I then need to tell Airtable what to fill that field with from the base. That comes after the first part and looks like this: {First Name}. So, this part of the formula would look like this:

"prefill_First+Name=",{First Name}

You can continue adding form fields and the corresponding fields from which to draw the prefilled information, but for every one after the first one, you have to insert after the first quotations an ampersand “&” so Airtable knows that it is a different field.

Let’s say I want to also insert a field called “Record ID” into the form. Now, my formula would look like this:

"prefill_First+Name=",{First Name},"&prefill_Record+ID=",{Record ID})

Finally, combining all of the pieces of the formula together – the link to the form (from the new Interfaces feature) with the commands to prefill the form looks like this (with my survey link modified as well with asterisks):

CONCATENATE("https://airtable.com/app************/pag************/form?","prefill_First+Name=",{First Name},"&prefill_Record+ID=",{Record ID})

Using this approach, you can add as many prefilled fields as you want and third-party individuals without Airtable accounts can fill them out.

The rest of the tutorial on Airtable’s website worked for auto-updating the information in the base, so I’m not going to go into that in this tutorial.

Finally, note that this was working on 5/23/2024. Future updates by Airtable may break this as well.

Loading


Posted

in

by

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *