How to Automatically Link Airtable Form Submissions to Existing Records
Airtable forms already support linked record fields. When you add one to your form, submitters can search for and select an existing record from another table, or create a new one, without any automation required. For most use cases, that is the right solution.
But sometimes you do not want to expose a linked record field to the submitter at all. Maybe the lookup should happen invisibly, based on a plain text field they fill in. Maybe you want to avoid giving users a searchable dropdown that could return hundreds of options. In those cases, an automation can do the matching silently after submission.
When to Use This Approach
Use the native linked record field on your form if you are happy for submitters to search and select a related record themselves, or if the linked table is not too large to browse.
Use the automation approach below if you want the linking to happen in the background without user input, or if you are collecting a value as a plain text field and want to match it to an existing record automatically.
The Scenario
Someone submits a form with a plain text field that corresponds to a record in another table. You want the new record to be automatically linked to the correct match in that table, without the submitter ever seeing a linked record picker.
If a match already exists, link to it. If it does not, create a new record in the linked table and link to that.
The Automation

Trigger: When a form is submitted
Set the trigger to When form is submitted targeting your form.
Action 1: Find the matching record
Add a Find records action on the linked table. Set the condition to filter where the relevant field equals the value from the form submission. Use the token picker to reference the triggered record's field.
Action 2: Check whether a match was found
Add a Conditional action. Check the record count from the Find records step. If the count is greater than 0, a match exists. If it equals 0, no match was found.
Branch A: Match found
Add an Update record action on the record that was just created by the form. Set the linked record field to the first record returned by the Find records step.
Branch B: No match found
Add a Create record action targeting the linked table. Populate the relevant field with the value from the form submission.
Then add an Update record action on the new form record. Set the linked record field to the record just created.
An Important Caveat on Duplicate Detection
The Find records action compares text values exactly. Slightly different spellings, extra spaces, or capitalisation differences will cause the automation to create a new record rather than linking to the existing one.
To make matching more reliable, add a formula field to your linked table using TRIM(UPPER({Field Name})) to produce a standardised comparison value, and apply the same normalisation in your Find records condition.
This reduces but does not eliminate mismatches. For high-volume forms, periodic deduplication is still worthwhile. See how to prevent and remove duplicate records in Airtable for the full deduplication approach.
Using Fillout for More Precise Matching
Fillout handles this pattern natively through its duplicate detection feature. When someone submits a Fillout form, Fillout can check whether a record with a matching field value already exists before creating a new one, and update the existing record rather than creating a duplicate.
This is simpler than building the automation above and prevents duplicates at the source rather than cleaning them up afterward. Fillout's duplicate detection is available on Business and Enterprise plans and works on email and single line text fields. See how to prevent duplicate records in Airtable for a comparison of all duplicate prevention approaches.