Filter in Make scenario only compares first ID from Iterator instead of each individual item

I’m running into an issue with a scenario in Make where I fetch a list of receivable accounts from Bling’s API. The API response contains a data array, and I use an Iterator to go through each item. Each item is then passed to a Parse JSON module to extract fields like id, value, etc.

The flow is structured like this:

HTTP (GET from Bling) → Iterator (data) → Parse JSON → Filter (id > lastId from Data Store)

The problem is that the filter only seems to evaluate the first item in the list, even after going through the Iterator and JSON parsing. It’s not correctly applying the condition id > lastId on each item individually.

I have the last receivable account with an Id greather than the Id in the data store, but the filter consider only the first receivable account and ignores the rest (Others)

In the Parse JSON, I’m setting the source as the Value from the Iterator and generating the structure using a single-item JSON (not an array). However, in the filter, the mapped field still appears as data.id, and it ends up evaluating id = 22455xxxxx instead of 22881xxxxx, which is the newest item.

What I’m trying to achieve:

I need the filter to properly compare the id of each individual item against the lastId saved in the Data Store, and only allow new entries to pass.

It would have been easier to use a webhook, but Bling (the erp tha im fetching data from) does not allow creation of webhook.

Question:

Has anyone faced this issue before?

How can I make sure the filter uses the parsed field id from each item (not data.id)?

Any insight or workaround is greatly appreciated!

Hey Aluizio,

can you share screenshots of the scenario and the filter it self?

Hi Stoyan,
Of course.

This is my flow.

It starts with the custom webhook, then in a data store i have the bling tokens (Access and refrsh) and a data store where i insert the last and greater Id from the bling’s receivables.

Then i have the http request, where i have a get, to receive all the receivable accounts

But the data is received all “togheter”

So, i have an iterator, that receive [Data] from the HTTP request,
Because i wanna open and get all the Ids, so i can see wich ones are greater than the one i have on my data sore.

Next i have a Json (parse), that receive that data and organize all the values separately

And them between the json (parse) and the webhook response i have the filter,

You can see, that in the filter, i can select the Id that comes from the Json (parse) and the number in the Id is the Greater Id (the one from a new receivable account that i just created).

But, when the flow runs, the filter receives only one Id, and it is the fist one

Wich is the first bundle in the json (parse)

I tought tha in the way i made this flow, every Id would be run trough, and in the filter i would have the total os receivables (18) saying who went trough and who didnt.

If you could help, i woul be glad.

Thank you

On the HTTP module you can set it ton parse the response directly, so you don’t need the JSON module. Then you need to iterate the resulting array to check each item inside.

Thank you for the tip stoyan.
I configured the http request to parse and for rid of the parse json, and it worked.

The result came as a real array, and couve send the array directly to the Iterator — without needing the “Parse JSON” module.