Airtable Integration, Upsert a record - Does not seem to work correctly with Smart Links = ON

Hi. I am trying to do a one-way sync from Google Sheets to Airtable. I noticed there is an ‘Upsert a record’ module, which sounds ideal for what I need.

I would like to either update an existing record, or insert a new one. I would like to do this based on the Primary Key value, not the actual record ID. From what I’ve understood, there is the feature “Smart Links” which when turned on, allows you to work with names (primary key values in Airtable) rather than the more obscure 17-character internal record id of Airtable.

However, when I put the RecordID as the primary key value, it gives me a 404 Not found error. Is this intended behaviour?

Just to be clear, I tried the traditional approach of first searching for record in AirTable, then getting the actual internal record ID, and updating using that, and it works. However, this would be much more inconvenient to work with this way.

You can refer to this video for a visual explanation: Temp: Make explanation Airtable Upsert.webm - Google Drive


I believe the Smart Links is only for Columns that may use things like:

  • Single Select
  • Multi Select
  • etc.

so that you can enter in new values that might not already exists in those column structures.

You will need to use the RecordID for the Upsert module to work. It needs this to determine if the actual record exists, or if it need to enter a new line.

Why would you rather use your Primary Key? there’s nothing about the Primary Key that states it can’t have the same values. It’s the RecordID that differentiates the values

To do what you’re trying to do, In your video, you would need to put in an Airtable Search Module after your Google Sheets search module:

Then in your Airtable search module, search for the “Primary Key” value from your Google sheet

then Upsert the record based on the RecordID of your Airtable Search