Google Sheets Error: "Exception: This add-on has created too many time-based triggers in this document for this Google user account"

Google Sheets Error: "Exception: This add-on has created too many time-based triggers in this document for this Google user account"

Info
Your Schedule Refresh won't save, and Google Sheets shows an error about too many time-based triggers. This is a Google limit on the spreadsheet, not a Power My Analytics limit, and you can usually clear it yourself in a couple of minutes. Here is what it means and how to fix it.

What the error looks like

Exception: This add-on has created too many time-based triggers in this document for this Google user account.
Notes
Seeing this in another language? Google translates this message into your account's language, so the wording will differ. If the message mentions triggers or scheduled tasks and appears when you save a Schedule Refresh, you are in the right place.

Why it happens

Google Sheets add-ons run on Google Apps Script, and Apps Script caps how many scheduled triggers a single Google user can have in one spreadsheet (Google's documented limit is 20). When that spreadsheet reaches the cap for your Google account, no new schedule can be created in it until some are removed.

Two things push a spreadsheet to the cap sooner than you would expect:
  • Editing a schedule repeatedly can leave older triggers behind in the document even though you only see one schedule.
  • Several people scheduling in the same spreadsheet: each person's schedules count toward the same document's budget.

How to fix it

  1. Remove schedules you no longer need. Open the Power My Analytics sidebar in that spreadsheet, click the alarm clock icon, and delete any Schedule Refresh entries you are not using. Then try saving your new schedule again.
  2. Split the reports across two spreadsheets. If every schedule is genuinely in use, move some of the reports into a second spreadsheet. Each spreadsheet gets its own trigger budget.
  3. Ask us to set it for you. We can set a refresh schedule from our side, which does not create a trigger in your spreadsheet at all, so it works even when the document is at its limit. Submit a ticket with your spreadsheet link and the time you would like it to refresh.
Alert
What about making a copy of the spreadsheet? A fresh copy starts with an empty trigger budget, so it does work. But your sharing settings, links from other sheets, and any Looker Studio reports pointing at the original will not follow the copy. Try the three steps above first.

What you'll see when it's fixed

Your Schedule Refresh saves without an error, and the schedule appears in the alarm clock panel with its next run time. The first automatic refresh happens at the next scheduled slot; give it one full cycle before checking.