Google Vertext AI (Gemini) BundleValidationError

:bullseye: What is your goal?

Hi All!

First post here and VERY beginner to the world of automations in this space. TIA for any advice you could provide…I’m excited to be here and have been building a process in which (5) photos are researched via Gemini and then aggregated/bundled via the Array module into one concise listing (I’m an eBay seller). The goal is to create a semi-agentic process in which I can expedite my resale business so I can focus on other lines of business. Thank you for reviewing my scenario and providing and guidance

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

The big problem I keep running into is that my scenario will process a batch of 5 images per SKU individually instead of combining them into an aggregate for (1) eBay listing. This is confirmed when (5) items are posted to Airtable individually vs combined into that (1) SKU.

:clipboard: Error messages or input/output bundles

A required field is empty or in the wrong format
Validation failed for 4 parameter(s).

Missing value of required parameter ‘data’.

Missing value of required parameter ‘data’.

Missing value of required parameter ‘data’.

Missing value of required parameter ‘data’.

Code: BundleValidationError

:link: Create public scenario page

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

Hey there,

Your aggregation source is wrong. Set it to the module producing the extra bundles.

Thank you very much for your prompt reply. Would that be module 21 (Gemini Vertex)? I dont have that option in my Array module source?

Hi @LLM_AIDs

Welcome to the community.

From the context you’ve provided your source module should be the first. This will probably allow the aggregator to wait until all downloaded files are collected.

Please also clear your group by field. Because that tells make to not bundle the files into one bundle but to group them into different folder IDs. Except all files per run will come from one folder and maybe you intend to use multiple folder.

Regards.

Thank you for the warm welcome and your guidance!

For clarity, here is the use case and workflow:

  • Each new item will get a new Google Drive folder w/ unique SKU i.e. RE-000001, RE-000002.

  • Each folder will have 5 jpeg photos

  • If Make identifies new photos in a new folder, it will run this scenario

  • The goal is to have the (5) individual photos ran through Gemini, identified and valued, then arrayed into (1) consolidated record into Airtable.

  • This will allow (1) eBay listing to be created from the aggregate results

Thank you!

@LLM_AIDs

Thank you for providing additional details about the flow, it helps a lot!

Since each SKU has its own folder, you need to keep the Group by field as Folder ID. It informs Make that each SKU is a separate job, so that RE-000001 and RE-000002 do not combine in one single flow. If you delete this field, all files in all folders will consolidate into one pack and will make your product listing invalid.

For resolving the BundleValidationError issue and creating only one Airtable record you have to change the sequence of modules. First of all, Gemini needs to go after the Array Aggregator. The right order is:

Watch Folders - Search Files - Download File - Array Aggregator - Gemini - Airtable

At the moment, the process of working with images by Gemini is taking place separately for each file before bundling them, so that is why you see empty data issues and 5 Airtable records.

After Gemini will move to the position behind the aggregator, it will receive all 5 images as a bundle per SKU and send consolidated data to Airtable.

Hello,

Welcome to the community!

So let’s break offline process. Once you download each photo, you must run it through Gemini, then aggregate everything back into a single bundle to create exactly one Airtable record.

In Make, you can place modules between the one producing separate bundles (Search, Iterator, etc.) and the Array Aggregator. That way, each bundle gets processed individually before being aggregated back into one.

You can also nest another iterate-aggregate pair inside an existing iterate → aggregate block of your scenario. Just remember to always map Source Module correctly for each set.

Have a nice day,
Michal