Array Aggregator after Filter, not bundling

Hi everyone,

I’m stuck on something that seems simple. The zoomed out idea is that I am trying to make a matching flow. Client signs up, client fills out certain needs, client is paired with employee based on a number of filters.

I have two branches, and the problem happens in both branches but this branch is a bit more straightforward. I am trying to get the BUNDLE of employees who can match with the clients. From there I am trying to send ONE slack message to our team saying, “here are the matched employees” “Here are their links” “here is how you can reach the client”.

Right now it is coming through accurately, but it is coming through as 24 (example) different messages. I would be able to deal with this, but for the other branch it becomes a problem when I want to bundle the matches and choose 3 randomly. Because they are not bundling, they are returning 26 (example) separate outputs. Therefore all 26 return, instead of choosing three within the bundle.

I have a flow where:

  • An Iterator produces multiple bundles

  • Those bundles go through a filter

  • After the filter, I use a Set variable module (essentially a “nothing burger,” but I added it because my array aggregator was not picking up the filtered matches when I pointed the source to the iterator, I had to set it to a set variable after the filter).

  • Then I use an Array aggregator to try to combine all the remaining bundles into one so I can send a single message to Slack

Question:
How can I get the Array aggregator to respect the filter (only take the filtered bundles) and actually combine them into one single bundle?

Any help would be massively appreciated!


(Branch 2, output 10 operations, was looking for a bundle to be able to randomize matches)


(Branch 1, just trying to send ONE bundle through to slack, not all that go through the filter)


(branch 1)


(Branch 1 example of what comes through to slack)


(Flow separation Branch one is the top, Branch 2 the bottom)

1 Like

Hi @Tasha_Saunders Welcome to the community!

To make sure you aggregate all bundles that you need you need to make sure you chose the correct “Source Module”.

Best,
@Prem_Patel

Hi Prem, thank you for your help. I understand that. The issue is when I put the iterator as the source module it does not include the outcome of the filter.

Any help here?

1 Like

Welcome to the Make community!

We’d love to help, however, you have not provided sufficient information to demonstrate the problem that would allow us to reproduce the scenario and any issue/s and/or error/s.

To allow others to assist you with your scenario, please provide the following:

1. All Relevant Screenshots

We need to see what you’re working with to give you the best advice. Screenshots are extremely important because Make is a visual editor — a picture provides us with more context.

It would help us identify the issue by having screenshots of:

  • the full scenario,

2. Scenario Blueprint

Please export the scenario blueprint. Providing your scenario blueprint file will allow others to quickly recreate and see how you have set up the mappings in each module, and also allows us take screenshots or provide module exports of any solutions we have for you in return - this would greatly benefit you in implementing our suggestions as you can simply paste module exports back into your scenario editor!

To export your scenario blueprint, click the three dots at the bottom of the editor then choose ‘Export Blueprint’.

You can upload the file here by clicking on this button:

Sharing these details will make it easier for others to assist you.

When you are referring to filter and iterator, it will be great if you can share specific relevant screenshots and more details about your setup which is not getting included after filtering.

scenario.blueprint.json (107.4 KB)
Here is the blueprint.
I have uploaded many screenshots to my original post. But here is the entire flow. The top branch is what I am referring to as “branch 1”

You simply need to aggregate the result of this Iterator, or possibly even the “Search” module.

Combining Bundles Using Aggregators

Every result (item/record) from trigger/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.

You can find out more about the other types of aggregator modules here:

Question: Which is the best aggregator do you think you’ll need for your use-case?

Mapping a Specific Structure Into a Complex Field

If you have an array of collections, in programming terms, this is called an array of objects, or an array with non-primitive data types (“complex”).

The Array Aggregator module is very powerful because it allows you to build a new complex array of collections that matches a later module’s field to map multiple items (collections) to it. Such fields initially would allow you to manually add items, but you can toggle the “Map” switch to the “on” state and map a whole array into a single field.

This is done by selecting the “Target structure type” in an Array Aggregator module.

As you can see from the above example, the “Map” toggle on complex fields are used when you have an array variable (like from an array aggregator). Other combinations of modules may also allow you to generate an array that matches a future field’s array structure, like “Aggregate to JSON + Parse JSON”, or “Create JSON + Parse JSON”, but this is an advanced topic.

Question: Are you mapping your array into a field that accepts more than one item/collection?

Example

Here is an example of how your scenario could look like:

This is just an example. Your final solution may or may not look like this depending on your requirements and actual data.

For more information, see “Mapping with arrays” in the Help Centre. You should also do the Make Academy, which also covers the use of Iterators & Aggregators.

Hope this helps! Let me know if there are any further questions or issues.

@samliew
P.S.: investing some effort into the tutorials in the Make Academy will save you lots of time and frustration using Make!

I have now tried the array aggregator and the text aggregator neither are bundling to one operation. Only 15 (or however many come through after the filter). I did the array education module like you suggested, still not able to have them come through as one.

I am beginning to feel like make enjoys me shredding through operations. :frowning:

I am wondering if it is because I am pulling from two different airtable sources to try and match the client to the provider. I have however tried to make “group by” blank, or put in a constant. I have never been able to send it through without it popping out as 15 operations..

Here is an updated screenshot and blueprint.

scenario.blueprint (1).json (149.0 KB)

The source module field of the aggregator should be set to some other module further back, like the trigger module, or a search module.

Setting the Correct Aggregator Source

You need to set the “Source Module” field of the aggregator to where the bundles are coming from. This is usually an iterator module, but can also be a search/list/repeater module, or even the trigger module!

Hope this helps! Let me know if there are any further questions or issues.

@samliew

Thank you for trying to support with this. I saw this solution on another make community post. When I select the Iterator instead of the last set variable it is outputting the 15 that successfully made it through the filters it outputs the 35 that entered the filtering process in the first place.
I tried to say ‘screw it’ for the bundling and pay for the 15 outputs and just grab the first three, instead of bundling them and shuffling to choose three. I was able to choose the first item in the output using something like this:
match1: {{bundles[1].Practitioner ID}}

  1. match2: {{bundles[2].Practitioner ID}}

  2. match3: {{bundles[3].Practitioner ID}}

    But the second two did not come through cleanly to the airtable column. (see screenshot below)

    I then tried to create a separate scenario and bundle using a bundling webhook (see screenshots below) that didn’t work either…


(see above airtable screenshot on why this didn’t work)

Please! Someone send help. I have now spent 34,209 operation credits trying to get this to work.. and weeks of my time.
Zooming out. The main problem is I cannot bundle my outputs into one output. I need them to go through the filters and then come out as one.
I have tried a text aggregator, an array aggregator, a webhook to bundle in a different scenario. Yes, I have done the academy course. I have scoured through make.com community for similar solutions. At this point its not about the cost of 15 (or however many operations come through the filters) its about being able to choose three of the outputs and insert them into three airtable columns (within the same sheet).
For context the closest I have gotten is having the practitioner ID’s upload to one column of a google sheet… Which isn’t that helpful, but it shows there is some sort of way.

Please let the internet gods be good to me today and help with a solution.
scenario.blueprint (2).json (158.6 KB)

Been working on this for the past 8 hours. Have I found the limitations of make.com? Can you successfully have an iterator with filters that ends in an aggregator? If so, I would love to see an example.
I cannot get the “Practitioner ID”s from each operation to combine back into any sort of aggregated anything. it outputs 36 outputs at the end no matter how I try to join it. If I map it to the last set variable I at least only produce 16 outputs, but still wont bundle :face_with_spiral_eyes:
Heres an updated screenshot. Even that won’t bundle when I make it as simple as possible.

Your Search Records module did not immediately follow with an Array Aggregator module.

This Iterator was not Aggregated.

Link the two downstream aggregators to it so you see that the gray background reaches it.

Hope this helps! Let me know if there are any further questions or issues.

@samliew
P.S.: investing some effort into the tutorials in the Make Academy will save you lots of time and frustration using Make!