How to use an array of record id's as input in scenario with Airtable Search Records formula

I hope someone here can help me with the following challenge. I’ve added some screenshots to clarify and also added the json of the 2 scenario blueprints.

Situation
I have an Airtable table “TEST_USERS” with records and each record has a linked field “INDUSTRY” which can be linked to multiple records.

In Make I want to group the unique combinations of the INDUSTRY values in a (parent)scenario, and iterate through these values as input to run another (sub)scenario: so each unique combination of INDUSTRY values will trigger a separate ‘run a scenario’.

I group the unique combinations of the INDUSTRY via an array aggregator. I iterate thourgh these groups via an array iterator, where each iteration triggers a (sub)scenario run.

This (sub)scenario starts with an Airtable Search Records module in Airtable table “TEST_POSTS”, and I want to find records which have the same linked INDUSTRY fields. In other words: I want to use the array of unique INDUSTRY values from the (parent)scenario as input for the (sub)scenario formula in the search records module.

My current Airtable search records formula (which is not working) is:
{INDUSTRY}=“{{var.input.INDUSTRY}}”

Issue: using the array as input for Airtable search records formula
The parent scenario works as I expected:
Each unique combination of linked INDUSTRY fields will make a separate ‘run subscenario’.

The subscenario runs, but the output is empty. My assumption is that the search records formula is incorrect and/or can’t handle the input correctly. Since the filter input for this search records would have this example value:
Formula {INDUSTRY}=“rec1234567890, rec0987654321”

Help requested
Can anyone help me to enable what I want?
I want to use the array of unique INDUSTRY values from the (parent)scenario as input for the (sub)scenario formula in the search records module.

I did have a look in Airtable List records documentation, but did not see specific info in the filterByFormula section.

Maybe this is a limitation within Airtable, but since I’m new with Make arrays I also would like to explore the option of me doing something wrong in Make.

I have a working mitigation where I use the textual names of the INDUSTRY fields, but I would rather make this work with the array of record id’s.

I’m not well experienced with arrays, so I’d value your help.
Thanks in advance!

json blueprint
parent scenario
blueprint-parent.json (12.7 KB)

sub scenario
blueprint-sub.json (7.6 KB)

screenshots
airtable table “TEST_USERS”

airtable table “TEST_POSTS”

scenario parent

array aggregator

array iterator

call subscenario

scenario sub

scenario input

airtable search records formula

I don’t have a final answer yet, but I think this is a limitation in Airtable’s filterByFormula. See for example this post.

I will explore more, but now my idea is to:

  • In Airtable: In the INDUSTRY table create a RECORD_ID field to get the record ID of each industry
  • In Airtable: In both TEST_ tables create a lookup field INDUSTRY_RECORD_IDS based on the INDUSTRY field and lookup the RECORD_ID field, sorted A-Z to make sure the value is the same in each table field
  • In Make parent scenario: group INDUSTRY_RECORD_IDS in array aggregator and iterate each unique combination as input for the sub scenario, so for example INDUSTRY_RECORD_IDS = “rec123, rec456, rec789”
  • In Make sub scenario: use that input in the formula field of the Airtable search records module, so for example {INDUSTRY_RECORD_IDS}= = “{{var.input.INDUSTRY_RECORD_IDS}}”

To be continued!

Using arrays of linked record IDs in filterByFormula is definitely not as straightforward as it seems. I really like your workaround of creating a RECORD_ID lookup field and then comparing it using a string match — it’s clever and ensures consistency across related tables. Thanks for sharing your scenario and blueprints, it’s a great learning reference for anyone working on advanced Airtable automation.

1 Like