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 Spojit workflow pulls each product's structured data and runs it through a Connector node in Agent Mode 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 ecommerce connection: shopify, woocommerce, bigcommerce, or one of the adobe-commerce connectors, with write scope so the workflow can update products.
  • 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 Agent Mode

Add a Connector node in Agent Mode and define a Response Schema to force structured JSON output. 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 }}

Response 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

  • Wrap the generation step in a Subworkflow and call it from every catalog workflow so they all share one prompt and schema: update it in one place and every caller picks up the change immediately.
  • For mid-tier catalogs, run a nightly Schedule trigger against products without a generatedAt tag 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 with the text connector's truncate tool, 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.

Learn More

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.