Auto-write and localize Shopify product copy in four languages

By General Input

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

Integrations

  • Shopify
  • Mistral AI
  • Google Sheets
  • Slack Bot

Type

Agentic Task

Categories

  • Marketing
  • Operations

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.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerA brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensStop cold emails to anyone with a live deal in PipedriveLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery board