Commerce agent● operational

agents/ai-template-listing

214 columns. Eleven are required. The template won’t say which eleven.

Marketplace templates are not documents. They are undocumented contracts with conditional requirements, hidden valid-value tabs, and category rules that change without a changelog. This agent reads the contract and fills it.

Emitted artifactFlat.File.ConsumerElectronics.v2024.xlsm
SKU SP-X7-BLK
9 set1 escalated
feed_product_typeHEADPHONES
item_nameSonicPro X7 Wireless Noise Cancelling Headphones
brand_nameSonicPro
external_product_id0712345678901
standard_price299.00 USD
bullet_point1HYBRID ADAPTIVE ANC: blocks up to 42 dB of cabin noise.
+ 4 more fields · full run below

Live output · not a screenshot · switch channels in the run below

The job

Somebody in your team is still doing this in Excel.

The Amazon category flat file is a spreadsheet with two hundred and fourteen columns spread over eight tabs, one of which is called “Valid Values” and contains the actual rules. Roughly eleven fields are genuinely required for any given leaf category, and the file does not tell you which eleven — it lists requirements for the category tree as a whole.

So you fill in what looks necessary, upload, wait between two hours and three days, and receive a processing report identifying an error by row and column index. Then you do it again.

Every other channel has its own version of this. eBay’s required aspects vary by leaf node and change without notice. Etsy demands provenance fields no product feed contains. WooCommerce will accept a malformed product without complaint and simply render it wrong.

This agent does not make that work faster. It removes the loop entirely, by resolving the template contract before emitting rather than discovering it from rejection reports afterwards.

One run

Every field, and where it came from.

A single SKU through the agent, field by field, with elapsed time. The last row on Amazon is the one worth reading.

Target

Flat.File.ConsumerElectronics.v2024.xlsm

Fields in template

214

Actually required

11

Outcome

9 set · 0 downcast · 1 escalated

004ms
feed_product_type
HEADPHONES
Taxonomy agent · 100%
set
021ms
item_name
SonicPro X7 Wireless Noise Cancelling Headphones
Copywriter agent · 189/200 chars
set
023ms
brand_name
SonicPro
Master brand record
set
038ms
external_product_id
0712345678901
GS1 registry · GTIN-13 verified
set
041ms
standard_price
299.00 USD
Distributor price feed
set
079ms
bullet_point1
HYBRID ADAPTIVE ANC: blocks up to 42 dB of cabin noise.
Spec sheet p.4, table 1
set
086ms
battery_average_life
48 hours
Lab certification p.2
set
133ms
item_type_keyword
over-ear-headphones
Amazon browse tree · resolved leaf
set
148ms
country_of_origin
CN
Customs declaration p.1
set
201ms
supplier_declared_dg_hz_regulation
Not sourced — lithium cell requires a DG declaration
No document on file
esc
Escalation

The product contains a lithium cell, so Amazon requires a dangerous-goods declaration. No supplier document on file establishes one. The agent could produce a plausible value here and the listing would very likely go live — which is exactly why it does not. The row is held and the missing document is named, with the supplier to request it from.

Capability ledger

The right-hand column is the one that matters. An agent defined only by what it can do is an agent nobody can safely deploy.

Does

Resolves the target template for a channel and category, including which fields are genuinely required for that leaf node rather than for the category in general.

Populates every field it can source, converting units, matching controlled vocabularies, and respecting per-channel character limits before emission.

Attaches a provenance record to each populated field — the document, the page, and the confidence.

Re-emits automatically when a channel revises its template, and tells you which SKUs are affected.

Produces a dry-run diff so you can see the full payload before anything is submitted.

Will not

Invent a value to satisfy a required field. An unsourceable field escalates and the row does not emit.

Infer a regulatory or safety attribute from a similar SKU, however confident the match appears.

Submit to a channel on your behalf without an approval, unless you have explicitly moved that field class to Tier 3.

Silently downcast a value. Where a channel cannot hold a number, the loss is recorded and reported.

Overwrite a field a human has edited, unless the source document itself has changed.

Invocation

Runs on a schedule, on catalog change, or on demand. Nothing about it requires a console.

Call it, schedule it, or let the catalog trigger it.

Direct invocation
POST /v1/agents/ai-template-listing/run

{
  "sku": "SP-X7-BLK",
  "channels": ["amazon", "ebay", "shopify"],
  "mode": "dry_run",
  "on_unsourceable": "escalate"
}
Response
{
  "run_id": "run_8f21c04a",
  "amazon": { "set": 9, "escalated": 1 },
  "ebay":   { "set": 7, "downcast": 1 },
  "shopify":{ "set": 8 },
  "blocked": [
    { "field": "supplier_declared_dg_hz_regulation",
      "reason": "no_source_document",
      "request_from": "supplier:sonicpro" }
  ]
}
On schedule

Nightly, or at whatever cadence your feeds actually change.

On catalog event

Fires when the enrichment agent resolves a new attribute on a SKU.

On channel change

Fires when a marketplace revises a template you publish against.

In a pipeline

Chained after taxonomy and copywriting, before the compliance gate.

Deploy

Send one SKU. Get the template back filled.

Pick the category whose flat file your team dreads most. We will run twenty SKUs through it in dry-run and return the completed template, the provenance record for every populated cell, and the list of fields nothing in your files can substantiate.

20 SKUs · Dry-run only · Nothing is submitted · Output in 48 hours