Apr 19, 2021 12:28 AM
I have a scenario where i lookup a list of values for an item in a google sheet and want to add them as complementary values in one multiselect field for the item in airtable. in the shown example these are 12 category values coming from gsheet, which should all be added in a multiselect field for the user in airtable.
The lookup in google sheets and the JSON creation and parsing work as expected - I get a JSON with the categories like the one in the screenshot below:
The update in airtable works as well - as long as I have the JSON list elements mapped individually as single entries for the multiselect field, like indicated here:
The problem with this approach is, that if my Gsheet Lookup and resulting JSON send less list elements to airtable than I have specified in the integromat flow, the extra fields will be sent as “null” and this causes an error in the Scenario.
This is exactly the same problem as described in this post 10 months ago: Mapping Multi-Select Fields with Integromat
Within that post @cor proposed the solution to make sure that “Smart Links” is checked on the “Create a record” Module and to map the array (ex: Channel: ) rather than mapping the individual array elements. This would be a great solution for me as well:)
If i now map the array instead of the individual elements -
then the integromat flow works well and iterates in the flow thru all 12 elements from the JSON -
but the 12 elements are not added as complementary multiselect values in the airtable, but each of the 12 flow iterations overwrites the value in the multiselect field - so that at the end only one value (instead of the intended 12 in the example) is stored in airtable:
I tested this extensively, but am stuck now - any ideas what I am missing here?
THX FOR YOUR HELP!
Solved! Go to Solution.
Apr 22, 2021 12:44 AM
No worries, thx for your help Scott!
I did initially start with the array aggregator before writing this post. The Array was build correctly, smart Links was enabled, and the array is added via mapping to the multiselect field in airtable:
…but this runs into an error within the airtable update step:
→ Error Message: “Collection can’t be converted to text for parameter ‘Value’.”
→ After this I initially switched to test the JSON modules instead of the array aggregator, yet this resulted in the “overwrite” problem that I have started this post with… :grimacing:
Apr 22, 2021 06:53 AM
I’m sure it’s something very easy that you’re missing. Just write Integromat support, and post back here with their answer!
Apr 23, 2021 07:43 AM
solution after checkin w integromat support: use the map() function in integromat to write back to airtable
The map function contains the array, plus the raw id of the array element that I want to map
in my case this is “4”.
Now the multiselect field gets updated with the dynamic results from sheet as intended, really glad now;)
thx again for your support!