I am creating an AirTable that acts as the spine of my account management system.
Here’s the current setup:
Full view of the setup
JSON: blueprint.json (502.5 KB)
In this task, I want AirTable to create an account number and populate a row with client information. After that, I want to search for other records based on the email address of the newly created client account. If other records are found, I want to populate a column with those linked records so I can easily see if a single client has multiple account numbers and access those accounts.
The system is creating a unique account number and populating the row with the desired client information.
One of the first modules searches for other records by email address and bundles them. I have an array aggregator that puts them into an array for later use.
What’s not working:
The problem is at the Iterator at the end of the workflow:
Instead of adding multiple linked records to the same row, it’s creating a new row for each linked record, which is quickly becoming exponential (and not what I want).
A single client could have anywhere from 1-20 accounts, or an enterprise client might own 200, so I need a way to quickly link things together and access records.
How should I change this setup to get all the linked records in a single cell?
Hi James, here is what I would suggest:
So after you iterate, use a text aggregator, and add your filter in between them, like so:
Here you can separate by whatever you want, just be mindful that you will need to split() by this same value later on. Here I use a comma.
In the text field, you want to aggregate the Record ID’s from the iterator. I believe the field will look similar to what I have here.
Then finally in your UPDATE module make sure to select the manual map option and then split the text from the aggregator as below:
This will link all the records you aggregate, in my case this is what it did:
Note that if you have pre-existing ‘links’ these will get overwritten by the new ones we provide, if you ever get into a situation where say you have 5 linked records, but want to add 10 more, you would basically just take the values from the aggregation then add() them to the existing ones.
Hope this helps.
Harman - IOA Digital
I appreciate the in-depth explanation.
However, AirTable is rejecting the solution, as it it’s looking for a field ID, not a string.
So when I get the values (NLA - 00001, NLA - 00002, etc.) it tells me that those are invalid record IDs.
When I do a search and get the record ID corresponding to each row with one of those values, it still tells me those are invalid record IDs.
This is a revised setup based on some of the ideas you gave me.
It iterates the list of accounts numbers, searches for each in AirTable to get the ID, and then does the text thing.
And I just realized… I’m getting the field ID, not the row ID associated with the row that has that field…
That would probably solve it.
Now if I can just figure out how to do that.
I think the issue might be that the account numbers I’m putting in are automatically generated and it’s going into a linked cell, not a text cell.
@James_Campbell Hey sorry for the late response, it sounds like your on the right track though.
1 thing to note is that the linked id you require looks starts with ‘rec’ and looks like this on the front end if you click into a record (try to find this value in your module output):