Auto-fill Airtable product rows from any URL

By General Input

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

Integrations

  • Airtable
  • TinyFish

Type

Deterministic Code

Categories

  • Operations
  • Marketing

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.

Related prompts

Explore more prompts
Creator roster board for rebook, test, or pause callsRun your nutrition clients' weekly meal plans from one consoleInstagram UGC rights tracker and repost approval boardA verification desk for every document your team scansBrowse and shortlist creators without burning audit creditsGlobal operations exposure map for your sites and suppliersDeal sourcing kanban board for your Harmonic saved searchesProof client shoots and hand off the delivery album in one placeField service dispatch board that ranks the closest techVendor due diligence register with on-demand risk briefs