Auto-fill Airtable product rows from any URL

Paste a product URL into your Airtable table and get the title, price, availability, image, and a short description back in the same row.

Deterministic Code
AirtableTinyFishOperationsMarketingData SyncResearch & MonitoringDocument Processing
PromptCreate

Build a code workflow that watches an Airtable table for new rows containing a URL, scrapes the page with TinyFish, and writes the extracted product details back into the same row.

Trigger: Airtable poll trigger on the new_record event for a specific base and table. The user will choose the base and table at setup. The table has these columns: url (URL), title (single line text), price (single line text or currency), availability (single line text), image_url (URL), short_description (long text), status (single select with options like success and failed), and error_code (single line text).

Step 1: When the trigger fires, take the url field from the new record and call TinyFish Fetch URLs with that single URL. Pass a structured extraction schema asking for: title (string), price (string, including currency symbol if present), availability (string, normalized to something like in stock, out of stock, preorder, or unknown), image_url (string, absolute URL of the main product image), and short_description (string, two to three sentences max). Use markdown output and screenshots disabled to keep the call lean.

Step 2: Check the TinyFish response. The Fetch API returns per-URL failures in an errors array with codes like bot_blocked, target_unreachable, target_http_error, timeout, empty_content, or invalid_url. If the URL produced an error, call Airtable Update Record on the same record id from the trigger, setting status to failed and error_code to the TinyFish error code. Leave the other fields empty. Stop there.

Step 3: If TinyFish returned extracted data successfully, call Airtable Update Record on the same record id from the trigger. Write the extracted title, price, availability, image_url, and short_description into their matching columns, and set status to success. Use typecast true so Airtable converts values into the right cell types where needed.

Notes for the build. TinyFish authenticates with an API key sent as the X-API-Key header. Airtable record updates accept up to 10 records per request but this workflow processes one record per trigger fire. Do not retry on permanent TinyFish errors like invalid_url or invalid_api_key. The Airtable Update Record call should target the same record id returned by the trigger so we write back to the exact row that fired.

What does this prompt do?

  • Watches a specific Airtable table for new rows where someone has dropped in a URL.
  • Reads the page behind that URL and pulls out the product title, price, availability, hero image, and a short description.
  • Writes everything back into the same Airtable row, no copy-paste, no half-filled fields.
  • If the page can't be read (bot blocked, site down, empty page), the row is marked failed with the reason so nothing gets silently skipped.

What do I need to use this?

  • An Airtable base with a table that has a URL column and empty columns for title, price, availability, image, short description, and a status field.
  • A TinyFish account with an API key for reading public web pages.

How can I customize it?

  • Change the field list. Swap price and availability for SKU, brand, ratings, or any other column you keep on your products.
  • Point it at any table. Works the same way for competitor watchlists, deal trackers, gift guides, or research backlogs.
  • Tune the error behavior. Choose whether failed rows retry on the next run, get assigned to a teammate, or just sit in a failed view for review.

FAQs

Do I have to write any code or know how scraping works?
No. You paste a URL into Airtable and the populated row comes back. The reading, parsing, and writing all happens behind the scenes.
What kinds of pages does this work on?
Public product pages and most public marketing or content pages. If a site requires a login or actively blocks automated visitors, that row will be marked failed with the reason so you can handle it yourself.
What happens if a page can't be read?
Instead of leaving a half-empty row, the status column is set to failed along with a short reason like blocked, unreachable, or empty. You can filter the table to those rows and decide what to do.
Can I use this for things other than product pages?
Yes. The same setup works for competitor pricing, real estate listings, job posts, news articles, or any structured page. You decide which columns to fill in and the workflow extracts them.
Will it overwrite rows I already filled in by hand?
No. It only runs on brand new rows where the URL was just added. Existing rows are left alone unless you explicitly re-run them.

Related templates

Run your nutrition clients' weekly meal plans from one console

See who is due, build a week of dinners on demand, swap anything you do not like, then send the recipe and grocery links yourself.

Instacart
Airtable
Gmail
App
Instagram UGC rights tracker and repost approval board

See every customer photo that tags your brand, ask for permission in one click, and repost only once a yes is on the record.

Instagram
Airtable
Slack Bot
App
A verification desk for every document your team scans

See every scan next to the details pulled out of it, correct anything wrong, and let only verified numbers reach your ledger sheet.

JigsawStack
Airtable
Google Sheets
App
Browse and shortlist creators without burning audit credits

Search creators for free, shortlist the best with your team, and spend an audit credit only when you decide someone is worth a closer look.

HypeAuditor
Airtable
Slack
App
Global operations exposure map for your sites and suppliers

Open one board each morning to see which of your facilities, suppliers and shipping lanes are sitting near trouble in the news right now.

GDELT
Airtable
Slack
App
Deal sourcing kanban board for your Harmonic saved searches

Drag every new company from your Harmonic saved searches through New, Tracking, Meeting and Passed, with a one click diligence brief on every card.

Harmonic
Airtable
Slack
App

Stop copy-pasting product details into Airtable.

Connect Airtable and TinyFish once, drop in a URL, and Geni fills in the row for you.