Listing Automation

How to run the AI listing pipeline

Drop in model numbers, the AI writes the copy, results land in Airtable for review. This guide only covers operation, not the internals — six things: generating copy, getting around the Airtable base, editing/adding a prompt, syncing prompts, retiring a prompt, updating catalog data.

01

Generate copy

The web form's Generate tab — paste model numbers, pick a marketplace, one click.

hmlg-ai-foundation.pages.dev

Listing Generator

Paste model numbers, pick a marketplace, and the AI writes the listing copy. Results land in Airtable for review.

2 model numbers
4208BLK-1 1287GY-1
Generate Sync Prompts
Generate Payload Viewer Upload Catalog
  1. 1Pick the right Marketplace (only Wayfair has a real prompt configured today — check Section 3 before generating for anything else).
  2. 2Model Numbers — one per line, paste directly, no commas needed.
  3. 3Click Generate. The page polls progress on its own; no need to watch it, it usually finishes in a few minutes.
  4. 4Results land automatically in Airtable's Generation Items table — that's where people review, edit, and override.
Common failure: a model shows Category Not Set Up — that means no prompt is configured for this category yet. Go add one in Airtable Prompt Manager (Section 3); it's not a problem with the model number itself.
02

Around the Airtable base

Editing prompts and reviewing copy both happen in this base — worth a quick tour before the sections that use it.

Along the top are 5 tables —

airtable.com — AEO copy
Airtable base top bar showing Prompt Manager, Generation Items, and three (view only) reference tables
Prompt Manager

One of the two tables you actually edit — adding or editing a prompt happens here (Section 3).

Generation Items

The other table you edit — every AI-generated listing lands here, and this is where people review, edit, and override the copy.

Taxonomy / Fact / Attribute Fields view only

The remaining three all have (view only) in their name — reference lists synced automatically from Supabase, there only so Prompt Manager's Fact for AI / Attributes for AI / Scope fields have something to pick from. Don't edit these by hand; the next sync overwrites whatever you changed.

Two more things worth knowing on the left sidebar of Generation Items —

airtable.com — AEO copy
Generation Items left sidebar with a view per marketplace: Wayfair, THD, Amazon, Overstock
  1. 1The view list on the left switches what you're looking at — click Wayfair / THD / Amazon / Overstock to see only that marketplace's rows, no manual filtering needed.
airtable.com — AEO copy
Generation Items in Cards view, showing product photo, name, and copy per card
  1. 2For a visual once-over, switch the left sidebar to ALL cards (or a marketplace's own ... cards view) — it turns into a card layout with the product photo next to the copy, easier for a final human check than the grid view.
03

Edit / add a prompt

All done in Airtable's Prompt Manager table — sync it (Section 4) once you're done. The web form's View Table button opens it directly.

Don't start from a blank row. If the same marketplace already has another prompt, duplicate an existing row in Prompt Manager — ideally one scoped broadly (ALL or a whole Category) — and edit the fields on that copy. It's harder to miss a field or get the format wrong than building one from nothing.

Create or edit a row, filling in these fields in order —

Prompt Name

Just a label for the row — this is what you see in the list, it isn't sent anywhere.

Wayfair Accent Chair Listing
System Prompt

The core instructions for the AI: role, task, hard rules.

You are an e-commerce copywriter for Homelegance...
Fact for AI

Which product fields the AI is allowed to see — pick from a list, not typed by hand, so picking wrong isn't possible.

features · long_description
User Template

Fine to leave blank — it auto-builds a simple default template from Fact for AI.

Existing features: {features}
Model

Which OpenAI model this prompt calls.

gpt-5.4-mini
Scope

Which categories this prompt covers. Pick a specific category (e.g. Seating | Accent Chairs), or pick ALL — every category (fallback) as the catch-all.

Seating | Accent Chairs
Resolution order: Item Type (most specific) > Category > ALL (catch-all). When more than one prompt could match a product, the system automatically picks the most specific one in that order — nothing to configure or rank yourself. Ties at the same level go to the newer version. Two different prompts can never hold an overlapping scope for the same marketplace — publishing the second one gets rejected outright.
Want to retire instead of publish? Don't pick a category here — see Section 5.
Publish

Ticked = publish this row. Clears itself automatically once it succeeds — no need to untick it.

Doesn't take effect alone — still needs Sync Prompts (Section 4).
Then: Sync

Once published, go to Section 4 and click this button on the web form — that's what actually makes it live.

Sync Prompts
04

Sync prompts

Editing a prompt in Airtable doesn't take effect until someone syncs it.

hmlg-ai-foundation.pages.dev

Listing Generator

Paste model numbers, pick a marketplace, and the AI writes the listing copy. Results land in Airtable for review.

Generate Sync Prompts
wfr-test-2: refresh v9 · WFAIR_ACCENT_CHAIR_LISTING: refresh v21
  1. 1After editing something in Airtable (whether or not Publish is ticked), first set the Marketplace dropdown here to match.
  2. 2Click Sync Prompts. It only touches prompts for the selected marketplace — nothing else moves.
  3. 3The line under the button is the result: promptCode: publish vN means it actually published; refresh means that row wasn't ticked for Publish and only its display got refreshed.
  4. 4A failure retries once automatically; if it still fails, click Sync Prompts again — the error text usually names the field that's wrong.
Nothing runs this on its own. Ticking Publish in Airtable does nothing by itself — until someone clicks Sync Prompts, it just sits there waiting. This button is currently the only trigger.
05

Retire a prompt

Taking a prompt down for good, with no new version published — also done in Airtable's Prompt Manager table.

  1. 1Find the row you want to retire in Prompt Manager.
  2. 2Switch its Scope to the REMOVE — retire this prompt (no new version) row.
  3. 3Tick Publish.
  4. 4Go to Section 4, pick the right Marketplace, and click Sync Prompts — the retire doesn't take effect until this runs.
Once retired, this prompt no longer matches any scope, and no new version is published. Changed your mind? Remove the REMOVE row, put the real Scope back, then publish and sync again.
06

Update catalog data

Only needed when product facts are missing or stale — grab the latest export, then upload it.

First, get the latest file from the Homelegance dashboard —

HOMELEGANCE   dealer dashboard
Dashboard
Orders
Item
Product Downloads
Your Top Sellers
Item › Product Downloads
Product Sheet Download   Price Book Download
hmlg-ai-foundation.pages.dev
Generate Payload Viewer Upload Catalog

the .xlsx from the website dashboard. Reads the "Catalog" sheet (required), plus "Bundle" and "Image Link" if present.

Read file
  1. 1In the Homelegance dashboard: ItemProduct Downloads › click Product Sheet Download to get the latest export.
  2. 2On the web form's Upload Catalog tab, click Choose File and pick that file, then Read file — this only parses it in the browser, nothing is written yet.
  3. 3Check the row count shown below, and whether a Bundle / Image Link sheet was found, then click Import all rows.
  4. 4For a large file, try Try 25 rows first on a small batch before running the full one.
A blank cell in the file never clears an existing value in Supabase — only a cell that actually has something in it overwrites. Safe to re-upload the same file as often as you like.