n8n

How to Automate Google Sheets Product Catalog Updates?

Turn product pages into clean rows without manual copy and paste. The workflow reads a URL list from Google Sheets, captures each page, and extracts key product details like title, price, brand, and promo flags. It fits teams that track pricing, offers, and catalog changes at scale.

The run starts with a manual test. A Google Sheets node loads the URLs and a Set node passes the url field to ScrapingBee to take a full page screenshot. A vision agent powered by Google Gemini reads the screenshot to pull data. If the image is not enough, the agent calls a tool that fetches the HTML with ScrapingBee and converts it to Markdown for a second attempt. A Structured Output Parser formats the result into a fixed schema for e commerce pages. Split Out turns the array into single items and Google Sheets appends them to a Results tab.

Use a sheet with two tabs named List of URLs and Results with columns that match the schema. Add a ScrapingBee API key and a Google Gemini API key, and give the Google Sheets credential access to the document. Expect a big cut in manual work and faster pricing reviews. Great for competitive checks, promo audits, and product catalog refreshes. Start with manual runs in n8n Test mode and add a schedule later if needed.

What are the key features?

  • Reads a list of target URLs from Google Sheets using a service account
  • Maps the url field with a Set node for consistent inputs across steps
  • Captures a full page screenshot with ScrapingBee for visual parsing
  • Uses Google Gemini 1.5 Pro to extract product data from the screenshot
  • Falls back to an HTML based tool that fetches HTML via ScrapingBee and converts it to Markdown
  • Formats results with a Structured Output Parser into a clear JSON schema
  • Splits arrays into single records and appends rows to the Results sheet
  • Supports promo detection and promo percentage fields for pricing insights

What are the benefits?

  • Reduce manual work from 4 hours to 15 minutes for 100 URLs
  • Improve data quality by about 30 percent with structured parsing
  • Handle up to 10 times more pages using vision plus HTML fallback
  • Connect Google Sheets, ScrapingBee, and Google Gemini in one flow
  • Lower selector maintenance by reading screenshots when HTML changes

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, ScrapingBee and Google Gemini. See the Tools Required section above for links to create accounts with these services.
  3. Create a Google Sheet with two tabs named List of URLs and Results. In Results add columns that match the schema product_title, product_price, product_brand, promo, promo_percentage.
  4. In the n8n credentials manager, create a Google Sheets credential. If using a service account, share the sheet with the service account email and select that credential on both Google Sheets nodes. If unsure, double click the Google Sheets nodes and click Create new credential, then follow the on screen steps.
  5. Open the Google Sheets Get list of URLs node and select your document and the List of URLs tab. Confirm the column holding URLs is named url.
  6. Sign in to ScrapingBee and copy your API key. In both ScrapingBee HTTP Request nodes, set the api_key query parameter to your key and keep screenshot_full_page set to true in the screenshot node.
  7. Create a Google Gemini API key in your Google AI account. In n8n, open the Google Gemini Chat Model node, choose Create new credential, and paste the API key. Keep the model set to gemini 1.5 pro unless you have another model ready.
  8. Review the Structured Output Parser node schema. Adjust field names only if you changed the Results sheet columns.
  9. Check the HTML to Markdown node is connected from the ScrapingBee Get page HTML node so the agent can use the fallback tool when needed.
  10. Click Test workflow to run a small batch. Watch the ScrapingBee screenshot node for a successful image and verify rows appear in the Results tab.
  11. Validate the fallback by adding a page that hides content behind scripts. Confirm the HTML based tool path runs and still returns data.
  12. If rows are empty, confirm the service account has access to the sheet, the API keys are valid, and the Results columns match the parser fields. Check quotas or timeouts on ScrapingBee and Gemini if requests fail.

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 Gemini

Sign up

Free tier: $0 via Gemini API; e.g., Gemini 2.5 Flash-Lite free limits 1,000 requests/day (15 RPM, 250k TPM). Paid from $0.10/1M input tokens and $0.40/1M output tokens.

Google Sheets

Sign up

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

ScrapingBee

Sign up

Freelance: $49 / mo, 250,000 API credits

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.