Help

Can't get Integromat to 'append' to a multi-reference linked field in Airtable

Topic Labels: Integrations
Solved
Jump to Solution
4002 4
cancel
Showing results for 
Search instead for 
Did you mean: 
Burner
7 - App Architect
7 - App Architect

Hi,

I’ve been stuck with this for almost 2 days now and have exhausted all experimentation and research. Looking for any help I can get.

I have a field in Airtable called @EventRegistration, which is a linked reference field but allows linking to multiple records from another table.

In Integromat I’m using the Update record module for Airtable and what I want to do is that each time a new form response is submitted, I want to add an item , i.e. append a new linked reference item.

Unfortunately, I can’t seem to find a way to do this. With each run, Integromat simply updates the original linked record when instead I want to keep appending to this multi-reference linked field dynamically. I cannot predict how many items will be added. I just want items to be appended when my scenario is triggered but instead Integromat overwrites this field with the latest value from the current run.

Integromat Append to Airtable Multi-reference linked field

How can I have Integromat append to my multi-reference linked field instead of overwriting it?

Thanks in advance
Sean

1 Solution

Accepted Solutions

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:

image

See Solution in Thread

4 Replies 4

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:

image

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.

Burner
7 - App Architect
7 - App Architect

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?

  1. Set up an array variable = memoryArray [ ]
  2. 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 memoryArray[recordID1]
  3. 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:

image

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