n8n

How to Automate Google Sheets Row Queue Processing?

Use a Google Sheet as a simple queue. New rows are picked up every five minutes, handled one time, and stamped with the current time. This is helpful for teams that track leads, tasks, or orders in a shared spreadsheet.

Two triggers control the run. A schedule checks the sheet every five minutes, and a manual run lets you test on demand. The flow reads the sheet, checks if the Processed field is empty, and moves only fresh rows forward. A work step does your action, while a Set step adds the current time. The update step writes that timestamp back to the sheet using the ID column, which stops the same row from being handled twice and creates a clear record of what happened.

Set up an ID and Processed column in your sheet before you start. Connect your Google account in n8n and map the fields as shown. Expect faster turnaround, fewer mistakes, and easy reporting because every processed row carries a timestamp. Common uses include lead intake, simple ticket queues, and content tasks that start in a spreadsheet.

What are the key features?

  • Scheduled trigger runs every 5 minutes to scan your Google Sheet
  • Manual trigger lets you test or run on demand at any time
  • Reads rows from a selected Google Sheet using OAuth
  • A check step passes only rows where the Processed field is empty
  • Set step writes an ISO timestamp into the Processed field
  • Update step saves changes to the same row using the ID key
  • Idempotent design prevents processing the same row more than once

What are the benefits?

  • Reduce manual sheet checks from 30 minutes a day to under 2 minutes
  • Automate new row pickup every 5 minutes with zero clicks
  • Eliminate 95 percent of duplicate handling using the Processed flag
  • Handle up to 10 times more entries with the same team
  • Keep a clear audit trail with timestamped updates in the sheet

How do you set it up?

  1. Import the template into n8n: Create a new workflow in n8n > Click the three dots menu > Select 'Import from File' > Choose the downloaded JSON file.
  2. You'll need accounts with Google Sheets. See the Tools Required section above for links to create accounts with these services.
  3. In your Google Sheet, add headers for ID and Processed and make sure each ID value is unique. Add any other fields your team needs.
  4. In the n8n credentials manager, create a new Google Sheets OAuth2 credential. Sign in with the Google account that owns the sheet, allow access, and give the credential a clear name.
  5. Open the Read sheet node. Select your Google Sheets credential, paste the Sheet ID from the Google Sheets URL, and choose the correct sheet and range.
  6. Open the Is new step. Confirm it checks that the Processed column is empty so only new rows pass through.
  7. Open the Set processed value node. Ensure the field name is Processed and that it uses the current time for the value.
  8. Open the Mark Row as processed node. Use the same Google Sheets credential and sheet ID, keep the operation as update, and set the key column to ID.
  9. Open the interval trigger. Keep the run every 5 minutes setting or change it to fit your use case. Activate the workflow when ready.
  10. Add a test row with a blank Processed field and a unique ID. Click Execute to run. Check that the row receives a timestamp and no longer appears as new.
  11. If updates fail, confirm the column names match exactly, the ID values are unique, and your Google account has edit rights to the sheet.
  12. Review n8n execution logs for any errors and adjust field mappings or sheet range settings as needed.

Tools Required

$24 / mo or $20 / mo billed annually to use n8n in the cloud. However, the local or self-hosted n8n Community Edition is free.

Google Sheets

Sign up

Free: $0 (Google Sheets API usage has no additional cost; quota limits apply)

Similar Templates

Join Futurise to access 1,200+ automation templates

Get instant access to ready-made automation workflows for n8n, Make.com, AI agents, and more. Download, customise, and deploy in minutes.