Jotform file submission inputted in new row in google sheets

I am trying to use Make to take responses from JotForm submissions and put them into a google sheet in rows. It’s been very easy to get set up the way I want, but I’m having an issue with files. There is a prompt on my form that allows users to upload a file (most commonly it will be .pdf files if that makes a difference). On JotForm I can see the files and back when I was using Zapier a url to the file would carry over into the google sheet. Here however on Make I’m not getting anything. Everything else is functioning so I can’t imagine I’ve configured something incorrectly… Any suggestions?


Thanks!

Hi @N_Stark,

In the Watch for Submissions module you can expand “Request” in the output and you should find the URL to the file that was uploaded.

Also, if you happen to change the name of the question in the form, that may alter your output and may break your scenario.

3 Likes

So I went into the logs and found what looks like a shortened version of the URL. When I tried ctrl+clicking on it, it took me to a page not found. My guess is because the full URL isn’t in the code? I’m not a coder by any stretch of the imagination.

My question is how do I get Make to insert the full URL into my google sheet? It seems it’s coming through the webhook in one way or another…

@Donald_Mitchell I also checked the scenario history to expand the watch for submissions module and see what it looked like in there. This is what I see:

You’ll notice there’s nothing between “Comments:” and “Add another load?:”. The file upload element is between those on my form, as you can see here:

That’s odd.
Have you exported the JSON and searched the entire output?

Is the paperwork field a built-in field or one of the add-on ones?

2 Likes

I’m not sure how to export a JSON file of the output…

The paperwork file upload element is a JotForm native element. There is a third party one I was looking at that may be better… However I feel that shouldn’t be necessary. I’d like to keep this as simple as possible and down to as few operations as possible.

If you could give me simple instructions or point me in the right direction on how to export the JSON I’d be happy to try taking a look at that and seeing if I can find the url.

Also just out of curiosity, what benefit do I get if I can find the url in the output? Will that help me in connecting it with my add a row modules?

Thanks for your help. I really appreciate it. Getting this to work is pretty important to my small company and they’re really counting on me to figure it out…

Sure, after Jotform module runs (because you submitted the form), that little bubble pops up to the top and right of it. Click into that like you already have, to view the rendered output (with all the expandable parts, etc…).

There will be an option at the top right next to “Data Size” that lets you view the output JSON.

3 Likes

Ok yeah, so in there it totally has the full url that when copied and pasted into a browser downloads the file for me.

Now it is within square brackets, does this mean it’s an array? If so, do I need to use a special function to convert it to a string? I probably sound silly taking random stabs in the dark here…

Yea, so in your mapping panel (that’s the panel that opens up for you select variables or function to enter into a field), you need to locate “paperwork” from your Jotform module #8. There’s also a search bar if you can’t find it just by scrolling. For me, it’s all the way at the bottom just like in your last screenshot, so you might just try scrolling all the way down to find it, but use search if you can’t.

Yes, it’s an array and I think by default Make will grab the first item from an array, but maybe not the best to rely on that in case there are multiple items in that array.
You can use the first() function on it to return just the first element which results in a text string.
You can also use a join() function to connect all the elements in a giant text string, separated by the character you specify, usually a comma.

3 Likes

Voila!!

Using the search bar in the mapping panel was really what did the trick for me. I had already gone back into JotForm and renamed the paperwork upload fields’ unique identifiers to something I could more easily remember (paperworkload1, paperworkload2, etc.). Sure enough in the JSON of the data output the renaming was present there as well. From there all I had to do was use the search bar to grab the correct element. I have no idea how it was nested where it was but I thought I had looked everywhere… evidently not.

After I found the correct variable I just plugged it in and tested it. It worked. No need to use an array function like first() or join(). Here’s some screenshots of what it ended up looking like:


Thank you so much for your help @Donald_Mitchell !!
The Office Thank You GIF

1 Like

You got it! Just careful if you change the field name or id, it might affect your automation.

3 Likes