Skip to main content

Hi, 

I am looking into options or workarounds to check if a value of a record exists in database before submitting a form. Is there a third party software or tool that is compatible with Airtable to do this? or is there any workaround with an automation to submit the form and check if record exists. If it does not exist, open again the form and show an error message to fill out a correct email. 

I would appreciate any suggestions.

Thank you.

By chance I have been considering the same question today, here is a possible solution:

Create two forms, one for a dummy table that links to the table you are really interested in. The form just shows the linked record field.

The second form is the real one.

Embed both in your own simple static webpage, form 1 above form 2. Instructions to say if you can't find the record in the first section add it using the second section.

Problem is that you need the webpage to host it, and you are at risk of spamming if you cannot find a way to obscure the site. I'm considering this method myself so if anyone else can point out other drawbacks would be interested to hear!


By chance I have been considering the same question today, here is a possible solution:

Create two forms, one for a dummy table that links to the table you are really interested in. The form just shows the linked record field.

The second form is the real one.

Embed both in your own simple static webpage, form 1 above form 2. Instructions to say if you can't find the record in the first section add it using the second section.

Problem is that you need the webpage to host it, and you are at risk of spamming if you cannot find a way to obscure the site. I'm considering this method myself so if anyone else can point out other drawbacks would be interested to hear!


Another thought - the above method is not very good if you don't want to show all of your data.

A sort of way round this is to create a prefilled form to a table that references itself. If you conditionally hide input fields depending on whether the "self reference" found anything you mimick the sort of behaviour you are after.

I built a test table with a form to demonstrate this: https://airtable.com/shrTI0mcro0PkSRQO

The issue is that you need a way to get the user to generate the bespoke urls that would pre-populate the form (https://support.airtable.com/docs/prefilling-a-form)

Here is a code-pen working example of how to do this (which links to the base above) https://codepen.io/anthony_zero/pen/XWByLqX

You can see that if you enter a reference such as "a1" that already exists in the table, the form won't show input fields. If you enter a reference that does not exist "random text here" then you are shown the input fields.

A few caveats:

  • this is still a low security method because it is easy to expose all of the reference field data by manually tweaking the airtable form url
  • it doesn't stop the user submitting a blank (or nearly blank) record if they ignore the instructions and go ahead and click submit

Another thought - the above method is not very good if you don't want to show all of your data.

A sort of way round this is to create a prefilled form to a table that references itself. If you conditionally hide input fields depending on whether the "self reference" found anything you mimick the sort of behaviour you are after.

I built a test table with a form to demonstrate this: https://airtable.com/shrTI0mcro0PkSRQO

The issue is that you need a way to get the user to generate the bespoke urls that would pre-populate the form (https://support.airtable.com/docs/prefilling-a-form)

Here is a code-pen working example of how to do this (which links to the base above) https://codepen.io/anthony_zero/pen/XWByLqX

You can see that if you enter a reference such as "a1" that already exists in the table, the form won't show input fields. If you enter a reference that does not exist "random text here" then you are shown the input fields.

A few caveats:

  • this is still a low security method because it is easy to expose all of the reference field data by manually tweaking the airtable form url
  • it doesn't stop the user submitting a blank (or nearly blank) record if they ignore the instructions and go ahead and click submit

Hi Anthony,

I tried and I think that's the best solution we have until now. Thanks for the suggestions.


Our miniExtensions form has built-in prevention for duplicate field values. You would simply need to enable it for the fields you want to ensure are unique and you're all set!


If your duplicate records are ALREADY in Airtable (or you’re expecting them to come into Airtable), then you would need to cleanup the duplicates afterwards through one of these methods:

  1. Use Airtable's DeDupe extension to manually merge duplicate records together.
  2. Use Airtable’s automations to automatically find & flag duplicate records.
  3. Use this Airtable trick that I demonstrate on this Airtable podcast episode: https://www.youtube.com/watch?v=Xc-0Jp6AvAs&list=PLqssva4liHRwHhQIpTXekG8WObEoyC2F1
  4. Use a script to automatically merge or delete duplicate records.
  5. Use Make’s Airtable integrations to automatically find & flag (or find & delete) duplicate records. If you’ve never used Make before, I’ve assembled a bunch of Make training resources in this thread. For example, here is one of the ways that you could instantly trigger a Make automation from Airtable.
  6. You could even collect new records in a secondary table, and then use an Airtable automation to determine whether the new record should be added into the main table where you don’t want the duplicates to appear.

However, your #1 best bet for duplicate prevention is to prevent the duplicates from ever appearing in Airtable in the first place! 😁

To do this, you would want to use Fillout’s advanced forms for Airtable because it lets you prevent duplicate form submissions based on any text fields (or email fields) that you specify.

Fillout offers hundreds of features that Airtable’s native forms don’t offer, including the ability to prevent duplicate form submissionsupdate Airtable records using a formcreate custom PDF files from a form submissionaccept payments on forms, display Airtable lookup fields on forms, create new linked records on a form, control access to a form via SSO or email domains or a list of email addresses stored in Airtable, perform math or other live calculations on your forms, collect signatures on a form, create multi-page forms with conditional paths, connect a single form to dozens of external apps simultaneously, add CAPTCHAs to your form, and much more.

I show how to use a few of the advanced features of Fillout on these 2 Airtable podcast episodes:

Hope this helps!

If you have a budget and you’d like to hire the best Airtable consultant to help you with this or anything else that is Airtable-related, please feel free to contact me through my website: Airtable consultant — ScottWorld