Hi All,
I have a google form submission for up to 12 meal pre-orders all with the same booking reference. For example, fields for Guest 1 Name, Guest 1 Main, Guest 1 Dessert, Guest 2 Name . . . Etc. how do I take the google sheet with 1 row, to an array with a bundle for each guest to iterate through multiple times for the next stage of processing?
I’ve looked everywhere and really struggling with this! I’d appreciate any support.
Thanks,
Matt
2 Likes
Heyy @Matt_Price Welcome to the community!
Can you please share your output from Google Sheets modules and expected array sample so we can help further!
Best,
@Prem_Patel
Hey,
Thanks for the reply. This is the output - I only filled out two of the ticket details, out of 4 available (I’d like this to be up to 12 hence the reason to make an array).
Thanks,
Matt
2 Likes
Can you share array sample @Matt_Price ?
Currently, I filter by the number of tickets chosen at a router. For example - 2 tickets chosen so I would add both rows one after the other to a ticket log and then search that google sheet with the booking ref which would return both bundles - from there I can process as an array. See my scenario below, I want to remove the filtering and adding each ticket separately before being able to process in bundles. Hope this makes sense.
Thanks,
Matt
1 Like
Ahh Damn, No need to have that complication, let me simplify that.
That would be super helpful if you could - I’m quite new to make.com and I can’t figure it out!
Thanks @Prem_Patel
1 Like
This is what an expert like me would love to solve that works for n number of tickets.
This is how it will look like. Steps below.
Step 1.: Watch rows module, you can use other as well based on your need! just make sure to include all range. I replicated 1 structure for 7 tickets.
This is how output looks like
Step 2: Repeat till no. of tickets using repeater module
Step 3 Create a JSON. use structure as you want, you can even modify that later. Just use formula and mapping like i did. I follow math function considering 4 ticket fields for each tickets in series. Source as Repeater. Copy sample formula {{get(
65; 8 + 4 * (67.i - 1))}}
where 65 is module number of google sheets watch rows. 67 is for repeater
Next step is to Parse JSON and then use aggregator with source as JSON aggregator module. I haven’t added all mappings but you can
Final Output!
Even if it’s not same. this method will help in solving the problem and achieving desired results.
Best,
@Prem_Patel
1 Like
I hope it helps! @Matt_Price
Thank you so much for the help, I will try this later and update.
Please could you explain the following:
- Is there difference between using search rows and watch rows?
- On the Aggregate to JSON module, what is the 8+4*({{Repeater}}-1)?
- What happens in the Parse JSON module?
Thanks again,
Matt
1 Like
Watch rows will return new rows added in sheet, Search rows return Rows that you search for from sheet using filters.
Parse Json module will parse the json created by json aggregator.
That formula is getting the column id/number. That number is a value of different event related header columns, considering that each event set is of 4 different consecutive columns. In make google sheet outputs are returned as column id number. You can check by hovering cursor over any key of the output from sheets. Repeator module helps in getting each set of 4 columns. so for Event 1 values there are 4 columns, 8,9,10,11 and for event 2 next 4, whihc will be 12,13,14,15. This formula will get value from each set for specific field.
1 Like
Thank you for explaining. I am really close to sorting this now. The only problem I’m having is referencing the search rows module in the get( function. I tried Spreadheet ID but that just returned the ID in my bundle. How do I reference that module like you have?
Thanks,
Matt
1 Like
@Matt_Price Forgot to mention that as it is not natively available in mapping panel. For that you have to map it directly type in somewhere and copy paste that in place of spreadsheet id in get function. {{2
}} as 2 is the module no. for your output.

Best, @Prem_Patel