I can suggest you a way to do it without Zapier. Assuming what you’re looking for in the first place is to avoid duplications, not necessarily to build an automation.
- Create a first table Candidates that will list your candidates (1 record per candidate). 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 Candidate 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 candidates, 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 would need Zapier indeed).
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.
Note the submitted forms records 3 and 4 came from the same contact. As a result, both forms were linked to the 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.