Your question is a bit similar to a previous one I answered in the forum. I copy pasted my answer below, and adapted a bit to your case. Let me know if that works for you:
- Create a first table Contacts that will list your contacts or people (1 record per person). I suggest you use Email address as primary key.
- Create a second table Submitted forms that will list all the submitted forms (1 record per candidate). Use a simple Autonumber field as primary key.
- On the Submitted forms table, create a Link to another record field to the Contacts table. But don’t display it on the form.
- Create your public form on the Submitted forms table (or connect your typeform to it). Make sure to add an Email field on your form to collect candidate email address. But don’t display the Link to another record field to candidate on your form.
Then, each new filled form will create a record in the Submitted form table.
All what’s left to do is to link manually the submitted forms to their related contacts, assuming we identify them by their email address. Might be enough for you in your case to do it once a day, as I assume you don’t need your base to be synch systematically for each new submitted form (in that case you it’d be a good idea to build an automation using Zapier).
The good news is, as you can see in the Gif below, You can do that in 2 clicks by simply copy pasting in the Submitted forms table the whole Email column in to the Linked Record column.
Notice the submitted forms records 3 and 4 came from the same contact (email). As a result, both forms records were linked to the same contact number 3.
With the right structure in place, Airtable is able to handle duplicates for you :
- If the Email (primary key) does not exist in the Contact table, Airtable will create a new record (contact record 4).
- But if the Email already exists, Airtable won’t create a new record, but will link the submitted forms to the existing contact.