Skip to main content

I want to create forms to get reviews from some products I sell and for that I have created a Table which consists of the following fields:

  • Product (linked to the corresponding "Product" record in the "Products" Table)
  • Q1
  • Q2
  • ...
  • Qn

I want to be able to send form links with the "Product" field prefilled (using its RECORD_ID), so that the reviewer can easily know which product he/she is reviewing. However, I don't want the reviewer to able to change that value in the form and select by mistake any other "Product" record. How can disable the possibility of changing a prefilled value in a form?

I have tried using the option "Limit record selection only in view" to another view, but it is not working.

I don't think you can prevent users from changing the prefilled value I'm afraid so you might have to look for another form service for this functionality. 

A possible workaround might be for you to hide your linked field and create a new single line text field that has the product name?  That way the reviewer can see what they're reviewing, but also won't have the ability to modify the linked field

Note that this isn't foolproof either as the user can manipulate the URL and reveal the hidden field if they wanted to


I don't think you can prevent users from changing the prefilled value I'm afraid so you might have to look for another form service for this functionality. 

A possible workaround might be for you to hide your linked field and create a new single line text field that has the product name?  That way the reviewer can see what they're reviewing, but also won't have the ability to modify the linked field

Note that this isn't foolproof either as the user can manipulate the URL and reveal the hidden field if they wanted to


Thank you for you quick answer Adam.

 

A possible workaround might be for you to hide your linked field and create a new single line text field that has the product name?  That way the reviewer can see what they're reviewing, but also won't have the ability to modify the linked field

This is exactly what I want to avoid, since it would imply creating a form view for every product I want to get reviews from...

I would need to have a dynamic link which I could easily create in my Products Table for every Product and not have to manually create different forms for each of them. I understand this is not possible with Airtable, right?

 

I don't think you can prevent users from changing the prefilled value I'm afraid so you might have to look for another form service for this functionality. 

Any recommendation of a free service which I could easily link to Airtable, get the info from my Products and then feed-back the reviews submitted to that service to Airtable.

 


Note that this isn't foolproof either as the user can manipulate the URL and reveal the hidden field if they wanted to

I don't think that would be a problem. If I have to manually create a form view for every product I will directly hide that field from the form View itself.


Thank you for you quick answer Adam.

 

A possible workaround might be for you to hide your linked field and create a new single line text field that has the product name?  That way the reviewer can see what they're reviewing, but also won't have the ability to modify the linked field

This is exactly what I want to avoid, since it would imply creating a form view for every product I want to get reviews from...

I would need to have a dynamic link which I could easily create in my Products Table for every Product and not have to manually create different forms for each of them. I understand this is not possible with Airtable, right?

 

I don't think you can prevent users from changing the prefilled value I'm afraid so you might have to look for another form service for this functionality. 

Any recommendation of a free service which I could easily link to Airtable, get the info from my Products and then feed-back the reviews submitted to that service to Airtable.

 


Note that this isn't foolproof either as the user can manipulate the URL and reveal the hidden field if they wanted to

I don't think that would be a problem. If I have to manually create a form view for every product I will directly hide that field from the form View itself.


> This is exactly what I want to avoid, since it would imply creating a form view for every product I want to get reviews from...

Hmm, I was thinking it would just be one form view actually.  You'd definitely have one unique URL per product you wanted to get reviews from though, and you could create those pretty easily with a formula field?  The product name would go into the same single line text field no matter which product it was, and you'd use an automation to paste that product name into the linked field to create the link between the form submission and the product record

> Any recommendation of a free service which I could easily link to Airtable, get the info from my Products and then feed-back the reviews submitted to that service to Airtable.

I've used Softr for this to good effect before; they've got a hidden field function in their forms that combines with the ability to pull a URL param that works well in combination, and you can find the documentation for that here

> I don't think that would be a problem. If I have to manually create a form view for every product I will directly hide that field from the form View itself.

Ah we might be having some confusion about what "hide" means here.  I think you're referring to not having the field present in the form at all, and if that's the case you can't prefill the field via the URL I'm afraid


> This is exactly what I want to avoid, since it would imply creating a form view for every product I want to get reviews from...

Hmm, I was thinking it would just be one form view actually.  You'd definitely have one unique URL per product you wanted to get reviews from though, and you could create those pretty easily with a formula field?  The product name would go into the same single line text field no matter which product it was, and you'd use an automation to paste that product name into the linked field to create the link between the form submission and the product record

> Any recommendation of a free service which I could easily link to Airtable, get the info from my Products and then feed-back the reviews submitted to that service to Airtable.

I've used Softr for this to good effect before; they've got a hidden field function in their forms that combines with the ability to pull a URL param that works well in combination, and you can find the documentation for that here

> I don't think that would be a problem. If I have to manually create a form view for every product I will directly hide that field from the form View itself.

Ah we might be having some confusion about what "hide" means here.  I think you're referring to not having the field present in the form at all, and if that's the case you can't prefill the field via the URL I'm afraid



Hmm, I was thinking it would just be one form view actually.  You'd definitely have one unique URL per product you wanted to get reviews from though, and you could create those pretty easily with a formula field?  The product name would go into the same single line text field no matter which product it was, and you'd use an automation to paste that product name into the linked field to create the link between the form submission and the product record

Yes, I was thinking using a formula field. If I understand correctly, you suggest using a "Product Name" as a Single Line Text field which is prefilled and allows having different URL's for each product, and then when the form is submitted it is matched with the corresponding Product record using an automation. This still leaves the possibility that the reviewer modifies the Single Line Text in the prefilled form and breaks the automation. Am I right?

 


I've used Softr for this to good effect before; they've got a hidden field function in their forms that combines with the ability to pull a URL param that works well in combination, and you can find the documentation for that here

Thanks, I will take a look at it.

 

Ah we might be having some confusion about what "hide" means here.  I think you're referring to not having the field present in the form at all, and if that's the case you can't prefill the field via the URL I'm afraid

Oh, I did not know about that... I still a newbie with Airtable and I though disabling the fiel from the form would just hide from the view.



Hmm, I was thinking it would just be one form view actually.  You'd definitely have one unique URL per product you wanted to get reviews from though, and you could create those pretty easily with a formula field?  The product name would go into the same single line text field no matter which product it was, and you'd use an automation to paste that product name into the linked field to create the link between the form submission and the product record

Yes, I was thinking using a formula field. If I understand correctly, you suggest using a "Product Name" as a Single Line Text field which is prefilled and allows having different URL's for each product, and then when the form is submitted it is matched with the corresponding Product record using an automation. This still leaves the possibility that the reviewer modifies the Single Line Text in the prefilled form and breaks the automation. Am I right?

 


I've used Softr for this to good effect before; they've got a hidden field function in their forms that combines with the ability to pull a URL param that works well in combination, and you can find the documentation for that here

Thanks, I will take a look at it.

 

Ah we might be having some confusion about what "hide" means here.  I think you're referring to not having the field present in the form at all, and if that's the case you can't prefill the field via the URL I'm afraid

Oh, I did not know about that... I still a newbie with Airtable and I though disabling the fiel from the form would just hide from the view.


> This still leaves the possibility that the reviewer modifies the Single Line Text in the prefilled form and breaks the automation. Am I right?

Yeap, unfortunately with Airtable forms you're going to have some risk no matter which of the following two options you take:

1. Prefill and hide the linked field, but show a prefilled single line text field
  - User can modify the URL and show the linked field, which allows them to view all the records from that linked table, and also to modify the selected record
  - User can view the single line text field to see what product they're reviewing
    - If user modifies this single line text field it's fine as we're not using it for anything
2. Prefill a single line text field with the product name
  - User can view the single line text field to see what product they're reviewing
    - If user modifies this single line text field it'll break the following automation
  - Use an automation to link the form submission to the product
   


Would like to suggest a workaround for your case, using a form that integrates with Airtable.

We have built a form that allows you to pre-fill the value for the product field and make this none editable by making it read only. Miniextension form.

 


Wanted to share a solution I came up with for this for my purposes. While it’s not perfect, it does achieve:

  1. Linking existing records
  2. Not displaying all available records to the user

Basically, instead of having a linked record field on the form, an additional single line text field is utilized to link the appropriate record via automation. For this example, let’s say want to link a  “Product” for a review.

First, create a “ProductRecID” single line text field on your form table. Also ensure that a linked record field to your “Product” table also exists, though we won’t use it on the form.

Next, add that single line text field to your form.

Then, the important part is generating a link which both:

  • Fills that field with the RecID of the desired “Product”
  • Hides that field for the user

There’s already guidance for pre-filling forms available, but here’s an example link to show the structure for this idea:

https://airtable.com/YOURAPPID/YOURPAGEID/form?prefill_ProductRecID=YOURPROUDCTRECID&hide_ProductRecID=true

In my case, I’m using an automation, which sends an email and fills in the “YOURPRODUCTRECID” value in that url with the appropriate RecID. That field is then hidden with the last part of that URL.

Finally, another automation is set up, which is triggered on form submission. It simply  takes the RecID which was pre-filled and hidden on the form, and inserts it into the linked record field to the product table. This links the appropriate “Product” record to the record created from the form.

This set up works perfect for me. There’s still the drawback that the user could modify the URL to see/modify the hidden “ProductRecID” text field, but it’s just text… not a drop-down of every possible linked record. The worst case is the user does this, modifies the field, and the automation which links the record fails. In that case, you still have the data from whatever triggered the form being sent to manually link the record… you could probably even build in some sort of failsafe automation if you were crafty enough.

Hope this helps! I realize this is a fairly old post, so if anyone has come up with a more elegant solution, I’m all ears! Would also be nice if Airtable allowed pre-filled linked record fields on forms which weren’t editable!


Reply