Why manual and activated execution can behave differently
A manual test run in the n8n editor evaluates the trigger's current state against the sheet immediately, once, on demand. An activated workflow instead polls on a fixed interval and depends on correctly saving and reading its own "last seen" state between runs — a mismatch here means the manual path (no state to preserve) works while the activated path (state-dependent) does not.
Community reports of this exact split point to polling interval misunderstanding as the first thing to rule out — if the interval is set to, say, every 15 minutes and you check 2 minutes after activating, there is no bug at all, just an expectation mismatch.
Rule these out in order
- Polling interval longer than your observation window: check the trigger's configured poll frequency and wait at least that long, plus a small buffer, before concluding it is not firing.
- Workflow saved but not actually toggled active: a workflow can appear configured correctly while the activation toggle itself is off, which silently prevents any scheduled polling from ever running.
- Sub-workflow or schedule-triggered execution context differs from editor context: if the sheet-watching logic is inside a sub-workflow only called from a schedule, confirm the schedule trigger itself is firing (check its own execution log) before assuming the Sheets logic downstream is the problem.
- Timezone drift on self-hosted instances: the Schedule Trigger and polling triggers generally evaluate against the instance's configured timezone (or the workflow's own timezone setting), not your local one — a server running UTC while you think in local time can make a trigger fire at a time you are not watching, or, around a daylight-saving shift, skip a run entirely.
Fix and verify with a timed test
After confirming the interval, activation status, and instance timezone, make a real edit to the sheet, note the time, and wait for at least one full polling interval past that time before checking the execution list — checking too early is the single most common false negative reported for this exact symptom.
If the interval, activation, and timezone are all confirmed correct and it still does not fire on schedule, check n8n's own instance logs (not just the workflow execution list) for polling errors that might be failing silently at the infrastructure level rather than the workflow level.
Self-hosted, queue-mode: registration desync after restart
If this started specifically after a restart, redeploy, or in a Kubernetes/queue-mode setup with separate main and worker processes, the cause may not be the Sheets logic at all — it can be the trigger's own registration failing to re-establish correctly between the main process (which owns scheduling) and workers (which execute). This produces the identical symptom: manual runs work because they bypass the scheduler entirely, while scheduled runs simply never get dispatched. Restarting the main process cleanly, and checking its startup logs for trigger re-registration, is the fix path distinct from anything in the Google Sheets configuration itself.
Sources checked for this guide
The manual-vs-scheduled split is a documented characteristic of polling triggers generally; the specific community reports below describe it for the Google Sheets Trigger and, separately, for queue-mode scheduling.
Frequently asked questions
How long should I wait after activating before assuming the trigger is broken?
At least one full configured polling interval, plus a small buffer. Checking before that interval has elapsed is the most common false alarm reported for this symptom.
Is there a way to confirm the workflow is actually active, not just saved?
Check the activation toggle itself in the workflow list or editor header — a saved workflow is not necessarily an active one, and only active workflows run on their configured schedule.
Could a timezone difference really make a trigger seem broken?
Yes — the trigger evaluates against the instance's (or workflow's own) configured timezone, not yours. A server running UTC firing "every day at 09:00" fires at a time you might not be watching, and daylight-saving shifts can move or skip a run.
My self-hosted instance is on queue mode with Kubernetes — is there a known cause?
Yes — trigger registration desyncing between the main process and workers after a restart or redeploy has been reported as producing exactly this manual-works-scheduled-doesn't symptom. Restart the main process cleanly and check its startup logs.