Data Sync & ETL
Sync web page table changes into Google Sheets with Gaffa
On a schedule, Gaffa parses a table on a web page and compares it with a Google Sheet on a key column, adding new rows and updating changed rows in place.
What it does
## Track web page table changes with Google Sheets and Gaffa Keep a Google Sheet in step with a table on any web page and see what changed. ### Who's it for Anyone watching a table they don't control: release schedules, vendor sub-processor lists, price lists, shortage lists, rankings. ### How it works - Gaffa loads the page in a real browser and its parse_table action turns the table into rows, with the headers as column names. - The workflow reads your sheet and compares both on a key column with the Compare Datasets node. - New rows are added, changed rows are updated in place and rows gone from the page get a removed date. - Every change lands in a Changes tab with the date, the key, the type and the old and new values. - If the table cannot be read, the run stops with an error instead of marking every row as removed. ### Setup 1. Install the Gaffa community node. 2. Create an API key at gaffa.dev and add it as the Gaffa API credential. 3. Connect Google Sheets and create a spreadsheet with two empty tabs, Table and Changes. 4. In the Settings node, set the page URL, the CSS selector of the table, a key column that is unique per row and the spreadsheet URL. 5. Run it once to fill the sheet, then publish the workflow. ### Requirements - A Gaffa API key - A Google Sheets credential ### Customization tips - Gaffa lowercases headers and turns anything other than letters and numbers into underscores, so Ticket Price (£) becomes ticket_price_. Use that name as the key column. - Change the time in the Every morning node. - Send the new Changes rows by email or Slack after the Write to the change log node.
The steps
- Every morning
- Settings
- Read the table
- Table read?
- Fetch the rows
- Only rows with a key
- Rows found?
- Stop with an error
- Read the sheet
- Only rows still listed
- Compare with the sheet
- Mark as new
- Add the new rows
- Mark as changed
21 steps in total.
Similar automations
Documents, PDF & OCRArchive changed web pages as dated PDFs in Google Drive using Gaffa and Sheets14 stepsWeb Scraping & ResearchTrack company job openings from careers pages into Airtable with Gaffa15 stepsCode, Git & Developer ToolsCompare Shopify product variant changes with RapidAPI and a data table14 stepsData Sync & ETLCreate a Snowflake Table, Insert and Update Data6 steps