Jot form to spreadsheet mapping issue

Unable to map the bundle items “Name” & “Phone number” out of my jotform and into a google spread sheet.

I’ve created a Jotform “Get form submission” trigger, and in the configuration prompt for the module I connected it to my Jotform API and chose the correct File ID to the form I went to extract data from. I ran this module only and I can see the data/items from bundle being produced correctly. So far so good. I then created a google spreadsheet on my google drive named the headers in Columns “A” & “B”, as “Name”, & “Number” respectively. went back to the Make scenario builder/editer and created a google spreadsheet “Add a row” Module. I then connected it to the Jotform trigger and mapped the bundle item “Name” from the Jotform module to the header “Name” in the spreadsheet module. I’ve done the same and mapped the “Phone number”. I ran the scenario as intended but unfortunately the items don’t populate in the spreadsheet. Need help to resolve the issue.

1 Like

Hello @Hany,
Most of the time these things are working fine.
Can you please share a screenshot of your implementation, data and output?


:bulb:P.S.: Always search first, Check Make Academy. If this is helpful, mark it as a solution and :+1:
Need expert help or have questions? Contact or comment below! :point_down:


Hello @Hany,
Read this very carefully.

JotForm Response Structure

In jotform response, inside the Answes collection, each element is a key with field names.
Then in that field name item, there are 2 elements of the array with 1(index) always the field name(used on JotForm) and 2(index) always the value of that field.

Field Type and Value Structure Difference

Different field has different field value structures for different types of fields.
As you can see the name has an array value of 2(index) first & last, but that participantContact has just a phone number in text only.

Current Implementation

Now as per your current field mapping on Google sheet. See this "Total number of bundles " = 2. That means there is more than one

Possible Solution

  • First, you need to combine those multiple bundles into an array using Array Aggregator.
  • Then use Iteration Module. Use that combined Array.
  • After iteration I recommend you to use “Set Multiple Variable Module”, and create each field as a separate variable.
  • Check for the get() function should be used there to get specific values from the array. https://www.make.com/en/help/functions/general-functions#get--object-or-array--path-
  • Then use Create Row in Google Sheets and map those variables directly into a specific field.

I hope this will work for you.


:bulb:P.S.: Always search first, Check Make Academy. If this is helpful, mark it as a solution and :+1:
Need expert help or have questions? Contact or comment below! :point_down:

Whatever you said is way above my knowledge in Make. Would it be possible to send you the blueprint and you can edit and resend it back to me ?

Sure,
Just share it and also add some of the input bundles in JSON(single or multiple) so that I can directly play around with it and share back my created blueprint.

I ran the scenario and exported it but im not sure if it extracted the bundle along with it in the json file.

Jotform Blueprint.json (26.0 KB)

Thanks for sharing your blueprint.
Please again see this very useful post of @samliew about how to share your scenario details. I appreciate most of the posts about detailing.

Let’s see if I can do it today otherwise do it tomorrow.

Hello @Hany,
Please import this blueprint.
Jotform_Blueprint_Dilip_version.json (12.1 KB)

Let me know if still have any issues.
:+1:

Hi @Hany

This is because the answers are in an array and you are mapping the array itself instead of values. + you do not need array aggregator and iterator here.

Let me describe the two methods of doing this.

  1. If you want to get this automation run everytime the form is submitted and store that data in google sheet, then you can use “watch for submissions” module and can simply map the data from it as it doesn’t give array values.

  2. If you want to run this automation once to get results from all previous submissions, then “get submissions” module is fine.
    Here to work this, you need to use get() and map() function (according to need ) over the arrays of each answer.

Her’s an example containg answers where name array contains collection of first name and last name while fileUpload contains array of file urls:

Functions to use to demonstrate how you will get values:

In your case, to get the phone number, you just need to use get() function and pass the index as 2

Result:

If you want to put all the results in one operation, then only you need to use aggregator with same mappings (but not iterator).

Regards,
Msquare Automation - Platinum Partner of Make
@Msquare_Automation

Yes @Msquare_Automation, Thanks for sharing that.
You’re right when there is a direct trigger from a single-form response.
Then we don’t need to use Aggregator or Iterator directly using the Set Multiple Variable OR use Google Sheet module directly.

:bulb:P.S.: Always search first, Check Make Academy. If this is helpful, mark it as a solution and :+1:
Need expert help or have questions? Contact or comment below! :point_down: