Best answer

How to transfer a file in Google Doc to another service securely?


Userlevel 1

I feel like Zapier has designed us info a corner by not providing any Actions that allow us to move, delete or change the sharing privileges on a document in Google Docs (or any service for that matter). So hopefully someone has an idea on how to solve this...

I have documents that are not government top secrets but are confidential enough that we can’t just turn on the “Anyone with a Link can view” sharing option of the google docs and leave it on forever.

The issue is I that I need to transfer a google document to another service that can only accept a publicly accessible URL to the file. Worst case scenario, I’m ok with this document being public long enough for the transfer from google docs to the service but then I need to remove the public accessibility. But hopefully there are services/options out there that can give even better security...

There are a dozen potential ways we can securely/semi-securely transfer this file from one major document service to another service. The issue is that I can’t figure out how because of Zapier’s massive (seemingly self inflicted and intentional?) limitations. So my questions are:

1) Is there a way to delete a Google Document yet? Or any plans to add this feature? (a search in the community seems to yield the answer NO but for other Zapier competitor services the answer seems to be yes, because others seem to understand how it isn’t a “nice to have” but is a requirement… any change of heart yet?)

2) Is there a way instead to change a Google document’s Sharing settings? (in other words, I can set it to “anyone with a link can view” and then after the file is transferred, I can remove/change that privilege/setting)

3) Is there a separate service I can utilize to where I can transfer a google document that provides some combination of the features to:

A) ability to delete the file?

B) ability to set privileges for the file link to be public and then set it back to private?

C) Adding credentials, tokens and keys to the file link URL parameters to act as credentials for the file, so the general link to the file isn’t public?

D) Provide for one time use links to the file? After that, the file self destructs or at least the global link dies.

E) Provide for an IP filter so only white listed IP addresses can access the file? (the service I want to transfer to publishes the handful of static public IP addresses that all calls will come from… in theory a file only accessible from those whitelisted IP’s would provide decent security)

4) Or are there ****ANY**** features in, or integrations with, Zapier that I can utilize to somehow transfer a google document to another service that is not within the Zapier security domain, that doesn’t involve making links to files globally publicly available forever until a human being logs in to delete the file or remove the privileges manually (which of course, would defeat the entire purpose of what we are trying to achieve by investing in Zapier automations)

Any ideas on how to solve this issue would be greatly appreciated.

icon

Best answer by nicksimard 2 May 2022, 23:15

View original

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

10 replies

Userlevel 7
Badge +14

Hi @Ryan R. 

Good question.

Check out the GDrive available triggers/actions: https://zapier.com/apps/google-drive/integrations#triggers-and-actions

Userlevel 1

Troy,

What specifically do you think will solve the issue? I see the “Add File Sharing Preference” Action. The description of the action seems to indicate that a new sharing URL is created? So I can create a “Public can view” link. But then how do I delete the link or remove that URL\Permission from the file?

I guess I can try “Replace File”? Create a globally available publicly viewable file with dummy info. “Replace” it with my document. Upload it. And then “Replace it again with dummy info? This begs the question to Zapier… If I can “Replace” the file, destroying the old contents, why can’t they just provide a delete function instead? I’ll play with this a little...

Or was there some other solution you were envisioning with Google Drive features?

Userlevel 7
Badge +14

@Ryan R.

Many apps don’t expose their destructive API endpoints (e.d. Delete File) in their Zap integrations as those can be misused, causing more unintended harm than good.

 

Feedback and feature requests can be submitted via a ticket to Zapier Support to be logged: https://zapier.com/app/get-help

Userlevel 7
Badge +11

Hi @Ryan R. 

Sorry to hear that you’re feeling so stuck. Let’s try to get you un-stuck!

Troy is correct that we tend to not have many ‘delete’ actions, because they are so destructive and often irreversible.

In terms of changing the sharing preferences, that is possible with a Zap :)

Change Sharing Preferences to Public

This would make it publicly available:

 

You could then continue with the rest of the workflow, to move the document (assuming the other service can use the particular format that Google Drive/Docs uses, meaning you don’t get something neat and tidy like https://googledrive.com/file.pdf).

Change Sharing Preferences to Org-Only Viewing

Once that part is done, you could change the sharing preferences back to something like this: 

 

That means the document wouldn’t be publicly available for very long at all. Likely less than a minute, and maybe as little as 10 seconds or so.

After the Move: Leave It, Move It or Overwrite It

Once the document is in the other service, you could leave your original as-is, or move to a folder that few people can access, or over-write it (as you mentioned).

 

That last part isn’t ideal, versus deleting it. But you could move it to a Delete These folder that you clear out periodically, if you wanted to.

Using NoCodeAPI.com to Delete the File

You can combine another service with Zapier if you really wanted to automate the deletion of the file. I know that https://nocodeapi.com supports deleting a Google Drive file:

 

They provide you a URL that you can then use with a Webhooks by Zapier step:

 

It’s actually a really neat service, because it means you can do things like what is shown above MUCH more easily than digging into developer docs, getting auth keys, bearer tokens, etc.

Hope this helps!

Userlevel 1

Nick,

I appreciate you trying to answer the question. I’ve spent time working on this solution again using the information you provided but looks like there are some major issues with these answers…

Change Sharing Preferences to Org-Only Viewing

The title to this solution is wrong unless there is something I’m missing. Your screen shots and explanation leave out the very important details of exactly which Application and Event are you suggesting I use? The only one I can find that has a list like the screen shot in your answer is “Google Drive”->”Add Sharing Preference”. For a moment there I got excited that maybe you were pointing me to something I missed but the operative word in this Event is ***Add***. It doesn’t removed the old sharing link. So I can ADD a link to only share this file with my Org but it doesn’t remove the old PUBLIC link!

Could you please provide more detail on how I **CHANGE** a file link in Google Drive / Google Docs? Based on my research, there can be multiple links to the file and just because one link is only for an org that doesn’t negate other public links. That is why I’m so frustrated that Zapier doesn’t provide an Event to delete links. But please tell me what I’m missing here… 

Move It

This isn’t going to work for multiple reasons. One, moving the file doesn’t change any publicly available links to the file. So while the file is sitting there waiting in a directory to be deleted, the world still has access to it. Second, the whole point of zapier is to automate basic tasks that humans easily mess up, forget about, do incorrectly, etc. Having this modern tool to automate a every aspect of a process and then say “that last step that every program on the planet can do (i.e. delete the file), ya, we have to remember to clear it out manually”. It is is a huge waste for Zapier to build an extremely very powerful system and then turn around render it borderline useless by refusing to put in delete. And by useless I mean that we keep having to spend so much time having to learn how to program API’s just to work around these limitations we are getting to the point we are wondering how long until we port the rest of our automations out of Zapier and do everything via direct API. We are increasingly spending more and more of the time Zapier saves us trying to figure out how to work around it’s self imposed limitations.

Using NoCodeAPI.com to Delete the File

I want to thank you for turning me on to it’s tool. I hadn’t heard of it before and it seems fairly powerful. Unfortunately, we are already drowning in SaaS tools and app… each one another learning curve and expense. It is frustrating that I have to go sign up and pay for yet another tool just to work around one self imposed limitation that doesn’t make sense. The existence of tools like this, and the capabilities that are within Zapier competitors, should validate that features like “delete” are fairly fundamental requirements for doing automation logic… I wish Zapier would recognize that.

 

Next week I will dig into the NoCodeAPI tool and report back...

 

Userlevel 7
Badge +12

Hi @Ryan R. 

I don’t know if I can offer a comprehensive solution for you here, but I did want to do a bit of testing on different links to files in Google for you.

I created a doc and made a ‘Anyone with link can view’ sharing link and opened it in an incognito browser. With the setting on ‘Anyone with link can view’ I was able to see the file, no problem. I then changed the sharing settings in the doc to restricted and refreshed the page in the incognito browser, I couldn’t see the doc and was immediately asked for a Google login, ie the previous link no longer worked. 

You may want to do a little testing of your own, but from what I can tell, when you change the sharing settings of a document, any previous public links no longer work. 😊

Userlevel 1

@Danvers, How did you do this test? You didn’t put any detail… I too am able to reproduce these results from inside google docs/drive when I right click on the documents to *change* the permissions on the file.

The issue is that when I try to do this same thing in Zapier, the only function I can find so far is “Add Sharing Preference”. In my test, in Zapier, I created a document that was public (Incognito mode accessible) and then using zapier with the google drive integration I can “Add sharing preference” to only work in my org. When I do this, the old public link still works in incognito mode and now I also have *added* a new link that only works within my org.

Using Zapier, how can I *change permissions* instead of *adding links*? How do I “Remove” a sharing preference in Zapier like I can do in the browser user interface? Is there an event in the google doc or google drive zapier integration that I’m missing? Both yours and @nicksimard responses were lite on exactly which events to use to reproduce your results.

Userlevel 7
Badge +12

@Ryan R. Ah, gotcha - I was testing it from the Google side of things (to see if the sharing link became unusable), not the Zapier action. Like you, when I tried it with the Zapier action it’s only adding the permission, not removing the previous one. 

 

I’m sorry that this isn’t working the way that you need it to. One thing I will say is that in answer to your question 4 (is there any way to transfer a file without making a public link?), that is possible. If the service/app that you transfer the file to accepts files (instead of the download url of a file) you can do this. 

For example, in this Zap I used a find document step for Google drive to get the details of a file (a new file trigger would work too), I can then transfer the file to dropbox using the File field instead of a link:

 

I don’t have a list of apps that accept file transfers this way, but if you have an app in mind, I’d be happy to check for you 🙂

 

I’m not sure if that helps you in this instance but I wanted to mention it in case it does!

Userlevel 1

@Danvers, I used this same capability to attach the file to an email. The issue is that I’m using an API that isn’t native to Zapier so we are having to do it via code by zapier. And the API sucks because it only accepts a link to a publicly available file.

The more I look at this the more I’m wondering why Zapier doesn’t either:

  • Make a native file handler with these features of: one time use links, IP filter, access tokens, delete after download, etc.
  • Make a wrapper around AWS S3 with these features (if the concern on Zapier’s side is taking up their storage).

But I am also increasingly getting frustrated with the lack of Delete functions. Back when I did embedded systems programming I was never told I can’t have access to a delete resource function because of the concern than it was too destructive (whatever that means). At some point you have to trust a developer with the tools they need to do the job. Microsoft, Apple, Android, etc, haven’t removed the delete feature from their operating systems just because 0.001% of users every day are going to accidently delete a file they need.

Userlevel 7
Badge +12

I can totally understand your frustration here; you know what you’re doing and Zapier doesn’t have the tools you need to get on with it. 

 

Microsoft, Apple, Android, etc, haven’t removed the delete feature from their operating systems just because 0.001% of users every day are going to accidently delete a file they need.

Part of the problem is that for those Operating Systems, if someone makes a mistake and deletes a file, it’s generally only one file. With Zapier, you could automate the deletion of dozens of files without realizing what that you’ve made a mistake.

I do hear you though, and in this case the best way to make sure that feed back makes it to the Zapier Product team is to drop a message to the Support team using the Get Help form. To make things easier, you can include a link to this post so that you don’t have to repeat yourself to share the context of what you need.