How to Build an AI Product Description Generator
Use AI to automatically generate compelling product descriptions from product data.
What This Integration Does
Most ecommerce platforms ship products with placeholder copy or one-line specs the supplier provided. Writing real, SEO-friendly descriptions for hundreds of SKUs is the kind of work that gets perpetually deprioritized. This workflow pulls each product's structured data and runs it through an AI Agent that writes a benefit-led, brand-consistent description ready to publish.
The workflow is idempotent and re-runnable - you can scope it to products without a description, products that haven't been touched in a year, or a single SKU passed in via webhook. Each run records a version stamp on the product so you always know which descriptions are AI-generated and when.
Prerequisites
- An AI Agent enabled in Spojit.
- An ecommerce connection: shopify, woocommerce, bigcommerce, or one of the adobe-commerce connectors.
- A short brand voice doc - 4-6 bullets covering tone, banned words, and signature phrases.
Step 1: Trigger
Drop a Trigger node. For one-off generation use a Webhook trigger that accepts a productId. For backfill use a Schedule trigger that runs nightly and processes anything still missing a description.
Step 2: Fetch Product Data
Add a Connector node calling your storefront connector. For Shopify, use shopify get-product with the incoming productId; for a batch run use list-products with a filter. Pull every field that helps the model - title, vendor, type, tags, options (size, color), specs, materials, dimensions.
Step 3: Normalize the Input
Add a Transform node that flattens variants and consolidates specs into a tidy object the prompt can render cleanly:
{
"name": "{{ product.title }}",
"vendor": "{{ product.vendor }}",
"category": "{{ product.product_type }}",
"features": {{ product.tags }},
"specs": { "weight": "{{ product.weight }}g", "material": "{{ product.material }}" }
}
Step 4: Generate with the AI Agent
Add a Connector node in Agent Mode with Structured Output enabled. Keep the prompt short and lean on the schema for shape:
You are a copywriter for {{ brandName }}. Write a product description
following the brand voice below.
Brand voice:
- Confident, never hyperbolic
- Lead with the customer benefit, not the spec
- Avoid: "game-changing", "revolutionary", "literally"
- Length: 90-150 words
Product:
{{ normalized }}
Schema:
{
"headline": { "type": "string", "description": "Short, scannable hook" },
"description": { "type": "string", "description": "Main body, 90-150 words" },
"bulletPoints": { "type": "array", "items": { "type": "string" }, "description": "3-5 key benefits" },
"seoTitle": { "type": "string", "description": "Under 60 chars" },
"seoDescription": { "type": "string", "description": "Under 160 chars" }
}
Step 5: Quality Gate
Add a Connector node calling the text connector's count-words tool to enforce length. Follow with a Condition node: if the description is outside 80-180 words or contains any banned words from your brand voice, route to a Human approval node instead of publishing automatically.
Step 6: Publish the Description
Send the result back to the store with a Connector node - shopify update-product, woocommerce update-product, or bigcommerce update-product. Write the SEO fields into the platform's SEO metafields and stamp a generatedAt tag so you can find AI-generated products later.
Tips
- Pin the brand voice in a Subworkflow so every product description workflow uses the same one - update in one place.
- For mid-tier catalogs, run a nightly Schedule against products without a
generatedAttag and your backlog will clear itself over a few weeks. - Save 5-10 examples of human-written descriptions you love and include 2-3 as few-shot exemplars in the prompt - quality jumps noticeably.
Common Pitfalls
- Hallucinated specs - the model may invent a "moisture-wicking lining" if you don't tell it to stick strictly to provided data. Add "do not invent features" to the prompt.
- Identical phrasing across products - if every result starts with "Meet the new...", raise the temperature slightly and rotate opening instructions.
- SEO title overflow - models routinely return 70+ char titles. Truncate or regenerate when the schema constraint is violated.
Testing
Pick five products across categories. Run them through the workflow with auto-publish off and have a copywriter grade each on tone, accuracy, and length. Tighten the prompt until you get 4 of 5 publishable. Then flip on the schedule and let it grind through the backlog.