Skip to main content

Hi everyone :) 

Can you please help me? 

I have the following task. Need to download a file from google drive or another 3rd party application and then upload it to our platform.

I have additional requirements:

  1. files can be larger than 100 megabytes
  2. files are not publicly accessible

I want to create the following zap:

  1. trigger new file uploaded into google drive
  2. our platform custom action (download file and upload it to our storage)

At first, I was planning to just get file object from google drive trigger and then just pass this object into bundle and upload into our API. But zapier has limitations about file size and file accessibility - article link

So after that I decided to get file URL. Pass it into our backend and then download file from this url. But in this case I need access token just to download file from google drive or slack (another third party application).

 

Can you help me to understand what is the best approach if I want to upload small AND big files which are not accessible?

Can I pass access token from one app to another in zaps? 

Maybe I would need to try out this approach stash files approach - https://platform.zapier.com/cli_docs/docs#stashing-files?

Or I am missing something and there is a better solution for this case? 

 

Hi @Kirill! This is a tricky one but I’ll do my best!

You will definitely need to use the ‘stash file’ (or hydration) method to do this because a) Zaps can only work with publicly accessible urls and b) if the file is over 100mb using the url wont work. 

 

The Google Drive Trigger New file or New File in Folder to trigger allows you to use this method. When the Zap is triggered, you’ll see fields for the download url, last updated, etc and there is also a file field. That’s the one that you need to use to send the file to your storage. I know that this method works for things like sending files to other storage services like Dropbox, so it is possible to use it to upload files to another service. 

I think that to be able to pass a file to your storage, you’ll need to build an integration for your storage using the Zapier developer Platform. That will allow you to properly auth users (ie with the access token) and should then allow you to upload the file. I’m not a developer, so I can’t guarantee that it will work, but from what you’ve described it sounds like it would 😊

 

I can see that you’ve already found the Zapier Platform documentation, which is a great start. If you have any questions about how to use it you can ask a question in our Developer Discussion section. We have folks helping out there who know a lot more about app development than I do!

 

 


Ok. Thanks I will try to ask about this in development section.


Hiya @Kirill! I hope you don’t mind, I moved your post to the dev forum for ya! Hopefully this helps get the best set of eyes on this for you. 🙂