Hello Makers,
I’m quite embarassed because I’m looking for very complex alternative to get variables in Make from Webhook, while Make is able to preview data in output bundles.
Here I can preview data from very low array in the output :
To extract the variables you’ve mentioned, there are a few ways you could go about it:
Manual Mapping: If you can see the data in the output bundle of the webhook module, it is not automatically available for mapping, you can access it by manually typing the JSON dot notation path way into field of the module where you want to use the data.
For example, if you know the path to the “Title” field is something like pay_load.children[1].children[2].data.value, you would type this exactly into the mapping field in the following module where you would like to use the “Title”.
Array aggregator tool: If the data you’re trying to map is in an array, you should use an Array aggregator and “flatten” the structure, making it easier to map, you will get deep array elements and then you can map the fields accordingly.
Array aggregator as name suggests
Aggregates Bundles into Arrays
Lets say you had three bundles, you can convert them into three elements inside one array
The aggregated fields you select will be part of that element
It will only give you the values that you have selected in aggregated fields
I had a look at your JSON data and I see what you mean. To map your Title field (on line 137 of your JSON file), you need 1.payload.job.workflow.children.children.children.data.value, but Make.com only shows 1.payload.job.workflow.children.children.children.reference etc.
Make.com has generated that list from the last item in the collection, and that item doesn’t have a data field.
As @ThakurHemansh mentioned, you can manually map values that you cannot see in the mapping list. You do this by putting {{}} around your values, so the title field for you would be: {{1.payload.job.workflow.children[].children[].children[].data.value}}
Make.com should recognise that as a reference to your data, and make it look like this:
These methods would only work for you when the field you are looking for is the first item in your collection. To map more complex collections, you’ll want to use the map() function to make sure you’re always pulling out the correct “children”.
For example, the Price field is the third “children” of the “Qualification besoin” section. To get to this value, you need to filter your “children”. Like this:
Thank you so much @Terry_Hopper and sorry for the delay. I was waiting to have time to test your solution before answering.
Well, it’s a manual mapping as @ThakurHemansh suggested and I do understand very well the principle, but in the fact, more difficult
For example, how to target the fifth collection in my 1st Children array? As you mentionned “Prix_estime”, I want “Prix final” which is {{1.payload.job.workflow.children[5].children[1].children[4].data.value}}, how can I get it?
As a designer, I need visualizing to understand and I promise that I will be autonomous with this example Hope you understand
However, it is better to filter the “children” like in my previous example, so that it will still pick the correct “children” if the data structure changes in the future.
So first we filter your top-level “children” to find the 5th one. The 5th “children” has a label of “Rapport d’intervention”, so we’ll use that. Like this:
@Terry_Hopper you are the teacher I would have loved to have at the university. It works and thanks to your clear explanations, I found the way to reach “payload.job.workflow.children[1].children[2].children[1].children[3].data.value → Email” on my own.