Shopify + Google Sheets: multilingual product drafts
Your Shopify catalog grows, and suddenly every new product needs six versions of the same copy. Titles drift. Handles get messy. And translating from a half-finished English description is how you end up fixing “small” mistakes for weeks.
E-commerce managers feel it first because product pages are always due yesterday. Marketing leads dealing with launches get stuck in approvals. And store owners just want a sane way to review multilingual drafts in one place. This Shopify Sheets translation automation puts consistent ES/DE/EN/FR/IT/PT drafts into a spreadsheet you can actually manage.
This workflow pulls your products, analyzes the main image with Gemini, generates strict multilingual copy, and writes one clean row per language into Google Sheets. You’ll see exactly where the time goes, what the outputs look like, and how to avoid the common setup traps.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Shopify + Google Sheets: multilingual product drafts
flowchart LR
subgraph sg0["When clicking ‘Execute workflow’ Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Execute workf..", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/shopify.svg' width='40' height='40' /></div><br/>Get many products"]
n2@{ icon: "mdi:database", form: "rounded", label: "Append row in sheet", pos: "b", h: 48 }
n3@{ icon: "mdi:robot", form: "rounded", label: "Analyze image", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "AI Agent", pos: "b", h: 48 }
n5@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model1", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Expand Languages & Sanitize"]
n4 --> n7
n3 --> n4
n1 --> n3
n6 -.-> n4
n5 -.-> n4
n7 --> n2
n0 --> n1
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n3,n4,n6 ai
class n5 aiModel
class n1 decision
class n2 database
class n7 code
classDef customIcon fill:none,stroke:none
class n1,n7 customIcon
The Problem: Multilingual product copy turns into a spreadsheet nightmare
Translating product pages sounds straightforward until you’re doing it at scale. One person exports product data, someone else grabs the first image, a translator asks “what is this material exactly?”, and marketing wants the tone to match the brand guidelines. Meanwhile, handles need to be consistent across languages (and still URL-safe), so you can’t just paste whatever the translation tool gives you. Even worse, if the product image is the only reliable source of truth for details, the copy ends up vague or wrong because nobody wants to guess.
It adds up fast. Here’s where it usually breaks down.
- People translate from incomplete source copy, so every language inherits the same missing details.
- Handles get created ad hoc, which leads to duplicates, broken redirects, and ugly URLs later.
- Review happens across email threads and docs, so there is no single place to approve or reject drafts.
- Teams avoid using the product image as input because “describing what you see” is slow and easy to get wrong.
The Solution: Shopify + Gemini drafts, organized in Google Sheets
This workflow creates multilingual product drafts by combining two sources you already trust: Shopify metadata and the product’s main image. You launch it manually when you’re ready to process a batch. n8n pulls your products (including images[0].src), sends that primary image into Gemini Vision for a short, objective analysis, then hands the vision notes plus product fields to a Gemini Agent that writes language-specific titles, descriptions, and handles. The Agent is constrained by a strict JSON contract, so you don’t get “extra commentary” mixed into your data. Finally, the workflow expands that JSON into six separate rows and appends them to Google Sheets for review and later publishing.
The workflow starts with a manual run, then fetches many Shopify products in one go. Gemini reads the image and produces verifiable details (colors, visible features, materials if clear), which the copywriting Agent uses to draft ES/DE/EN/FR/IT/PT outputs in a consistent format. Google Sheets becomes your review queue: one product, six rows, ready for approval.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you add 20 new products for a seasonal drop and you need ES/DE/FR translations (plus EN cleanup). Manually, even a “fast” process might be about 10 minutes per language per product once you include copying details, writing, formatting, and creating a handle, which is roughly 10 hours of work. With this workflow, you kick off one run, let Gemini process in the background, then review in Google Sheets; most teams spend about 1–2 hours total doing final edits and approvals. That’s a whole day back for higher-value work, like improving imagery or running ads.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Shopify to fetch products and image URLs
- Google Sheets to review drafts and approve changes
- Gemini API key (get it from Google AI Studio)
Skill level: Intermediate. You will connect credentials, pick a spreadsheet tab, and sanity-check a couple of fields like product ID and image URL.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
You start the run on demand. A manual trigger launches the workflow so you can test safely, then scale up when you like what hits your sheet.
Shopify sends the product batch. n8n retrieves many products, including the key fields you already maintain (IDs, titles, descriptions) and the primary image URL at images[0].src.
Gemini turns the image into grounded product notes. The Vision step analyzes what’s visible and outputs a short description that’s meant to be factual, not “creative,” so the copy doesn’t drift into made-up specs.
The copywriter Agent produces strict multilingual drafts. Gemini generates ES/DE/EN/FR/IT/PT fields in a locked JSON structure, then the workflow validates and expands that data into six separate items and normalizes handles.
Google Sheets becomes your review queue. One row per language gets appended to your chosen sheet tab so you can edit, approve, and later publish back to Shopify if you add an update step.
You can easily modify the language set to add NL or remove PT based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Manual Trigger
Set up the manual trigger so you can run the workflow on demand while testing.
- Add Manual Launch Trigger as the starting node (Manual Trigger).
- Leave default settings as-is; no parameters are required.
- Connect Manual Launch Trigger to Retrieve Product List.
Step 2: Connect Shopify and Pull Products
Retrieve a batch of products from Shopify to feed the AI analysis and copy generation.
- Add Retrieve Product List and set Resource to
product. - Set Operation to
getAlland Authentication toaccessToken. - Set Limit to
2to process two products per run. - Credential Required: Connect your shopifyAccessTokenApi credentials in Retrieve Product List.
- Ensure the output connects to Image Insight Analysis.
Step 3: Set Up Image Analysis and AI Copywriting
Analyze product images with Gemini, then generate multilingual product copy via the AI orchestrator.
- In Image Insight Analysis, set Operation to
analyzeand Resource toimage. - Set Image URLs to
{{ $json.images[0].src }}. - Keep the provided Text prompt intact (it enforces neutral, visible-only image descriptions).
- Credential Required: Connect your googlePalmApi credentials in Image Insight Analysis.
- In Copywriting AI Orchestrator, set Text to the provided multi-source prompt and keep Prompt Type as
definewith hasOutputParser enabled. - Verify the embedded expressions reference Shopify and Gemini outputs, including
{{ $('Retrieve Product List').item.json.images[0].src }}and{{ $json.content.parts[0].text }}. - Open Gemini Chat Model and set Temperature to
0.4and Max Output Tokens to4048. - Credential Required: Connect your googlePalmApi credentials in Gemini Chat Model.
Credential Required: The Parse Structured Output tool is attached to Copywriting AI Orchestrator; if credentials are needed, add them to the parent node, not the parser.
Step 4: Expand Locale Outputs and Append to Google Sheets
Transform the multilingual JSON into per-language rows and append the results to a Google Sheet.
- In Expand Locale Entries, paste the provided JS Code to split
es,de,en,fr,it,ptinto separate items. - Confirm the code references Shopify data using
$('Retrieve Product List').first().json.idand$('Retrieve Product List').first().json.handle. - Connect Expand Locale Entries to Append Sheet Record.
- In Append Sheet Record, set Operation to
appendand Authentication toserviceAccount. - Set Document to
[YOUR_ID]and Sheet Name to[YOUR_ID](replace with your actual file and sheet). - Credential Required: Connect your googleApi credentials in Append Sheet Record.
shopify_product_name and shopify_description), the append operation may fail or map incorrectly. Ensure column headers are present.Step 5: Test and Activate Your Workflow
Run a manual test to validate the AI output and sheet append, then activate the workflow for production.
- Click Execute Workflow on Manual Launch Trigger to start a test run.
- Confirm Retrieve Product List returns product data and Image Insight Analysis outputs a concise description.
- Verify Copywriting AI Orchestrator produces multilingual JSON and Expand Locale Entries splits it into six items.
- Check Append Sheet Record to ensure new rows are appended to your target Google Sheet.
- When successful, switch the workflow to Active to use it in production.
Common Gotchas
- Shopify credentials can expire or lack product read permissions. If things break, check your Shopify app token scopes and the n8n credential test first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Gemini outputs can fail the parser if the Agent adds extra text outside the JSON. Keep the strict contract, and bake your brand voice into the prompt without allowing “helpful explanations.”
Frequently Asked Questions
About 30 minutes if your Shopify, Gemini, and Sheets accounts are ready.
No. You’ll mostly connect accounts and choose the right spreadsheet tab. The only “code-like” part is optional tweaking in the handle-sanitizing node, and you can keep the default.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Gemini API usage, which depends on your model and image volume.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes. Keep the Agent’s JSON structure aligned with the languages you want, then adjust the “Expand Locale Entries” code so it only emits the language items you care about (for example, just en and fr). Common customizations include changing tone rules in the Agent prompt, adding a no-image fallback when images[0].src is missing, and tightening your slug rules for handles.
Usually it’s an access token issue: expired token, wrong store, or missing product read permissions. Double-check the token scopes in Shopify, then re-save the credential in n8n so the workflow uses the updated value. If it fails only on some products, inspect the product payload and confirm images[0].src exists and is reachable.
A lot, but it depends on your execution limits and Gemini throughput.
For this use case, n8n is usually the better fit because the strict JSON parsing, batch processing, and custom handle sanitation are easier to control. Zapier and Make can do it, but you’ll often end up juggling more “glue” steps and paying more once the volume grows. Another practical point: self-hosting n8n lets you run big catalog jobs without watching task counts all day. The tradeoff is that you (or someone on your team) own the reliability and monitoring. If you want a second opinion on the platform choice, Talk to an automation expert.
Once this is running, multilingual drafts stop being a fire drill. You review in Sheets, keep your handles consistent, and move on to the work that actually grows revenue.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.