Category: IA & Automatización

How I publish in 3 languages without friction using Cowork + Sanity

The workflow I use to write, translate, and publish every blog post in Spanish, English, and French without copy-pasting between tabs: an editorial calendar, Cowork, and Sanity connected together.

Veronica Cussi - Aug 10, 2026 - 3 min

How I publish in 3 languages without friction using Cowork + Sanity

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.

Related articles

RAG Chatbots for Businesses: What They Are and Why You Need One

What a RAG chatbot is, how it differs from a generic LLM or a traditional chatbot, and why it's the strongest option for customer support and internal help desks. With a real HR use case.