Airtable upsert overwrites same row over and over

I have created a GET API call (Circle.so) looking for new or updated subscription members. API call is successful and returns 26 bundles in an array. I added Iterator module next and it works splitting the array appropriately - yields 26 Bundles and all data is as expected. Next is Airtable Search Records which seems to work fine as the output is showing the expected records - Output of 26. I have 26 subscribers and I have only 1 single row in the existing Airtable record being searched. Last is Airtable Upsert - I map the Airtable Record ID (“ID”) and then map all the Iterator output fields appropriately in the Table that should received the “Upsert” - However, when I run the scenario, only Row 1 in the Table is updated - repeatedly - it runs through all 26 records and changes the info in Row 1 until it has changed it 26 times then stops. The last Bundle processed is what remains. What am I missing?


When asking your question, please include:

:footprints: The steps you have taken
:camera_flash: Relevant screenshots
:link: Any links you have
[ Code { "and": "JSON", "in" : "code block"} ]
:x: Exclude Personal Information.

Can you share the last module settings via Screenshot, i.e for Upsert one?

1 Like

You bet - thanks



Its like the Upsert won’t move to the next row and so on…It just overwrites the one record over and over.

One other oddity - If I put a router in place with a path to Create Records and a path to Update records, and set a filter for that Airtable record ID exists vs dos not exist - even though I delete ALL records in the Table, it seems to act like the record exists and goes to the branch that is update. Its as if it is looking for ANY record to exist and then updating that ONE record over and over - instead of trying to match each iteration’s ID to the table and determining if that one record exists.

This is weird, and I don’t have a clue about what is wrong with the scenario. Can you check the execution log and see if in Upsert the correct Record ID is being passed?

Yes it is very odd. As far as I can tell the right record ID is being passed.
Either way, the operation is odd that it keeps overwriting the same record over and over, I have to have something off in the filter or something. Thanks for looking

Hi, did you ever figure out a solution? I’m running into the exact same problem at the moment…