By Raj
Google Apps Script Trigger Not Working? Here's the Fix
Your trigger was running fine for weeks—and now it just... stopped. No email, no updated sheet, no log. This is one of the most common frustrations with Google Apps Script. Triggers run in the background, and when they fail, you often get no popup—just a silent skip. Here are the usual culprits and how to fix them.
Before digging in: open the script editor, go to Executions (left sidebar, clock icon). Check the list of recent runs. If your trigger ran but failed, you'll see a red error and a message. That's the fastest way to see why it stopped.
1. Authorization expired or changed
If you edited the script and added a new service (e.g. GmailApp, DriveApp), the trigger can't run until you re-authorize. Open the script editor, run the function manually, and accept the new permissions prompt. The trigger will resume.
2. You hit a quota limit
Google enforces daily quotas: email sends, URL fetches, execution time, triggers per user. Check Executions in the script editor for failed runs. If you're over quota, the trigger silently fails until the next day. Fix: batch operations, reduce frequency, or upgrade to Google Workspace.
3. Simple vs. installable triggers
A function named exactly onEdit(e) or onOpen(e) is a simple trigger—it runs automatically when the user edits or opens the sheet, but it cannot call services that need authorization (Gmail, Drive, UrlFetchApp, etc.). If your script sends email or writes to Drive, it must run under an installable trigger. Create one via the Triggers page (clock icon) or in code:
// Run myFunction every day at 9 AM
function createTrigger() {
ScriptApp.newTrigger("myFunction")
.timeBased()
.everyDays(1)
.atHour(9)
.create();
}Run createTrigger() once manually; after that, myFunction will run on schedule with full permissions.
4. The script has an error
If the function throws an error, the trigger fails silently (unless you have error notifications on). Go to Executions to see the error log. Common issues: referencing a sheet that was renamed, accessing a range that's out of bounds, or a changed API response format.
5. Duplicate triggers
Sometimes you accidentally create multiple triggers for the same function. Go to Triggers and delete duplicates. Multiple triggers can also cause race conditions on shared sheets.
Quick checklist
- Run the function manually—does it work?
- Check Executions for error messages.
- Re-authorize after adding new services.
- Verify you're under quota limits.
- Use installable triggers for authorized services.
- Delete duplicate triggers.
Still stuck?
Debugging triggers can be a rabbit hole. If you've tried everything and it still won't fire, I can diagnose and fix it—usually in under an hour. Get a quote.