Fillout payload changed and now my flow is failing

:bullseye: What is your goal?

get fillout form results and create a record in airtable

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

the payload from fillout changed for some reason, at first i got an “Answers” object with flat Q:A structure. now in this form and in others as well im getting a “Questions” array with id, name, type, value per each question, so how can i access the value property in the question object, in order to create airtable record?
any help will be much appreciated

:clipboard: Error messages or input/output bundles

no error message just the payload is not recognized

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

Welcome to the Make community!

Looks like you have an ARRAY of questions.

Combining Map & Get (or First) functions to get Values from Arrays

The built-in functions map, get, first (or `last) allows you to access values within an array containing collections.

First, use the map function on an array, which returns another array of filtered values —
map(array; key; [key for filtering]; [csv-values for filtering])

Then, the built-in function get (or first/last) to get a specific, single item from the resulting array —
get(array; path)

You will get something that looks like these —

{{ get(map(array; "value"; "name"; "content-type"); 1) }}
{{ first(map(array; "value"; "name"; "content-type")) }}

Map Function Parameters: Step-by-Step

To easily remember how to use each of the parameters of the map function, think of it this way:

  1. From this array (of collections),
  2. I want to get all the the values for the property/key named _______,
  3. Where another property/key _______
  4. has the exact case-sensitive value _______

Example

1. From this array (of collections) user_column_data

2. I want to get all the the values for the property/key named string_value

3. Where another property/key column_id

4. has the exact case-sensitive value EMAIL

5. Output

e.g.:

{{ first(map(1.questions; "value"; "name"; "user_name")) }}

:high_voltage: Make Input Markup: Copy-paste the above into the field, including start/end curly brackets for it to import as intended :warning:


For more information, the documentation for the above functions can be found in the Help Centre and the “Mapping with Arrays” link below. You should also complete the tutorials in the Make Academy, especially Using get() and map() functions as this is the most important knowledge you need to understand so that you can successfully apply it when building scenarios using Make.

Links & Guides

Here are some useful links and guides you can use to learn more on how to use the Make platform, apps, and app modules. I’d also recommend going through the Make Academy if you haven’t yet!

Learn Make

How-Tos

@samliew

Hi @samliew ,

thanks for the detailed reply, i tried to implement it but my issue is that on the fillout webhook triger i see the question array with the properties, but when im trying to dynamicly selkect it in the following modules , my dynamic data is in the Answers object form, although there is Question array which only contain 1 question, i really not sure why is this the behaivor, olease see in screenshot attached how i see the dynamic data

is there a way i can control the payload structure?

why in the first place i stopped to get the Answers object an started to get the question array?

and last question why the dynamic data is not aligned with the payload structure?

thanks a lot

Eyal

Try running the trigger module once and send a new test form submission through.

Then save the scenario.