I am currently working on a project where I need to retrieve values from a Google Sheet and then update an Airtable database with these values. The problem is that I have a large number of values to retrieve, and this scenario is used regularly (multiple times per day). As a result, it consumes a significant number of operations.
I was wondering if there is a way to reduce the number of operations ? Previously, I used many “get a cell” modules to retrieve the values one by one. However, I decided to switch to “get a range values” modules to retrieve multiple values at once. Although this reduced the number of modules in my scenario, it did not decrease the number of operations used.
The “get a range values” module outputs data in the format of “1 row = 1 bundle”. Therefore, if I retrieve values from 10 different rows, the Airtable module next to it will be triggered 10 times consecutively to update the information of each row individually.
I wanted to know if there is a way to simplify this process ? Is there a way to have a “get a range values” module that can retrieve values from multiple rows, and alongside it, an Airtable module that only runs once to update all the values at once ?
Can you explain what the Airtable modules do currently? If it needs to update the same row in Airtable then there is a way to reduce the operation cost, however, if it needs to update rows based on the GSheet response then unfortunately this is unavoidable and the only option that can reduce the operation slightly will be to use Bulk/Batch Update API of Airtable, which I belive will allow you to update up to 10 operations at a time.
Currently 1 google sheet = 1 record of Airtable, each Airtable record have its own Google Sheet.
For exemple I have 5 rows on my Google Sheet : Value A, B, C, D, E (these values are static, for exemple “Value A” will always be the A1 cell, “Value B” the C2 cell, ect…)
On my Airtable database I will have 5 fields : Value A, B, C, D, E that will store the values from Google Sheet.
Each time the update scenario is run I need to get the 5 values from the Google Sheet, and udpdate the 5 Airtable fields of the corresponding record with these values.
Are we talking only 5 fields or can they be dynamic?
What you can do is use array aggregrator after the Gsheet module, which will result in a single array consisting of values that you want to feed in Airtable.
Now in Airtable you will need to either use get(Array;1) function or use the value mapping and pass the index for each fields based on the ordering that you get from Gsheet, for ef 2 for first range, 2 for seconds and so forth.
On Mobile, Sorry about vague answer without screenshot
In total I have around 30 cells I need to retrieve the value, they are all statics (these 30 cells will always be on the same place)
I think I understand your idea : using a array aggregator to store all the bundles in a single array and, in the Airtable module, map each field with the corresponding value of the array at once.
I think it could be a good idea, I will test that, thanks a lot !