{"product_id":"upsert-apify-results-to-google-sheets-in-n8n-no-oauth","title":"Upsert Apify Results to Google Sheets in n8n (No OAuth)","description":"\u003ch3\u003eExport every successful Apify dataset to Google Sheets—automatically (Upsert, No OAuth in n8n)\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow automatically takes the dataset from each successful \u003cstrong\u003eApify Actor\u003c\/strong\u003e run and writes it to \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e using Apify’s \u003cstrong\u003eGoogle Sheets Export Actor\u003c\/strong\u003e—with \u003cstrong\u003eappend\u003c\/strong\u003e, \u003cstrong\u003ereplace\u003c\/strong\u003e, or \u003cstrong\u003eupsert\u003c\/strong\u003e support and \u003cstrong\u003eno Google OAuth configuration inside n8n\u003c\/strong\u003e.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eTriggers on successful Apify runs:\u003c\/strong\u003e It starts when a selected Apify Actor run succeeds (or you can run a manual test using the last successful execution).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eFetches last successful run details (for testing):\u003c\/strong\u003e In the “test path,” it retrieves the last successful run information.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eExtracts the dataset ID:\u003c\/strong\u003e From the run details, it determines the dataset to export.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eConfigures the Google Sheets export:\u003c\/strong\u003e You set the Google Sheet URL\/ID, tab name, write mode (append\/replace\/upsert), and \u003cstrong\u003eupsert keyColumns\u003c\/strong\u003e (e.g., \u003ccode\u003e[\"url\"]\u003c\/code\u003e).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns Apify’s Google Sheets Export:\u003c\/strong\u003e It uses Apify’s \u003cstrong\u003esheets-sync \/ tidyrun\u003c\/strong\u003e Actor to write the dataset, updating matching rows and appending new ones in \u003cstrong\u003eupsert\u003c\/strong\u003e mode.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eOutputs an export summary:\u003c\/strong\u003e The workflow returns the target sheet link and counts of \u003cem\u003eappended\u003c\/em\u003e, \u003cem\u003eupdated\u003c\/em\u003e, and \u003cem\u003eunchanged\u003c\/em\u003e rows, including whether the export stopped due to an Apify charge limit.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eKeep a SaaS-facing leads list in Google Sheets updated from a recurring Apify scraper (dedupe via \u003cstrong\u003eupsert keyColumns\u003c\/strong\u003e).\u003c\/li\u003e\n  \u003cli\u003eMaintain product catalogs or listing datasets, refreshing rows when an item is re-crawled.\u003c\/li\u003e\n  \u003cli\u003eRun scheduled Apify jobs and automatically sync results into a shared Google Sheet for reporting.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGoogle Sheets access (no OAuth in n8n):\u003c\/strong\u003e Share the sheet with \u003ccode\u003esheets-sync-bot@sheets-sync-prod-511105.iam.gserviceaccount.com\u003c\/code\u003e as Editor.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eApify integration:\u003c\/strong\u003e Requires an \u003cstrong\u003eApify API token credential\u003c\/strong\u003e in n8n (and the verified \u003cstrong\u003e@apify\/n8n-nodes-apify\u003c\/strong\u003e node for self-hosted n8n).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNodes used:\u003c\/strong\u003e \u003ccode\u003eapifyn8n-nodes-apify\u003c\/code\u003e (Apify trigger and export execution) plus \u003ccode\u003eManual Trigger\u003c\/code\u003e and configuration helpers (e.g., \u003ccode\u003eset\u003c\/code\u003e, \u003ccode\u003esticky note\u003c\/code\u003e).\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46203573665971,"sku":"N8N-20764","price":55.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/pHjPTkY39C-U4Ikud8-Ua_4wD0uI6Y.png?v=1791709354","url":"https:\/\/buyflowscripts.com\/products\/upsert-apify-results-to-google-sheets-in-n8n-no-oauth","provider":"N8N Commerce","version":"1.0","type":"link"}