# Auto-write and localize Shopify product copy in four languages

> Every new Shopify product gets an SEO description written for you, plus French, German and Spanish copy ready for your team to load.

- Workflow type: agent
- Services: Shopify, Mistral AI, Google Sheets, Slack Bot
- Categories: Marketing, Operations
- Published: 2026-08-07

## What it does

- Spots every new product in your Shopify store and writes an SEO-friendly English description, page title and meta description from the details you already filled in.
- Creates French, German and Spanish versions written for each market, so phrasing, idiom and measurements read naturally instead of like a machine translation.
- Saves the English copy straight onto the product and tags it as ready, so you can see at a glance which listings are done.
- Drops all four language versions into a spreadsheet for your merchandising team to load, and posts a Slack summary with a link to the product.

## What you'll need

- A Shopify store you can connect, with permission to read and update products
- A Mistral AI account, used to write the English copy and the translations
- A Google Sheets spreadsheet with a tab set aside for the localized copy
- A Slack workspace and a channel where the summaries should land

## Prompt

I sell into European markets, and writing product copy four times over is killing my launch speed. Use a Shopify poll trigger on the products event so this runs whenever a new product is created, and handle one product per run.

For each new product, read the title, product type, tags, vendor and any draft description that is already filled in. Before generating anything, check there is something real to work with. Skip the product entirely if the title is still a placeholder such as Untitled, New product, Test, an asdf-style stub, or a Copy of name. Also skip it if there are no attributes to write from at all, meaning no product type, no tags, no vendor and no draft description. And skip any product that already carries the localized-copy-ready tag, so a re-run or a later edit never overwrites copy the team has already reviewed.

For products that pass the check, use Mistral AI Chat Completion to write the English copy first: an SEO-friendly product description, a matching SEO title and a meta description. Keep the SEO title short enough to survive in search results and the meta description to roughly one or two sentences. Then use Mistral AI Chat Completion again to produce French, German and Spanish versions of all three pieces.

Translate for the market rather than word for word. Each localized version should read as though it was written by someone selling in that country: natural idiom, natural sentence rhythm, and the conventions that locale expects for measurements, decimal separators and sizing. Where a measurement already exists in the product data, restate it in the unit that market actually uses rather than leaving an imperial figure in front of a European shopper. Do not translate the brand or vendor name unless it genuinely has a local form.

Never invent specifications, materials, dimensions, sizing, certifications or care instructions that are not already present in the product data. If a detail is missing, write around it instead of guessing. Converting a measurement that is already there into another unit is fine, because that is the same fact restated. Introducing a measurement, fabric, capacity or compatibility claim that does not appear in the source data is not.

Write the English description back to the product with Shopify Update Product, and add a localized-copy-ready tag alongside the tags that are already on the product rather than replacing them. Do not attempt to store the French, German or Spanish text in Shopify: a product holds only one description field, so the translations go to the spreadsheet instead for the merchandising team to load through their translation setup.

Append one row per language to the Google Sheets tab with Append Values, four rows in total, one each for English, French, German and Spanish. Give each row the date, the Shopify product ID, the product title, the product admin URL, the language, the SEO title, the meta description and the full description body. Keep the English row in as the reference version so the team can see what each translation was made from without opening Shopify.

Finally, post a short summary to Slack with the Slack Bot Send a Message action. Name the product, link to it, confirm that the English description and tag were written back, and note that the three translations are waiting in the sheet. If the product was skipped, post a single short line naming the product and the reason, either placeholder title, nothing to write from, or already localized, and do not write anything back to Shopify or the sheet in that case.

## How to customize

- Swap in the languages you actually sell into, or add more such as Italian or Dutch
- Change the tag that marks a product as done, or the Slack channel the summaries go to
- Set the tone, length and any words you never want appearing in your product copy
- Narrow which products qualify, for example only certain vendors or product types

## FAQ

### Will this overwrite product descriptions I have already written?

It only acts on products as they are first created, and it replaces the draft description on those with the finished English version. Anything already carrying the ready tag is skipped, so a product you have reviewed will not be rewritten on a later run.

### Do the French, German and Spanish versions go into my Shopify store?

No. A Shopify product holds a single description, so cramming four languages into one field would break your listings. The translations are written to your spreadsheet instead, formatted one row per language, so your merchandising team can load them through whichever translation or markets setup you use.

### Can it invent product details that are not true?

It is explicitly instructed not to. Specifications, materials, dimensions, sizing and care instructions are only ever restated from what is already in the product record. If a detail is not there, the copy works around it rather than guessing.

### What happens to half-finished products that are still placeholders?

They are skipped. If the title is still something like Untitled or Test, or there is nothing to write from because the product has no type, tags, vendor or draft description, the product is left completely untouched and you get a short note in Slack explaining why.

### Is the translation just a word-for-word conversion?

No. Each version is written for its market rather than translated literally, so idiom lands naturally and measurements appear in the units a shopper in that country expects. The result reads like it was written by someone in that market.

Use this prompt in General Input: https://www.generalinput.com/prompts/auto-write-and-localize-shopify-product-copy-in-four-languages