In this guide · 8 sections
- 01What Google Apps Script is and when to use it
- 025 useful Apps Script automations for small businesses
- 03How to set up your first Apps Script trigger
- 04Apps Script quotas and limits that matter
- 05Who owns the script when staff leave
- 06Permissions and security for business scripts
- 07Do it yourself or get help?
- 08Frequently asked questions
Short answer
Apps Script automates most Google Sheets chores for free: form-to-email alerts, reminders, daily summaries, data clean-up and PDF generation. Mind the limits: 6 minutes per run, 1,500 email recipients a day on Google Workspace (100 on a free Gmail account), and triggers that run as the person who created them.
What Google Apps Script is and when to use it
Apps Script is a JavaScript-based platform from Google that runs in Google's cloud. Scripts can be bound to one spreadsheet (Extensions, Apps Script) or stand alone, and they can read and write Sheets, send email through Gmail, create Docs and Calendar events, and call outside web services.
Apps Script
Included
- Free with your Google account
- Deep access to Sheets, Gmail, Drive, Calendar
- Needs someone comfortable editing code
- Limits on runtime and daily email
Best for: Automations that stay inside Google Workspace.
Zapier or Make
- No code, visual builder
- Connects thousands of outside apps
- Monthly subscription that grows with usage
- Less control over complex logic
Best for: Linking Google to CRM, accounting or chat tools.
For a fuller comparison of no-code tools, see Zapier vs Make. If your sheet is turning into a database with linked tables, read Airtable vs Google Sheets before writing more scripts.
5 useful Apps Script automations for small businesses
Each of these is a common, well-documented pattern. Ask an AI assistant to draft the code from the description, then test it on a copy of your sheet.
1. Form submission to email alert
When a Google Form or website form writes a new row, the script emails the right person with the details and a link to the row. It uses an installable 'on form submit' trigger and Gmail or MailApp to send. Useful for enquiries, job applications and booking requests.
2. Reminders before a due date
A time-driven trigger runs every morning, scans a column of dates and emails customers or staff whose appointment, renewal or invoice is due in three days. Mark each row 'reminded' so nobody gets two emails.
3. Daily or weekly summary
Every evening the script totals today's orders or enquiries by category and sends a short summary email or chat message. Owners use it to see the day's numbers without opening the sheet.
4. Data clean-up and validation
On edit or on a schedule, the script trims spaces, fixes phone number formats, flags duplicates and copies completed rows to an archive tab. This keeps a shared sheet usable as it grows.
5. Generate a PDF from a template
The script copies a Google Docs template, fills in fields from a row (customer, items, amounts), saves a PDF to a Drive folder and emails it. Good for quotations and delivery orders. Official tax invoices are better issued from accounting software.
How to set up your first Apps Script trigger
This follows the form-to-email example. The same steps apply to the others.
Work on a copy of the sheet
Make a copy with test data. Never build a script against the live sheet staff are using.
Open the script editor
In Google Sheets, go to Extensions, Apps Script. This creates a script bound to that spreadsheet.
Write or paste the function
For example, a function that reads the new row from the form event and calls MailApp.sendEmail with a subject and body. Keep recipient addresses in a settings tab, not in the code.
Add an installable trigger
In the editor, open Triggers, add a trigger, choose your function, the spreadsheet as event source and 'On form submit'. Approve the permissions prompt.
Test and check executions
Submit the form a few times and open the Executions page to confirm each run completed. Errors appear there with the line number.
Write down what it does
Add a 'README' tab: what the script does, which trigger runs it, who owns it and how to switch it off.
Apps Script quotas and limits that matter
Google publishes Apps Script quotas per user per day, and notes they can change at any time without notice. The ones small businesses hit, as of October 2026:
| Limit | Gmail account | Google Workspace |
|---|---|---|
| Email recipients per day | 100 | 1,500 |
| Recipients per message | 50 | 50 |
| Script runtime per execution | 6 min | 6 min |
| Triggers total runtime per day | 90 min | 6 hr |
| Triggers per user per script | 20 | 20 |
| URL Fetch calls per day | 20,000 | 100,000 |
Quotas reset 24 hours after the first request. If you send newsletters or hundreds of reminders a day, use a proper email service instead; Apps Script email is meant for alerts and small volumes, and bulk sending from your own domain can hurt deliverability.
Who owns the script when staff leave
Google's installable triggers documentation states that installable triggers always run under the account of the person who created them. Emails go out from that person's mailbox and use their quota. When their account is suspended or deleted during offboarding, their triggers stop, and nobody notices until a customer complains about a missing reminder.
Our employee offboarding checklist includes this step alongside transferring Drive files and mailboxes.
Permissions and security for business scripts
When a script first runs, Google asks the user to approve scopes such as 'send email as you' or 'see, edit and delete all your Google Drive files'. Read them. A script copied from a forum can ask for far more than it needs.
Apps Script security checklist
Admins can control which third-party apps and scripts users may authorise; our Google Workspace security checklist covers those settings.
Do it yourself or get help?
If someone on your team is comfortable reading code, the five scripts above are realistic DIY projects, especially with an AI assistant drafting the first version. Test on a copy, document the trigger owner and keep it simple.
If you would rather hand it over, our Workflow Automation service (S$390 per workflow) builds and documents the script or no-code flow, sets the trigger under a shared account and tests it with your real data.
Frequently asked questions
Yes. Apps Script is included with personal Google accounts and every Google Workspace plan at no extra charge. What differs is the daily quota: Workspace accounts get higher limits, such as 1,500 email recipients a day instead of 100 and 6 hours of trigger runtime a day instead of 90 minutes, as of October 2026.
According to Google's quotas page in October 2026, consumer Gmail accounts can send to 100 recipients a day and Google Workspace accounts to 1,500, with up to 50 recipients per message. Quotas are per user and reset 24 hours after the first request. For larger volumes, use an email marketing or transactional email service.
Common causes are the trigger owner's account being suspended or deleted, the owner losing access to the sheet, a quota being hit for the day, or an error after someone renamed a tab or column. Check the Executions page for errors and the Triggers page to see which account owns each trigger.
Some basic reading of JavaScript helps. AI assistants can now draft simple scripts from a plain description, but someone still needs to test them, understand what permissions they ask for and fix them when a sheet changes. If nobody can do that, a no-code tool such as Zapier or Make may be safer.
Yes, through their APIs using UrlFetchApp, if the service offers an API and you handle authentication and keys securely. It takes more work than a ready-made Zapier or Make connector, and you must maintain it when the API changes, so it suits simple calls more than complex integrations.