Reducing # of operations in a module

:bullseye: What is your goal?

To allow Make to analyze an entire spreadsheet’s data, use Google Gemini AI to create a business report based on the data, and then send that report in an email.

:thinking: What is the problem & what have you tried?

Is there a way to reduce the number of operations in a module? I’m building this workflow (screenshot attached) and it keeps performing the Google AI Gemini 3 times and sending 3 gmail emails. Is there a way to fix this? I’ve tried using an array aggregator but it the workflow ended up not working at all (only the first module was activated). Thanks in advance!

:camera_with_flash: Screenshots (scenario flow, module settings, errors)

@km12230

Welcome to the community!

The reason Gemini runs 3 times and Gmail sends 3 emails is because your Get Range Values module outputs 3 rows and Make treats them as 3 separate bundle of data, hence all modules after it run 3 times by default, this is actually logical behavior from Make’s perspective.
The simple solution is to add a Text Aggregator between Get Range Values and Gemini AI. This way all 3 rows(bundle of data) will be aggregated into one large text block and sent to Gemini, resulting in it running only once and Gmail sending one email with the final report.
The reason your Array Aggregator didn’t work is because very likely you didn’t set the Source Module field inside the aggregator to Get Range Values, probably left it empty, and that’s the most common mistake when working with aggregators in Make.
This is why you need to add the Text Aggregator module on the connection line between Get Range Values and Gemini, set the Source Module field to Get Range Values, and map the columns you want to appear in the final text block so that Gemini receives all the spreadsheet data in a nice readable format. Then everything should work as intended.

Good Luck

Hey there,

in addition to what Nicholas suggested, the Watch New Rows is a polling trigger and runs on a schedule. It will always run at the designated time, and if only the first module ran, it just means it didn’t find any new rows, not that the aggregator you set was wrong.