If your business already runs on Google Sheets, Forms, Gmail and Drive, a good share of the repetitive admin around them can be handled by Google Apps Script, the scripting language built into Google Workspace. I write Apps Script automations for UK businesses, so that forms file themselves, emails go out on time and spreadsheets stop needing someone to tidy them every morning.
What Workspace automation fixes
Most teams that live in Google Workspace have a few spreadsheets that everything depends on. Someone copies form responses into the right tab, someone else emails a confirmation, and a third person makes a folder for each new client in Drive. None of it is hard. It is just easy to forget, easy to do twice, and invisible until it goes wrong.
Apps Script lets those steps run on their own, inside the tools you already pay for. A script can react to an event, such as a form being submitted or a row being edited, or run on a timetable, such as every morning between 7am and 8am. That is the same idea as any other workflow automation, except the work happens in your own Google account rather than on a separate platform.
The practical change is that the spreadsheet becomes something people read and act on, not something they maintain. There is also no extra monthly subscription: Apps Script comes with every Google account, so work that stays inside Workspace often does not need a paid automation platform at all.
Who it suits, and who it does not
It tends to suit UK small and medium businesses where:
- Google Sheets is the working record for jobs, bookings, orders, stock or enquiries;
- Google Forms collects requests from customers, staff or suppliers;
- the same emails, documents or folders are created by hand many times a week;
- a paid automation tool feels like too much for jobs that never leave Google.
It is the wrong choice in two situations. If your main systems are elsewhere, for example Microsoft 365 or a dedicated CRM, the automation belongs there instead. And if a workflow mostly moves data between several outside apps, a connector platform such as Zapier or Make is usually quicker to build and easier for a non-developer to adjust. I will tell you which applies before anything is written.
What I build with Apps Script
Google Sheets
Scripts that sort new rows into the right tab, apply consistent formatting, check entries against rules and highlight anything missing. Checking values as they arrive, sometimes called field validation, is usually the single change that saves the most rework. I also build custom menus and buttons so a non-technical colleague can run a task with one click, and scheduled jobs that archive old rows before a sheet becomes slow.
Google Forms
A form submission is a natural trigger for a chain of steps: write the answers to a clean sheet, send a confirmation that uses the person’s own details, alert the right member of staff depending on the answers, and create a follow-up task. Forms can also be updated from a sheet, which helps when the list of options in a dropdown changes every week.
Gmail
Personalised emails sent from your own account at the right moment, such as appointment confirmations, document requests or reminders for overdue paperwork. Scripts can also read incoming mail with a particular label and log it to a sheet, which is useful for a shared inbox where nobody is sure what has been answered.
Drive, Docs and Calendar
New client or new job folders created from a template, with the right sharing set; letters, quotes or reports generated as Google Docs or PDFs from a row of data; calendar events created or updated from a booking sheet.
Connections to outside software
Apps Script can call another system’s API and can receive data sent to it by a webhook. That is how a sheet can pull orders from an online shop, send a new enquiry to your CRM, or post a daily summary to a team chat. Where a connection grows beyond a handful of systems, I would usually recommend a dedicated platform instead.
The limits worth knowing
Apps Script is not a server, and Google sets firm boundaries on what it can do. These are the ones that shape a build.
- Run time. Google stops any single script run after six minutes. Large jobs have to be split into batches that pick up where the last one finished.
- Daily quotas. Google limits how many emails a script can send and how many outside calls it can make each day, and the limits on a free Gmail account are lower than on a paid Workspace plan. Google publishes the current figures, and I check them against your volumes before building.
- Ownership. Triggers run as the person who set them up. If that person’s account is suspended when they leave, the automation stops without warning, so I set builds up under an account the business controls.
- Sheets as a database. A spreadsheet works well as a record for thousands of rows, less well for hundreds of thousands. Past that point a proper database or data warehouse is the honest answer.
- Admin settings. Some Workspace administrators block scripts that have not been reviewed by Google. I check your settings at the start, so a build does not stall at the permissions screen.
How I run a build
- Walk through the process. You show me the sheet, the form and the steps a person currently takes, including the awkward exceptions. I write down exactly what should happen and what should not.
- Agree the scope. A short written plan: what triggers each step, which files it touches, what happens when something fails and who is told.
- Build on a copy. I work on copies of your files, never the live ones, until the logic is proven against real examples.
- Test with your data. We run past submissions and edge cases through it, such as blank fields, duplicate entries and unusual names, and fix anything that behaves oddly.
- Switch over and watch. The automation goes live on the real files with error alerts by email, and I check the first live runs against the results we agreed in the plan.
Common problems in Workspace setups
The same handful of issues turns up again and again in Workspace setups. Scripts written years ago by someone who has since left, running from a personal account nobody can open. Formulas that break the moment someone inserts a column, because they point at fixed cell positions. Sheets shared with “anyone with the link” that hold customer names, phone numbers and addresses. And automations that fail silently, so the first sign of trouble is an unhappy customer.
The data point matters in the UK. Names, emails and booking details are personal data, and your obligations under UK GDPR still apply when a script handles them. I keep sharing as narrow as the work allows, avoid copying personal data into extra files, and note any outside service a script sends data to, so your privacy notice can stay accurate.
What you receive
- The working automation, owned by an account in your business, not mine.
- Commented code, with a plain-English note at the top of each script saying what it does.
- A short written guide: what runs, when, what it changes, and what to do if an alert arrives.
- A list of the permissions the script holds and the outside services it contacts.
- A walkthrough call with whoever will look after it day to day.
Reporting dashboards are a separate piece of work. If what you actually want is charts that update themselves, a tool such as Looker Studio reading from your sheets is often a better fit than a script.
Next step
Send me a short description of the task that takes the most manual time in your Google Workspace, ideally with a screenshot of the sheet involved, and I will tell you whether Apps Script is the right tool for it. You can get in touch through the contact page or book a free 30-minute call.
