You can’t append using the Airtable API, so you’ll need to send all the values to the field — both the old and the new.
A linked record field with multiple values is an array, so you’d have to send your multiple records to that field as an array.
Here’s a quick example of how I created an array with 2 hardcoded values, but you would need to replace these hardcoded values with the references to the old value and the new value:

Also, be sure to turn on “smart links” if you’ll be adding new values that have never before appeared in your linked table.
However, an easier method of doing all of this would probably be to just create the new linked record in the other table, instead of updating the existing record in the current table.
Thanks so much, Scott. I think I understand your approach, but a few follow-up/clarification questions.
So in my case, the elements that will need to be fed into the array are record IDs, one for each new form response. This means that the number of elements – each one of which a form response ID – will be ever increasing in the array. I’m thinking this would mean that I’d need another intermediary array to act as a memory container saving all the record IDs ever processed so as to keep a list of the ‘old’ items being added to the multi select. This is so that when a new form response is received and I need to map the multi-reference linked field in Integromat, I have a list of all the ‘old’ ones that need to be added again to this new operation.
So for your approach,
add(empty array ; recordID1 ; recordID2 ; recordID3 ……) the number of items or elements in the array will be ever increasing — a new element will get added for each new form response.
So would I have to do something like this?
- Set up an array variable = memoryArray a ]
- Each time a new form response is received, first have Integromat add that element to memoryArray to keep a historical record of every response that will eventually become the ‘old’ set of records, so memoryArrayorecordID1]
- Then add a step in Integromat to add to my multi-reference linked field like in your image. add (emptyarray ; memoryArray ; recordID2)
But then how would the ever growing memoryArray elements get listed out within the mapping field in Integromat? memoryArray itself is a list of elements, so how would I reference that as a list of all the ‘old’ elements + the one new element being appended to in the current operation.
Apologies if I’m overcomplicating this or have a blind spot and there’s a much simpler way to do this, but I’ve been stuck at this problem for 2 days now so it’s possible that I’m not seeing the obvious.
Thanks a ton once again for your suggestion.
Thanks so much, Scott. I think I understand your approach, but a few follow-up/clarification questions.
So in my case, the elements that will need to be fed into the array are record IDs, one for each new form response. This means that the number of elements – each one of which a form response ID – will be ever increasing in the array. I’m thinking this would mean that I’d need another intermediary array to act as a memory container saving all the record IDs ever processed so as to keep a list of the ‘old’ items being added to the multi select. This is so that when a new form response is received and I need to map the multi-reference linked field in Integromat, I have a list of all the ‘old’ ones that need to be added again to this new operation.
So for your approach,
add(empty array ; recordID1 ; recordID2 ; recordID3 ……) the number of items or elements in the array will be ever increasing — a new element will get added for each new form response.
So would I have to do something like this?
- Set up an array variable = memoryArray a ]
- Each time a new form response is received, first have Integromat add that element to memoryArray to keep a historical record of every response that will eventually become the ‘old’ set of records, so memoryArrayorecordID1]
- Then add a step in Integromat to add to my multi-reference linked field like in your image. add (emptyarray ; memoryArray ; recordID2)
But then how would the ever growing memoryArray elements get listed out within the mapping field in Integromat? memoryArray itself is a list of elements, so how would I reference that as a list of all the ‘old’ elements + the one new element being appended to in the current operation.
Apologies if I’m overcomplicating this or have a blind spot and there’s a much simpler way to do this, but I’ve been stuck at this problem for 2 days now so it’s possible that I’m not seeing the obvious.
Thanks a ton once again for your suggestion.
In that case, just merge the pre-existing array (your pre-existing field value) with a brand new array of only one value. You’ll need to get the record information in a previous step in order to have the pre-existing field value accessible to you:

In that case, just merge the pre-existing array (your pre-existing field value) with a brand new array of only one value. You’ll need to get the record information in a previous step in order to have the pre-existing field value accessible to you:

Yessss!!! That’s it. Thanks a ton, Scott. Really appreciate it. I’m going to go try set that up.
Cheers once again.