Studio
Case study · AI for e-commerce

Shopify product pages built from one approved record

New products launch often, and each one needs a long Shopify record: variants, tax, ingredient list, warnings, shelf life, SEO and metafields. We built an n8n workflow that turns an approved product record into a complete Shopify product, one at a time.

Products wait in a queue and go through one by one. A failure resets one product, not the whole batch.

Team
Product and content
Built with
  • n8n
  • Shopify
  • OpenAI
  • Postgres
  • Slack

The problem

A new product meant an afternoon of form fields.

The product data already existed in the product database, approved by the team that sources it. Getting it into Shopify still meant copying field by field, writing the product text and SEO, and filling in the metafields the storefront reads.

Products like these carry legal text: ingredient lists and warnings have to be right. Copying by hand is where mistakes creep in.

Launches come in batches. When several products were approved at once, the work piled up on one person.

What we built

One approved record as the source

When a product is ready in the product database, a webhook puts it in a queue. Only sourcing data that has already been approved is used.

AI steps for the text

AI steps in the workflow write and format the parts a shopper reads, such as the product text and the SEO fields, from the approved data.

A complete Shopify product

The workflow creates the product with SKUs, tax settings, ingredient list, warnings, shelf life, SEO fields and metafields, so nobody has to fill in fields by hand afterwards.

One product at a time, with a reset

A poller takes one product from the queue each minute. If a step fails, an error workflow alerts Slack, puts the product back in the queue and leaves a comment on the product record.

Guardrails

What keeps bad data off the shop

A product page is public once it is published. These rules keep half-finished products out.

  • A person starts it by approving the product
  • Only approved sourcing data is used
  • One product at a time, so a failure affects one product
  • On error: an alert, a reset, and a comment where the team works

Why we built it this way

A queue instead of a rush

Ten products approved at once would mean ten runs competing for the same API limits. A queue takes them one by one and makes a failure easy to trace.

Fail loudly, where people look

The error comment lands on the product record the team already works in, not only in a log nobody opens.

Approved data in, nothing invented

The workflow builds from data the sourcing team has signed off. It formats and writes around those facts instead of guessing them.

Measured

What the team can see

The queue and its failures are visible without opening n8n.

  • Products waiting in the queue
  • Failures, with a Slack alert and a comment on the record
  • Which products were created in Shopify, and when

Still building product pages field by field?

Tell us where your product data lives. We'll show you how much of the Shopify record it can fill on its own.

Book a 15-min call