Our companies ran on one Google Workspace account: Gmail for the company domain, Drive with a few shared drives, Calendar, Contacts, a Google Form and a handful of Apps Script automations. Our records system linked to Drive files instead of holding them, and a portal read Drive through a service account. We had planned to leave by the end of March, before the contract ends in May. Once the inventory was done, the move itself took about 36 hours.
Start with an inventory, not a copy
Before moving anything, we listed three things, without changing a single file:
- What is in Drive. Our first estimate was 45 GB. The real figure was 14,385 files and 13.2 GB; the 45 GB was a backup folder that also held old exports. Measure Drive itself, not your copy of it.
- What links to Drive. Our records held 592 Drive links, but they pointed at only 186 files, and 4 were already broken. Our free Drive link finder does this part for any export.
- What talks to Drive. Drive was used in seven places in our own systems, and five of them read or wrote Drive directly, including a client portal, backup jobs and a search index.
We also checked our existing backup against Drive file by file. Of the files Drive gives a checksum for, all but 12 had a byte-identical copy. Knowing that before you start makes every later step safer.
Where the files went
We looked at Nextcloud, Seafile and OpenCloud and chose none of them: Nextcloud needs frequent upgrades that sometimes break things, Seafile stores files in its own format, and OpenCloud is still young. What we use instead:
- Plain folders on a small server we own, with the same layout as Drive, so every path stayed valid.
- Syncthing keeps the same folders two-way on the laptop and the phone, so files open without a browser.
- File Browser, a light web view, for opening files from anywhere, reachable only over our private network.
- Backups every night to a second drive and an encrypted off-site copy, as in Backups you have actually restored.
The first full copy, made with rclone with read-only access to Drive, held 13,100 files and 7.4 GB, and every file matched Drive by checksum. Google Docs, Sheets and Slides aren't files: 99 of ours had to be exported as Word, Excel and PowerPoint documents.
Move one folder at a time
A folder can't be kept in sync two ways and copied from Drive every night at the same time, so we moved folder by folder. For each one: stop the nightly copy, check it matches Drive, start two-way sync with the laptop and phone, then rename the Drive copy "(moved - do not edit)" so nobody keeps working in the old place. The client folders alone were 5,396 files and 3.7 GB. All of Drive was moved within a day.
Fix the links, keep the old ones
Links in our records got two different fixes. Living spreadsheets, still edited every month, were relinked to the web file browser: 368 links. Finished evidence, such as scanned receipts and statements, was attached to the record itself, so the record no longer depends on any file store: 156 of 160 documents. The other 4 couldn't be, because their files had already vanished from Drive, which we only found because the inventory ran while Drive still answered. Every record keeps its old Drive link in a separate field, in case one ever needs tracing.
Email last, with the new system running alongside
Our company mail moved to Fastmail. A script read incoming Gmail and created leads and tickets in our records, so we rebuilt it first and ran the new version for two days beside the old one, without letting it change anything. Its decisions matched: the same new leads, the same 3 replies, the same 5 newsletters skipped. The only difference was a duplicate lead the old script made and the new one didn't.
The switch itself was short, in a fixed order: turn off the old script, turn on the new one, change the mail records in DNS, set up the sending address. Order matters, or mail is filed twice or missed. Going back would have meant pointing the mail records at Google again. Calendar and contacts had already moved.
What nearly went wrong
- A key that lived in Drive. The key that unlocks our encrypted backups was kept in a vault inside Drive. Had Drive closed first, those backups could never have been opened again. Look for keys, recovery codes and password files before anything is deleted, and test a restore without them.
- Two files with one name. Drive lets two different files share a name in the same folder; a normal folder doesn't. We found 18 cases, and in 5 the files differed. Fetch each one by its Drive ID and rename it.
- Things you can't export. Google Vids, Forms, Apps Script projects and Gemini projects have no ordinary download. We saved the videos as MP4, the form answers as a spreadsheet and the scripts as text, by hand.
- Small copy errors. The first copy stopped on three broken shortcuts and one file Google flagged as suspicious, and one file name came back with an extra character. Read the copy tool's log, not just its summary.
- Old scripts failing quietly. One automation had been failing since its access token was replaced months earlier, and nobody had noticed. Delete every trigger you no longer need.
Delete last, and slowly
Only after every backup checked out did we empty Drive and Gmail: all 39,046 messages were in our own backup first. Both trash folders stay untouched for 30 days as a safety net, and the Workspace contract runs until May, so nothing is lost if something turns up. One shared drive of large raw video stays in Google for now, by choice.