Mindket

Survey photos named by an AI agent and saved to Airtable

Newversion 1 · updated

Overview

An n8n workflow that fills in a survey table from its photos. A vision model describes each photo, an AI agent searches the web to name the object, and the answers are written back to the Airtable row.

Survey photos named by an AI agent and saved to Airtable is an n8n workflow in the Business category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

At a glance

Runs in
  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps
  • Another store: replace the Airtable nodes with a sheet or a database

Platform

Connects 4 apps

How it works

Trigger

Manual start

You start it by hand, and it needs:

  • A survey table in Airtable with photos in an Image field
  • The AI_status box left unticked on the rows to process

Actions

  1. Rows that have a photo and no AI_status tick are read from Airtable
  2. A vision model describes each photo and its attributes
  3. An agent runs a reverse image search and scrapes pages to fill the gaps
  4. The agent returns a title, description, model, material, color and condition
  5. The row is updated with those answers and marked done

Result

Survey rows with a title, a description, a model, a material, a color and a condition filled in from the photo

Integrations

What you need before you start.

OpenAI

Vision and agent model

Describes each photo and runs the agent that names the object.

NeedsOpenAI API key

Airtable

Survey table

Supplies the rows and photos and receives the answers.

NeedsAirtable personal access token

SerpApi

Reverse image search

Returns web pages where similar images appear.

NeedsSerpApi key

Firecrawl

Page scraper

Reads the text of a web page for the agent.

NeedsFirecrawl API key

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
15 steps, starting when another workflow calls it or by hand
AI
2 steps call an AI model: Analyse Image and Object Identifier Agent
Sign-ins
Signs in to: SerpApi, Firecrawl, Airtable and OpenAI
API keys
No API key is left in the file
Step types
Mindket’s checker reads all 9 of its step types

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow fills in an Airtable survey table from its photos. It reads the rows that have a photo and are not done yet. A vision model describes each photo, and an AI agent then searches the web with a reverse image search and a page scraper to name the object, its model, material, color and condition. The answers go back into the same row. Nineteen nodes run it, beside ten sticky notes.

Who it suits

Surveyors, inventory teams and resellers who have many photos and want a first draft of the details. Skip it if every row needs a certified answer, since the agent can guess wrong.

Who uses it, and how
IndustryWho uses itHow they use itExample
PropertyBuilding surveyorsDraft an inventory of objects from site photosA surveyor photographs a room and gets a list of fixtures with makes and conditions.
ResaleSecond hand sellersFill in listing details from a photoA seller adds a photo of a chair and gets a title, a model and a material.
InsuranceClaims teamsDescribe belongings in a claim before a person checks themA claims team gets a first description of each item in a set of photos.
FacilitiesAsset managersBuild a list of equipment on siteA manager photographs plant equipment and gets makes and models to verify.

You need a little n8n: import a file, add four credentials and prepare an Airtable table with the right fields.

Where to use it

Any n8n that can reach OpenAI, SerpApi, Firecrawl and Airtable will run it. It starts by hand, and you can swap the trigger for a schedule.

  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps
  • Another store: replace the Airtable nodes with a sheet or a database

Setup

Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. You need four credentials and a survey table with photos.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
OpenAIAn API key
SerpApiAn account and a key, for the reverse image search
FirecrawlAn account and a key, for the page scraper
AirtableA personal access token, and a survey table with the fields Title, Image, AI_status, Description, Model, Material, Color and Condition
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Add an Airtable credential. In Get Applicable Rows and Enrich Product Rows, replace the base and table placeholders with your own.
  3. Add an OpenAI credential and select it in Analyse Image and OpenAI Chat Model1.
  4. Add a SerpApi credential and select it in SERP Google Reverse Image API.
  5. In Firecrawl Scrape API, create a Header Auth credential. Name the header Authorization and give it the value Bearer followed by your Firecrawl key.
  6. Put three rows with a photo in the table, and press Test workflow.

How to use it

Press Test workflow to process every row with a photo and an unticked AI_status. Check the answers in the table afterward. Each finished row gets its AI_status ticked.

What to change for a different result
To changeWhere
The photos to processThe formula in Get Applicable Rows
What to look forThe prompt in Analyse Image and the instructions in Object Identifier Agent
How it startsReplace the manual trigger with a schedule
More tools for the agentA new route in Actions Router and a tool node

Example

A survey row holds a photo of a wall lamp and the title “Wall lamp”. The vision model describes a brushed metal lamp with a fabric shade. The agent runs a reverse image search, opens two shop pages and writes back a title, a model name, “metal” as the material, a color and “good” as the condition.

The next run leaves that row alone.

For newcomers and experts

If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. An AI agent is a node that lets a chat model decide which tools to call. A reverse image search finds web pages that hold pictures like yours. A scraper reads the text of a web page.

For experts. Both tools are Call n8n Workflow Tool nodes that call this same workflow. Execute Workflow Trigger receives a route and a query, and Actions Router switches on the route. Object Identifier Agent answers through a Structured Output Parser, so each answer sits under output.

Where to look closer
NodeWhat it doesWhat to know
Analyse ImageDescribes the photo with a vision modelIts answer length is set to 1500 tokens
Object Identifier AgentNames the object with two toolsA tools agent, version 2.2
Actions RouterSends each tool call to the right requestThree outputs, the last is a fallback
Enrich Product RowsUpdates the row and ticks AI_statusOverwrites Title too

Good to know

Several parts of the file needed repair, and the agent’s answers still need a person’s eye.

  • Vision model: the node sent a model that OpenAI shut down in December 2024. Mindket’s copy names gpt-6-luna, which takes image input
  • Agent model: OpenAI’s page, read on 12 November 2026, shuts gpt-4o down on 14 January 2027. Its named replacement gpt-6-luna supports function calling in Chat Completions only with reasoning effort set to none, which this node cannot send, so Mindket’s copy uses gpt-5.6-terra
  • Agent type: n8n’s source marks the OpenAI Functions mode as deprecated. Mindket’s copy is a plain AI Agent, and its answers sit one level higher
  • Scraper: Firecrawl’s old /v0/scrape address tells callers to use /v2/scrape. Mindket’s copy uses it
  • Overwrites: the answers replace the row’s Title and the other fields
  • Guesses: check the rows that matter before you rely on them
  • Photo links: Airtable attachment links expire after a while
  • Your data: photo addresses go to OpenAI and SerpApi, and pages go to Firecrawl
  • Credentials: the JSON holds none

README and files

README

Survey photos named by an AI agent and saved to Airtable

An n8n workflow that fills in a survey table from its photos. It reads the Airtable rows that have a photo and are not done yet. A vision model describes each photo, and an AI agent searches the web with a reverse image search and a page scraper to name the object, its model, material, color and condition. The answers are written back to the same row.

What is inside

  • workflow.json: the workflow as n8n exports it, 29 nodes. Nineteen of them run and ten are sticky notes. It holds no credential.
  • README.md: these notes.

What we changed from the original copy

  • Analyse Image was an OpenAI node on version 1.3. In n8n's source, read on 12 November 2026, that version always sends gpt-4-vision-preview, which OpenAI's deprecation page lists as shut down on 6 December 2024. The node is on version 1.8 now and names gpt-6-luna, which takes image input.
  • The node sets its answer length to 1500 tokens. The default of 300 is small for a model that reasons before it answers.
  • OpenAI Chat Model1 used gpt-4o with a temperature of 0. OpenAI's page, read on 12 November 2026, shuts gpt-4o down on 14 January 2027 and names gpt-6-luna as the replacement. That page says Chat Completions supports function calling only with reasoning effort set to none, and n8n's chat model node offers only low, medium and high. The agent calls tools, so the node uses gpt-5.6-terra, whose page lists function calling without that limit. It has no temperature setting, because that page lists none.
  • Object Identifier Agent was an OpenAI Functions agent on version 1.5. n8n's source marks that mode as deprecated and removed in n8n v3. It is a plain AI Agent on version 2.2 now, with the same prompt, tools and output parser.
  • With the new agent, the answer sits one level higher. Enrich Product Rows reads {{ $json.output.color }} where it read {{ $json.output.output.color }}, and the same for the other five fields.
  • Firecrawl Scrape API called /v0/scrape, which Firecrawl's server now answers with a notice to use /v2/scrape. It calls /v2/scrape now. The reply still holds the page text in data.markdown.
  • The Airtable base and table IDs are placeholders, <YOUR_AIRTABLE_BASE_ID> and <YOUR_SURVEY_TABLE_ID>. The credential links are gone, and the file's name is ours.
  • Nothing else. The prompts, the router, the tools and the sticky notes are as the file had them.

Before you start

  • An n8n instance, on n8n Cloud or your own server.
  • An OpenAI API key.
  • A SerpApi account and key, for the reverse image search.
  • A Firecrawl account and key, for the page scraper.
  • An Airtable account with a personal access token and a base that holds a survey table.

The survey table needs these fields, spelled exactly like this:

  • Title: text. It names the object in the photo, and the agent writes its own title back here.
  • Image: an attachment field with the photo.
  • AI_status: a checkbox. A row with it ticked is skipped.
  • Description, Model, Material, Color and Condition: text.

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  2. Open Get Applicable Rows and Enrich Product Rows. Add an Airtable credential and replace the two placeholders with your base and table. A base ID starts with app and a table ID with tbl, and both are in the Airtable address.
  3. Add an OpenAI credential and select it in Analyse Image and OpenAI Chat Model1.
  4. Add a SerpApi credential and select it in SERP Google Reverse Image API.
  5. In Firecrawl Scrape API, create a Header Auth credential. Name the header Authorization and give it the value Bearer followed by your Firecrawl key.
  6. Put a few rows with a photo and an empty AI_status in the table. Three rows make a fair first test.
  7. Press Test workflow and check the rows afterward.

What happens in a run

  1. When clicking "Test workflow" starts the run by hand.
  2. Get Applicable Rows returns the rows that have an image and whose AI_status is not ticked.
  3. For each row, Analyse Image sends the large thumbnail of the first photo and the row's Title to the vision model. It asks for a description, the model or make, the materials, the colors and the condition, and tells the model to leave an attribute blank when it cannot tell.
  4. Object Identifier Agent receives the photo address and that description. It may call the reverse image search tool and the web page scraper tool as often as it needs, and it returns title, description, model, material, color and condition through the structured output parser.
  5. Both tools call this same workflow. Execute Workflow Trigger takes the call, Edit Fields keeps the route and the query, and Actions Router sends it down one of three paths.
  6. The reverse image path asks SerpApi for pages that hold similar images and returns each one's position, title, link and snippet. The scraper path asks Firecrawl for a page and returns the first 3000 characters of its text, or a message that the scrape failed. Any other route gets a message that the tool was not found.
  7. Enrich Product Rows updates the row with the six answers and ticks AI_status.

What to change

  • The photos you start from: the formula in Get Applicable Rows.
  • What the agent looks for: the prompt in Analyse Image and the instructions in Object Identifier Agent. The output fields are in Structured Output Parser.
  • The way the run starts: swap the manual trigger for a schedule or an Airtable trigger.
  • More tools for the agent: add a route to Actions Router and a tool node that sets it.
  • The model: OpenAI Chat Model1 for the agent and Analyse Image for the photo.

Good to know

  • The agent's answers overwrite the row, including Title. Try it on a copy of your table first.
  • A guess is still a guess. The agent is told to leave an attribute blank when it cannot find it, and a person should check the rows that matter.
  • Airtable attachment links expire after a while. Run the workflow soon after it reads the rows.
  • The photo address is sent to OpenAI and to SerpApi, which searches Google with it, and the pages the agent opens go to Firecrawl. Do not run it on photos that show people or places you may not share with those services.
  • Cost: OpenAI charges for the photo and for the agent's calls, SerpApi for each reverse search and Firecrawl for each scrape.
  • The scraper returns only the first 3000 characters of a page, so a long page can lose the detail you wanted.
Files
NOTICE.md  690 B
README.md  6 KB
workflow.json  28 KB

3 files, 35 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-12

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

Bonsai-27B-GGUF

lmstudio-community · Kit

A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…

New

Runs DeepSeek-V4.1-Flash-1017 as a 2.9 bits-per-weight EXL3 quantization, a 196 GiB copy for people serving large models on their own hardware. Perplexity stay…

New

MusicGen Small

facebook · Kit

Generates short music clips from a text description or an audio prompt, in the small checkpoint of facebook's MusicGen. It suits developers and music hobbyists…

New

Similar in Business

See all in Business

pplx-decider-v1.1-27b

perplexity-ai · Kit

Picks the best option for a decision from text and images, such as which team should handle a request, with a probability for each choice, for developers who b…

New

NuExtract3

numind · Kit

Reads documents as text or images and fills a JSON template with the fields you ask for, or converts the pages to Markdown. A 4B model for teams that process s…

New

Drex DLM

nace-ai · Kit

Scores yes or no, multiple choice and rating questions about a document in one pass, with a probability for every option. An 8B decision model from Nace.AI tha…

New