Trouble mapping multi-select fields (arrays) from forms into Google Sheets – fields not resolving properly (e.g. ziele[], branche[], kanal[])

Hi Make Community,

I’m a Newbie and currently working on a form integration where user input (via checkboxes/multi-select fields) is being sent to Google Sheets via Make. However, I’m struggling with mapping and formatting these values correctly – especially when fields like ziele[], branche[], or kanal[] are arrays.

Here’s the setup:

  • A user submits a form (attached) with multi-select options for:
    • Kanal (Channel): WhatsApp
    • Ziele (Goals): e.g. More time, more clients, automate, etc.
    • Branche (Industry): multiple industries + a free-text “Other” field

What I’m trying to achieve:
:backhand_index_pointing_right: A clean, readable string per field in one row of Google Sheets (e.g. "Automate, More Revenue, Less Chaos" instead of [object Object] or broken formulas)

What I’ve tried:

  • join(ziele[]; ", ") → results in join(get(12.ziele[]); ", "), but data sometimes appears broken or not processed at all
  • Mapping the array fields directly to columns → Sheet shows formula code or blank values
  • Using get(12; "ziele") vs. get(12.ziele[]) → unclear which is correct when passing data to Google Sheets

Issue:
In Google Sheets, the row ends up with broken logic like:
…instead of the resolved values. This happens especially with ziele[], branche[] (including “other” text input), and kanal[] with conditional logic.

Screenshots attached below with:
:white_check_mark: Form setup
:cross_mark: Incorrect spreadsheet output
:gear: Current value mapping logic in Make

Would really appreciate any help in debugging how to properly parse and map those array values into clean strings for a single-row insertion in Google Sheets.

Thanks in advance!



Welcome to the Make community!

These are invalid:

Your brackets, operators, functions, or special variables were not selected from the Variables Panel.

Try selecting it again from the Variables Panel, or type curly brackets like these {{ }} so that it ends up with a background color:

{{ ( }}
{{ / }}
{{ + }}
{{ = }}

etc.

I also suggest doing this Make Academy, as it covers selecting brackets, operators, functions, or special variables from the Variables Panel.

For more information, see:

Hope this helps! Let me know if there are any further questions or issues. P.S.: investing some effort into the tutorials in the Make Academy will save you lots of time and frustration using Make!

@samliew

Hi Sam,

thank you for your detailed explanation and examples! I tried to follow your instructions exactly:

:white_check_mark: I used the join(map(12.Array[]; ...)) structure
:white_check_mark: Inside map, I added the if(and(eq(...), eq(...)), "WhatsApp", "SMS")
:white_check_mark: I selected whatsapp and whatsapp_optin using the Variables Panel

However, Make keeps giving me an “Invalid IML” error.

:backhand_index_pointing_right: The expression looks like this:

{{ join(map(12.Array;
if(
and(
eq(lower(12.Array.whatsapp); “ja”);
eq(lower(12.Array.whatsapp_optin); “on”)
);
“WhatsApp”;
“SMS”
)
); ", ")
}}

:backhand_index_pointing_right: The error says:
Invalid reference in parameter ... Invalid IML.

I think I am misunderstanding where exactly to select whatsapp and whatsapp_optin.
:right_arrow: Do I need to click them from the Variables Panel after placing the cursor inside the map context?
:right_arrow: How can I ensure that Make uses only the element variable (whatsapp instead of 12.Array[].whatsapp)?

Could you please help me understand how I can insert the variables correctly so Make does not generate the Invalid IML error?

Thank you so much for your support!

You can’t have newlines between variables. Please provide screenshots.

Please do the Make Academy too.