Describe the problem/error/question
I have a need to create a bunch of google sheets trigger workflows to check and get new rows from a bunch of different spreadsheets that update randomly about every 5 minutes.
I already have a workflow-creation workflow set up that creates the google sheets trigger workflows with the appropriate sheet ID.
I’d like to figure out a way to have n8n still check for new rows, but iterate over the active google sheets trigger workflows and execute them one by one so that I don’t go over quota limits.
I know that I can create new google projects with new users and up the amount of calls I can make per minute, but I’m running out of that option as well.
Looking through the code here: n8n/packages/nodes-base/nodes/Google/Sheet/GoogleSheetsTrigger.node.ts at master · n8n-io/n8n · GitHub
I see that the trigger node is polling every X amount of time using cron and then checking to see if any revisions have happened, what the old data was, and what the new data is. That’s 3 API calls per check. The trigger node also seems to be keeping some internal state between executions and is using that to determine if there’s data to update.
Given that google’s default for reads per minute per user is 60 (essentially once per second): Limites d'utilisation | Google Sheets | Google for Developers
I can theoretically check 60 / 3 = a max of 20 sheets, but in practice it’s usually much lower.
The real question:
Is there way to make those triggers check one after the other instead of all at once?
Barring that, is there a way that I can easily check for rows added in a spreadsheet between executions so that I can control things a bit more manually?
Perhaps there’s a way to configure n8n to just execute one thing at a time in n8n itself? Does this do it? Concurrency control | n8n Docs
I have the workflows polling (through the google sheets trigger node) every 5 minutes and the usage graph on the API calls shows a big spike every 5 minutes and then nothing in-between because n8n is using cron to schedule those checks.
I’d love it so that the usage is spread out and I’m not going over my API limits.
Thank you in advance for any advice.
What is the error message (if any)?
I’m getting a google 429 error because I have too many google sheets trigger nodes executing at exactly the same time.
Please share your workflow
Imagine you have a bunch of workflows with these google sheets trigger nodes that are checking for new rows and then posting to an HTTP Request
Information on your n8n setup
- **n8n version: 1.51.2
- **Database (default: SQLite): postgres
- **n8n EXECUTIONS_PROCESS setting (default: own, main): main
- **Running n8n via (Docker, npm, n8n cloud, desktop app): docker
- **Operating system: linux