ข้ามไปยังเนื้อหาหลัก

Data and reporting

Make the product fields consistent before blaming the AI tool

An assistant reading your catalogue will answer confidently whether or not the fields agree with each other. Nothing in the model tells you which answer came off a clean row. The work is upstream: one vocabulary per field, one row per SKU, and a nightly pass that says out loud which rows are still short.

Triggers
Two
Runs
On write, plus nightly
Stack
4 tools
Durable execution
Not required

The flow

Two triggers and one decision. The top track cleans rows as they arrive; the bottom track sweeps the whole table at night and separates what is usable from what still needs a person.

Platform

New product rows land

Sheets · Airtable

Platform

Model labels the free text

OpenAI · Anthropic

Data

Write one row per SKU

Sheets · Airtable

Orchestration

Every night

n8n schedule

Orchestration

List the rows still short

n8n · Make

Orchestration

Every required field filled?

n8n IF

Data

Flag the row usable

Sheets · Airtable

Notify

Send the gaps to an owner

Slack · WhatsApp

Step by step

  1. 01

    New product rows land

    Sheets · Airtable

    A supplier file, an export, or someone typing. The point of entry does not matter; every row goes through the same door from here on.

  2. 02

    Model labels the free text

    OpenAI · Anthropic

    The model picks a category from your fixed list and pulls attributes out of the description. It classifies and extracts only — it never computes a figure. Prices, weights and stock counts are copied across verbatim or left blank.

  3. 03

    Write one row per SKU

    Sheets · Airtable

    Same field names, same units, same date format, every time. One SKU appearing twice under two spellings is the defect this step exists to stop.

  4. 04

    Every night

    n8n schedule

    A full pass over the table, on a schedule. Cleaning only on write leaves the rows that were already wrong untouched.

  5. 05

    List the rows still short

    n8n · Make

    Read the table in pages rather than one request per row — Sheets meters per minute and Airtable per second, and a row-by-row loop exhausts either.

  6. 06

    Every required field filled?

    n8n IF

    Checked against the short list of fields you decided are mandatory — not against everything the table can hold.

  7. 07

    Flag the row usable

    Sheets · Airtable

    One column marking which rows an AI tool is allowed to read. Answers then come from rows you have already cleared, not from the whole table.

  8. 08

    Send the gaps to an owner

    Slack · WhatsApp

    The named person, the exact rows, the exact fields. A list nobody owns is a report, and reports do not get filled in.

What the platform will not allow

Two of these set what the model can be asked to guarantee; the third sets how fast you may read the table.

  • Structured outputs guarantee only that the reply matches your JSON Schema — the model "will always generate responses that adhere to your supplied JSON Schema". Shape is enforced; whether the value is the right one is not.

    OpenAI — Structured Outputs
  • Every field must be marked required and objects must set additionalProperties: false, so a field the model cannot determine still comes back — you need an explicit "unknown" value rather than a missing key.

    OpenAI — Structured Outputs
  • Numerical constraints (minimum, maximum, multipleOf) and string length constraints (minLength, maxLength) are not supported in the schema, so a price range has to be checked after the call. Regex pattern validation is supported, so a SKU format can be declared in the schema itself.

    Anthropic — Structured outputs
  • Sheets allows 300 read and 300 write requests per minute per project, and 60 per minute per user per project; the quotas refill every minute and there is no daily cap on top of them.

    Google Sheets API — Usage limits

When this is not worth building

Three cases where the upkeep costs more than the inconsistency.

  • The catalogue is small enough that one person still recognises every SKU by name. They will spot a bad row faster than a nightly sweep will, and the sweep becomes another thing nobody watches.

  • Nobody has agreed what the fields mean. Automation applied to an undecided vocabulary produces consistent rows that are consistently wrong, which is harder to see than obvious mess.

  • No one owns the gaps. The nightly list only works if it lands on someone whose job includes filling it in; otherwise you have automated the production of a list.

Related reading

ติดต่อเรา

กระบวนการไหนที่คุณควรทำจริง ๆ

เรารันกระบวนการเหล่านี้ให้ทีมปฏิบัติการในฮ่องกงทุกสัปดาห์ บอกเราว่าขั้นตอนไหนกินเวลาคุณ แล้วเราจะบอกว่าทำอัตโนมัติแล้วคุ้มหรือไม่

เริ่มพูดคุย