services · system audit + dependency map + Workspace migration + script and trigger repair + AppSheet reconnection + handover

Moved a home-built Sheets, Apps Script and AppSheet system into a new Google Workspace without losing a single automation for a window cleaning company

Client snapshot

A family-run window cleaning and gutter clearing business in Leeds: the owner, an office manager and five two-person crews working regular rounds for about 900 domestic and commercial customers. Over three years the owner had built the whole business system themselves in Google Workspace: customer and round sheets, an AppSheet app the crews used on their phones, Apps Script that turned completed jobs into invoices from a Google Docs template, and a set of time-based triggers that sent reminders.

The problem

The system lived in an old Workspace on a domain the business no longer used, and the owner had already paid for a new one. Nobody wanted to start again, but every attempt to copy things across broke something. Copied sheets pointed at the old invoice template. Scripts opened files by ID and failed silently. Triggers didn't come across at all, so reminders just stopped. The AppSheet app still read from the old sheets. Some of it had never fully worked even before the move, and it was hard to tell which faults were old and which the copying had caused.

What we built

Nothing new. We moved what the owner had built, fixed it, and made it easier to keep running.

It started with a fixed-price audit. Using a restricted account in the new Workspace and a copy of the system filled with fictional customers, we listed every sheet, script project, trigger, form, Docs template, Drive folder and AppSheet table, and mapped which file referred to which. The result was a dependency map, a list of faults marked "already broken" or "caused by the move", and a fixed-price plan for the rest.

The migration itself kept everything in native Google formats. The owner copied the files into the new Workspace so they owned every one of them, and we rebuilt the links. Every hard-coded file and folder ID in the scripts was moved into a single config tab, so the next move or template change is one edit instead of sixty. Script code was pulled and pushed with clasp so nothing was lost between projects. Installable triggers were recreated under the owner's account. The AppSheet app was copied into the new Workspace and its tables, actions and bots pointed at the new sheets.

Then the repairs: the invoice script got proper error handling and a log tab, so a failed invoice shows up instead of vanishing; data validation stopped crews entering a job against a customer who didn't exist; and three half-finished automations were either finished or removed, with the owner's sign-off for each.

Every workflow was tested end to end on the fictional data, from a new customer to a completed job, an invoice and a reminder, before any real data went near the new Workspace. Access to live data was asked for once, for the final switchover, and removed at handover.

Results, 90 days in

  • Automations broken after the move: 9 found in the audit → 0 at handover.
  • Hard-coded file IDs in scripts: more than 60 → one config tab.
  • Weekly admin on rounds and invoices: about 6 hours → about 1 hour.
  • The old Workspace was closed two months later with nothing still depending on it.

Quote

"I was ready to scrap three years of work. It turned out most of it was fine, it just needed someone to untangle it." Owner

Build snapshot

  • Timeline: 5-day audit, then 12 business days of migration and repairs
  • Stack: Google Sheets, Google Apps Script, AppSheet, Google Docs, Google Drive, clasp
  • Investment: $1,600 including the audit
  • Who owned it: the owner owns every file and the config tab; the office manager runs the weekly checks in the handover guide.

The pattern

Not every system needs replacing. When a business has built its own tools in Google Workspace, the work is usually an audit, a map of what depends on what, and careful repairs. If your system is half-built, moving between accounts, or quietly failing, the approach is the same, with your files and workflows in place of these.


This is an illustrative composite drawn from operator engagements. Names, identifying details, and exact metrics are anonymised. The workflow, stack, and approach are real.

Looks like your situation?

A 30-minute call tells us whether the same pattern fits your operation, and what it would cost to ship it.