Hey,
we’re not sure why, but the “list filtered tasks” and “list all tasks” operations perform a number of actions equal to the number of tasks, even though there is a filter in place, and it should retrieve all the necessary tasks in a single operation.
How can we make it fetch all tasks that meet the conditions we’ve set in a single operation?
blueprint update custom fields.json (143.2 KB)
Hi @Vinseo, Watch tasks module is iterative and will execute next tasks for each task watched. If the watch module is just to see if something has changed and start the scenario, you can filter just after → Bundle position = bundle amount just after first module. This way your “list” will execute only once. Keep in mind that List is also iterative and will execute all next modules for EACH bundle found. you can filter though as you said (in the module, or between modules).
Aggregators
Every result (item/record) from iterator/list/search/match modules will output a bundle. This can result in multiple bundles, which then trigger multiple operations in future modules (one operation per bundle). To “combine” multiple bundles into a single variable, you’ll need to use an aggregator of some sort.
Aggregators are modules that accumulate multiple bundles into one single bundle. An example of a commonly-used aggregator module is the Array aggregator module. The next popular aggregator is the Text Aggregator which is very flexible and can apply to many use-cases like building of JSON, CSV, HTML.
There are other types of aggregator modules, click the below links to find out more:
- Array aggregator
- Text aggregator
- Numeric aggregator
- Table aggregator
- JSON aggregator
- CSV aggregator
- Archive (ZIP) aggregator
- other app-specific aggregators
Hope this helps! Let me know if there are any further questions or issues.
— @samliew
P.S.: Investing some effort into the Make Academy will save you lots of time and frustration using Make.
Hi @Vinseo
You should never use list modules one after the other. First one should be aggregated, otherwise it will repeat the next module equal to number of results.
Regards,
Msquare Automation - Platinum Partner of Make
@Msquare_Automation
Thank you all for your responses. However, I have a problem. When I set up an array aggregator and set the target to Edit a custom field (advanced), which retrieves task data from the target list and the values that should be included from the array, and then apply a filter based on the key (which is the task name), the List all tasks module still performs a number of operations equal to the number of tasks.
Sorry that I don’t understand how these modules work despite reading the documentation ;c
blueprint update custom fields with aggretgaotr.json (199.8 KB)
Hi @Vinseo
It looks like you’re using the aggregator module to group certain data, resulting in three bundles containing key and its arrays. You can remove the grouping in array aggregator and simply use map function extract the specific information you need.
Best Regards,
Msquare Automation - Platinum Partner of Make
@Msquare_Automation
This is very unintuitive. I still don’t understand why this module performs 3 operations even though everything is already in the first one.
Omg, just remove the grouping like you said…
So simple.
Thank you, I don’t know if I would have guessed.