Question

Need Help with Unzipping Files in Google Drive via Zapier


Userlevel 1
Badge

Hello Zapier Community,

I am reaching out to seek help for a particular use case that involves moving form submissions from Tally to Google Drive using Zapier.

I have successfully created a Zap that migrates the data from our Tally forms (A survey app) to Google Drive. The forms contain multiple file upload fields (9, to be precise) where users can upload images for different rooms in their house - living room, kitchen, etc.. The Zap I've created moves these uploaded images to Google Drive successfully, creating separate zipped folders for each room (multiple-file upload field).

The challenge, however, arises from the need to unzip these folders in Google Drive. Although I have written a Google Apps Script to perform this task effectively, it has a size limitation of 50MB per zip folder, which does not meet our needs.

So, I'm back to Zapier, hoping to find a native solution to this problem. I've considered external services such as CloudAPI and Cloudconvert, but subscribing to additional services is not a preferable option for us.

My research has led me to believe that 'Looping by Zapier' might provide a solution, but I'm struggling to figure out how to implement it effectively for this use case.

We're okay with all images from different folders being imported into one single folder in Google Drive, as long as they're named properly.

Has anyone else encountered this challenge and found a workaround within Zapier itself? Any guidance would be deeply appreciated.

Thanks in advance for your help!


This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

21 replies

Userlevel 1
Badge +1

I think you can use this service to unzip your folders and upload the folder again in the same google drive. 

Userlevel 1
Badge

Thanks Shahidul for your suggestion, but i’d prefer not having to go down the path of subscribing to yet another paid service. :)

Userlevel 7
Badge +12

Hi @Bucketplace!

You said that you created a Zap that ‘moves these uploaded images to Google Drive successfully, creating separate zipped folders for each room (multiple-file upload field).’ Do you set up the Zap so that it zipped the files, or do they come from Tally as zip files? 

I can’t think of a way to do this immediately, but we might be able to find a workaround for you - let’s try!

Could you please show us a screenshot of the Google Drive action that adds the files from Tally. Specifically, it would be really helpful to see a) what the files look like when they come from Tally and b) how you have that Google Drive action set up. Don’t forget to remove or obscure any personal or private information in any screenshot you share in the community (eg full name, email address, etc). 

For reference, Looping runs the same series of actions on a number of items. It’s very useful if you have a variable number of things that you want to automate eg creating a new Google Drive folder for every line item in a list. 

 

​I hope that's clear, please let us know if you have any questions!

Userlevel 7
Badge +14

Hi @Bucketplace 

Good question.

Can you outline a representative example for us?

How should the folders/files be renamed? (e.g. What is the folder/file naming convention to use?)

Screenshots are helpful.

Looping likely can help with this, but other prep steps in the Zap may be needed. (e.g. Code)

Userlevel 1
Badge

Hi Danvers, thank you for your assistance with this matter. I greatly appreciate it.
 

We have configured the Zap with Google Drive as follows:

  1. The Zap creates a folder in Google Drive for each form submission.
  2. It extracts all text-based answers from the form and compiles them into a single formatted Google Docs document within the submission folder.
  3. We utilize a Google Docs template for editing the submission.
  4. The Zap creates subfolders within the submission folder for each "room" in the form submission. In these subfolders, submitters can upload multiple images into a single file-upload field.
  5. Since these file-upload fields contain multiple images, the Zap creates zip folders for each of them.
     

    So far, everything works perfectly fine. However, the issue arises when we have to manually unzip all of these subfolders containing images. I couldn't find a solution within Zapier to automatically unzip these folders. As a workaround, I wrote a custom Google Apps Script which solves this issue with unzipping the folders, although unfortunately, Google Apps Script has a limitation of 50 MB per operation, and many of our subfolders containing images exceed this size.
     

    If you have any suggestions or alternative approaches to automatically unzip these folders, I am all ears :) 


    Thank you

    Best, 

    Kasper 

 

 

 

Userlevel 1
Badge

In extension to my previous message. 

Here’s a screenshot of our desired format. We are able to achieve this result with a custom Google Apps Script, but the only bottleneck is the 50mb operation limit. 

 


Also here’s a screenshot from our Tally submission page where you can see what I mean by ‘multiple file upload’ field. 

 

 

Userlevel 7
Badge +14

@Bucketplace 

Can you post screenshots with the DATA OUT from Tally for the File fields?

Userlevel 1
Badge

Hi Troy, 

THe first screenshot shows the data out from the Tally file fields.  

Here’s a close up. :) 

A subfolder is created based on the ID of the parent folder (created for each submission) in the first steps of the Zap. The property called ‘1. Entryway’ is the multiple file upload field from Tally. 

Cheers!
 

 

Userlevel 7
Badge +14

@Bucketplace 

I’m looking to see a detailed screenshot of the DATA OUT from the Step 1 for Tally related to the file fields that show the returned URLs.

This shows a .png file, but we can’t tell if that’s 1 file or multiple files.

 

Userlevel 1
Badge

Ahh my apologies, I misunderstood. 

Here’s a screenshot of STEP 1. 

Thanks for looking into this, Troy! :) 
 


 

Userlevel 7
Badge +14

@Bucketplace 

We need to see detailed screenshots with the data points returned from your Tally Step 1.

 

I’m looking to see a detailed screenshot of the DATA OUT from the Step 1 for Tally related to the file fields that show the returned URLs.

Userlevel 1
Badge

Ahh I understand. Here you go. 

 

 

Userlevel 7
Badge +14

@Bucketplace 

Ok, step in the right direction with the screenshots.

Now, can you show an example of a file field data point that has multiple files?

Need to see how that data comes thru. (e.g. comma separated list or as an array of items)

Userlevel 1
Badge

Great absolutely. 

Here’s a closeup view of one of the multiple file upload fields which contain several image uploads. 

 

 

Userlevel 7
Badge +14

@Bucketplace 

Great, that’s exactly what I was looking to see.

So multiple files come as a comma separated list.

How I’d handle it would be with some low-code via a JavaScript Code step to parse and prep the data, which is a more efficient, but advanced approach.

The general concept is to map each of the file fields into the Code step.

Then the code logic would be to split and loop thru each of the different file sets to create 2 master arrays. (FileName, FileURL)

So you’d end up with arrays that can be used in the Looping app to then be uploaded to GDrive.

EXAMPLE

  1. File Name = [“Bedroom-1”,“Bedroom-2”,“Bedroom-3”,“DiningRoom-1”,“DiningRoom-2”,”Entryway-1”]
  2. File URL = [“BED_URL_1”,“BED_URL_2”,“BED_URL_3”,“DR_URL_1”,“DR_URL_2”,”EW_URL_1”]

 

FYI: ChatGPT is a great resource to be able to generate code.

Userlevel 7
Badge +14

@Bucketplace 

I wrote a long reply, but it needs to be approved by a moderator because it got flagged.

Essentially I’d solve it by using a Code step to parse and prep the data before using it in the Looping app to then upload to GDrive.

The logic would be to create 2 arrays (FileName and FileURL) that combines all files.

Userlevel 1
Badge

Thanks a milion Troy. If that ends up working I would be thrilled! 

I’ll try to implement the solution as soon as your comment is approved. You are also more than welcome to send the reply to me by e-mail (kmillerdenmark@bucketplace.net). Then I will get on to it right away and share the result on this thread once the reply gets approved. 

Cheers!

Userlevel 1
Badge

@Bucketplace

I wrote a long reply, but it needs to be approved by a moderator because it got flagged.

Essentially I’d solve it by using a Code step to parse and prep the data before using it in the Looping app to then upload to GDrive.

The logic would be to create 2 arrays (FileName and FileURL) that combines all files.


I was wondering if your ‘long reply’ got denied? :( 

Best,

Kasper​​​​​​​

Userlevel 7
Badge +14

@Bucketplace 

The gist of the longer response was this.

I wrote a long reply, but it needs to be approved by a moderator because it got flagged.

Essentially I’d solve it by using a Code step to parse and prep the data before using it in the Looping app to then upload to GDrive.

The logic would be to create 2 arrays (FileName and FileURL) that combines all files.

Userlevel 1
Badge

Thank you, Troy. I just noticed that your message has been approved. :) 
 

I’m afraid your proposed solution seems quite advanced for my current understanding of Zapier. This is the first Zap I’ve ever created, and it appears I’m diving right into complex workflows before fully mastering the basics of the tool. But I'm definitely motivated to learn more.
 

Regarding your suggestion:

  1. You are recommending adding a code step for each multiple-file upload property to divide the list of file URLs into separate instances. What I'm uncertain about is whether I should create multiple separate code steps for each of these properties, or if I should group all properties into a single code step.

  2. When it comes to creating the JavaScript part, do you have any specific script in mind?

  3. Lastly, as for the final step which involves Looping. Even though I don't fully comprehend Looping yet, it seems that I should create a 'Loop from line items'. This would sequentially process all URLs, renaming them based on the corresponding property name (like 'Bedroom', 'Living Room'), and then output the uploaded files/images as unzipped images.

 

Sorry for my ignorance - I appreciate your patience and support Troy :) 

 

Userlevel 7
Badge +14

@Bucketplace 

  1. You can use 1 Code step.
  2. You can try asking ChatGPT for help in constructing the Code.
    1. I generally reserve advanced custom Code for paid projects.
  3. Correct.