Skip to content
FlowHubFluxonLab
B
AI Automationfree

Detect visual regressions with Apify, Google Gemini, Sheets and Linear

by Redowan Ahmed Farhanadapted from n8n official workflow galleryUpdated Aug 2026
RequiresBBasic LLM ChainGoogle DriveGoogle DriveGoogle Gemini Chat ModelGoogle SheetsGoogle SheetsHTTP RequestHTTP RequestLinearLinearStructured Output ParserStructured Output Parser
Share Post Share
Base ImageGoogle Gemini Chat ModelGoogle Gemini C…OPStructured Output ParserStructured Outp…SILoop Over ItemsWaWaitHRDownload ScreenshotDownload Screen…Upload to DriveUpdate Base ImageUpdate Base Ima…MeMergeScSchedule TriggerGet URLs with Missing Base ImagesGet URLs with M…HRRun Webpage ScreenshotRun Webpage Scr…HRRun Webpage Screenshot1Run Webpage Scr…FiHas ChangesSeCombine Row and ResultCombine Row and…WaWait1AgAggregateCreate ReportMaWhen clicking ‘Test workflow’When clicking ‘…Get Webpages ListGet Webpages Li…SIFor Each Webpage...For Each Webpag…HRDownload New ScreenshotDownload New Sc…MeCombine ScreenshotsCombine Screens…CLVisual Regression AgentVisual Regressi…12345678910111213141516
1/5
FLOWS
STEPS · 16
Runs on a schedule

Quick overview This workflow generates baseline website screenshots with Apify, stores them in Google Drive, and logs the file IDs in Google Sheets, then runs scheduled visual regression checks by comparing new screenshots against the baselines with Google Gemini Vision and creating a consolidated Linear issue when changes are detected. How it works Manually starts to backfill missing baselines by reading URLs from Google Sheets that do not yet have a stored base image. For each missing baseline URL, calls Apify’s screenshot actor, downloads the rendered image, uploads it to Google Drive, and updates the matching Google Sheets row with the Drive file ID. Runs weekly on a schedule and reads the list of webpages to test from Google Sheets. For each webpage, downloads the baseline image from Google Drive and captures a fresh screenshot via Apify. Sends both images to Google Gemini (vision) to detect visual differences and returns a structured list of regressions (text, number, image, color, or position). Filters out pages with no detected changes, aggregates the remaining results, and creates a Linear issue containing the regression report.

Tags

n8nreference-onlychain-llmgoogle-drivegoogle-sheetslinearlm-chat-google-geminioutput-parser-structured
Connects
BBasic LLM ChaingoogledriveGoogle DriveGoogle Gemini Chat ModelsheetsGoogle SheetsWHTTP RequestlinearLinear
CategoryAI Automation
Triggermanual
Complexityadvanced
Nodes24
AddedJun 25, 2026

Related workflows

See all AI Automation
BCsheets
free

Extract Twilio voice donation details with Groq, Gemini, and Google Sheets

Quick overview This workflow receives Twilio call recording callbacks, transcribes the audio with Groq Whisper, uses Google Gemini/Groq LLMs to extract structured donation details, and appends the results (with transcript and review flag) to Google Sheets. How it works Receives a Twilio Recording Status Callback webhook and immediately responds with TwiML (``). Captures call metadata (CallSid, caller number, recording URL/SID, and duration) and continues only if the recording exists and is at least 2 seconds long. Waits briefly for Twilio to finalize the media, then downloads the recording MP3 using Twilio HTTP Basic Auth. Sends the audio file to Groq’s Whisper transcription endpoint to generate a text transcript. Uses a LangChain prompt with Google Gemini and Groq chat models to extract donation amount, fee (if mentioned), beneficiary name, currency, a needs-review flag, and a short summary from the transcript. Parses the model output as JSON and falls back to an error summary with needs_review=yes if parsing fails. Checks Google Sheets for an existing row matching the CallSid/RecordingUrl and, if not found, appends a new row with the extracted fields, transcript, and call details

by MD Faizan Uzzaman
Cgmailgoogledrive
free

Extract and validate invoice data from Google Drive using OCR.Space, Gemini, and Google Sheets

Quick overview This workflow monitors a Google Drive folder for newly uploaded invoice files, extracts text with OCR.Space, uses Google Gemini to convert the OCR text into structured invoice fields, validates required values, then stores results in Google Sheets and sends Gmail notifications for success or manual review. How it works Triggers when a new file is created in a specified Google Drive folder. Downloads the uploaded invoice file from Google Drive and checks that the MIME type is PDF, JPG, JPEG, or PNG. Sends the file to the OCR.Space API to extract the invoice text and stops if OCR reports a processing error. Uses Google Gemini to convert the OCR text into structured JSON containing supplier, invoice metadata, amounts, currency, and line items. Validates and normalizes the extracted fields, flags missing required values, and marks the record for manual review when needed. If manual review is required, sends a Gmail alert listing missing fields; otherwise, appends key invoice fields to Google Sheets and sends a Gmail confirmation email. Setup Connect Google Drive OAuth2 credentials and set the folder ID to watch for invoice uploads. Provide an OCR.Space API key and ensure

by WeblineIndia
autofixingoutputparserBopenaichatmodelstructuredoutputparser
free

Force AI to use a specific output format

This workflow is for anyone looking to automatically fetch, validate, and parse complex language-based queries into a structured format. Its unique capability lies in not only processing language but also fixing invalid outputs before structuring them. Note that to use this template, you need to be on n8n version 1.19.4 or later.

by n8n Team