Publishing content in three languages usually means tripling the work: write the article, translate it twice, then manually upload each version to the CMS while making sure the links between languages actually hold together. For the past few weeks I've been running a different workflow with Cowork and Sanity that removes almost all of that friction, and this very article was published exactly that way.
The real problem isn't translation, it's coordination
Translating text is the easy part. The tedious part is keeping three CMS documents in sync: same logical slug, same category, same publish dates, and a real link between the three versions so the site's language switcher actually works. Doing that by hand in Sanity Studio, article after article, is where the time disappears.
The stack: calendar + Cowork + Sanity
- An editorial calendar in Google Sheets with one row per article and columns for the title in ES, EN, and FR, the category, and the status.
- Cowork connected to that calendar and to the Sanity project via MCP, with permission to read the schema and create documents.
- The post schema in Sanity with a language field and a translationGroup field: the same translationGroup value across the three versions is what links them.
The step-by-step flow
I ask Cowork to pick up the next pending row from the calendar. It reads the topic, the category, and the three already-defined titles. Before writing anything, it checks the actual Sanity schema to know which fields exist and which categories are already set up, instead of assuming a structure.
It writes the article body in all three languages, generates a coherent slug for each, and creates the three documents as drafts in Sanity with the same translationGroup and the right author and category references.
What stays manual, on purpose
I don't let it publish directly. All three documents stay as drafts: I review the tone, adjust what needs adjusting, upload the main image (mainImage doesn't generate itself), and publish once I'm happy with it. What I automate is the part that adds no value writing twice, structure, cross-language consistency, taxonomy, not the editorial part.
Why this doesn't break the site's consistency
Before creating a new category, Cowork checks which ones already exist in Sanity. If the editorial calendar uses a category name that doesn't exist yet in the CMS, it flags it and decides with me whether to create it or map it to an existing one, instead of generating loose duplicates with slightly different names.
The result
What used to be three sessions of copy-pasting and reviewing field by field in the Studio is now a five-minute conversation and a final review before publishing. If you manage multilingual content in Sanity and want to set up something similar, reach out.
