Visual regression testing with Apify and AI Vision Model
Ready for 3.0What this workflow does
This AI workflow has 24 nodes and runs on a schedule (every week at 06:00) (plus 1 other trigger). Along the way it connects Google Drive, Google Gemini Chat Model, Google Sheets and Linear. It also calls api.apify.com over HTTP.
How it runs
Trigger: On a schedule (every week at 06:00) (plus 1 other trigger).
- Get Webpages List (Google Sheets): uses Google Sheets
- Get URLs with Missing Base Images (Google Sheets): uses Google Sheets
- For Each Webpage... (Loop Over Items (Split in Batches)): loops over the items in batches
- Loop Over Items (Loop Over Items (Split in Batches)): loops over the items in batches
- Merge: merges the data from its input branches
- Combine Row and Result (Edit Fields (Set)): sets or maps fields
- Base Image (Google Drive): download
- Run Webpage Screenshot (HTTP Request): calls api.apify.com (POST)
- Run Webpage Screenshot (HTTP Request): calls api.apify.com (POST)
- Download Screenshot (HTTP Request): calls an HTTP API
…plus 10 more steps. See the full node list below.
Services it uses
HTTP calls to: api.apify.com
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (15)
- Google Drive
n8n-nodes-base.googleDrive - Google Gemini Chat Model
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Wait
n8n-nodes-base.wait - HTTP Request
n8n-nodes-base.httpRequest - Google Sheets
n8n-nodes-base.googleSheets - Merge
n8n-nodes-base.merge - Schedule Trigger
n8n-nodes-base.scheduleTrigger - Filter
n8n-nodes-base.filter - Edit Fields (Set)
n8n-nodes-base.set - Aggregate
n8n-nodes-base.aggregate - Linear
n8n-nodes-base.linear - Manual Trigger
n8n-nodes-base.manualTrigger - Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm
From the author
This n8n workflow is a proof-of-concept template exploring how we might work with multimodal LLMs and their multi-image analysis capabilities. In this demo, we compare 2 screenshots of a webpage taken at different timestamps and pass both to our multimodal…