Our verdict: good for small, Google-only jobs
We would consider Apps Script when the whole workflow lives in Google Sheets, Gmail and Calendar, the volume is small, and someone is comfortable reading and editing code. It removes a monthly subscription, but it adds a script that only its author may understand. Who should skip it: teams that need non-Google apps, visual run history for non-technical staff, or volumes near the daily limits.
The quotas that matter for small businesses
Google publishes these limits per user. They reset 24 hours after the first request. [1]
| Quota | Consumer (gmail.com) | Google Workspace |
|---|---|---|
| Email recipients per day | 100 [1] | 1,500; 2,000 within domain [1] |
| Script runtime | 6 min per execution [1] | 6 min per execution [1] |
| Triggers total runtime | 90 min per day [1] | 6 hr per day [1] |
| Triggers per user per script | 20 [1] | 20 [1] |
| URL Fetch calls | 20,000 per day [1] | 100,000 per day [1] |
| Calendar events created | 5,000 per day [1] | 10,000 per day [1] |
Worked example: weekly client reminders
Hypothetical example: a studio emails reminders to 60 clients every Monday from a Sheet. On a consumer account that uses 60 of the 100 daily recipients, leaving 40 for anything else that day. [1] If the list grows to 120, the Monday run would exceed the consumer limit, while a Workspace account would still be within its 1,500. [1]
If each run takes 30 seconds, a daily trigger uses a few minutes a week of the 90-minute daily trigger budget, which is comfortable. A script that loops over thousands of rows can hit the 6-minute execution cap instead, so test it on a full-size copy of the data. [1]
Setup checklist
- Count recipients for your busiest day, not your average day, and compare with 100 or 1,500. [1]
- Use an installable time-driven trigger for scheduled runs; Google describes these as similar to a cron job and able to run from every minute to once a month. [2]
- Create the trigger from the account that should own it: installable triggers always run under the account of the person who created them. [2]
- Expect timing to be approximate. A 9 AM trigger may run between 9 AM and 10 AM. [2]
- Watch for the failure email with the subject Summary of failures for Apps Script, and make sure the owner reads it. [2]
- Keep a written note of what the script does, where it lives and who owns it.
Apps Script compared with a paid automation tool
The trade is subscription cost against ownership. A paid tool gives a visual editor, a run history and support; Apps Script gives code inside your Google account with quotas published by Google. [1] Hypothetical example: a business paying for an automation plan only to copy form responses into a Sheet and email a weekly summary to 30 clients could move that job to a script on a consumer account and stay well within 100 recipients per day. [1] A business emailing 300 clients on the same morning could not, unless it uses a Workspace account, which lists 1,500 recipients per day. [1]
Simultaneous executions are limited to 30 per user and 1,000 per script on both account types, which is rarely a constraint for scheduled small-business jobs but can matter for a script triggered by many form submissions at once. [1] If the script needs to call outside services, the URL Fetch quota of 20,000 calls per day on consumer accounts is the number to watch. [1]
Pitfalls
- When the creator leaves, their triggers keep running under their account, and another account cannot see triggers installed from a second account. [2]
- Quotas can change without notice, so a script running near a limit has no safety margin. [1]
- Triggers do not run when a file is opened in view or comment mode. [2]
- No built-in deduplication: if a run is repeated manually, reminders can be sent twice unless the script marks rows as sent.
Our decision rule
Use Apps Script when the job is Google-only, the busiest day stays under half of your account's email quota, executions finish well inside 6 minutes, and a named owner maintains it. Pay for an automation tool when you need other apps, shared visibility of runs, or more headroom than those quotas give.
Questions before you decide
How many emails can Apps Script send per day?
Google's quota page lists 100 email recipients per day for consumer accounts and 1,500 per day for Google Workspace accounts, with 2,000 per day within the domain for Workspace.
Can an Apps Script trigger run at an exact time?
Not exactly. Google's trigger guide says the time might be slightly randomized; a trigger set for 9 AM can run at a time Apps Script chooses between 9 AM and 10 AM, which then stays consistent.
Can Google change these quotas?
Yes. The quota page says all quotas are subject to elimination, reduction or change at any time without notice. Recheck it before relying on a limit.
Sources & verification
Product details and prices can change. Check the linked provider before buying.
- Google Apps Script: Quotas for Google Services Accessed 13 Oct 2026
- Google Apps Script: Installable triggers Accessed 13 Oct 2026
Sources link directly to providers. Product buttons may use separately labeled affiliate links. Read our disclosure.
