Localising email campaigns across multiple regions used to be a slow, repetitive task with many manual steps. Multiple reviewers worked on separate versions, the same content was rewritten several times, and managing consistency across up to 13 languages required significant coordination.

Instead of introducing new platforms or external tools, I ran an internal experiment:
Could localisation be automated using only the tools already available inside a standard enterprise Microsoft environment?

The prototype relied primarily on SharePoint, Power Automate, and Teams, with one additional component - GPT-4.1 mini accessed through Azure OpenAI - used strictly for a controlled QA step. This allowed the process to benefit from LLM-based reasoning while keeping all data inside the same enterprise environment.

To support this workflow, I set up a structured SharePoint library called Email translations with folders representing each stage of the localisation lifecycle:

Folder

Purpose

01_Incoming_EN

Source English files; Power Automate trigger

02_AI_Drafts

Auto-translated drafts from Copilot + GPT

03_In_Review

Files waiting for regional review

04_Approved

Final approved translations

99_Archive

Archived or rejected versions

Files moved automatically between these folders depending on their state.

The goal was not to build a perfect localisation system - only to see how far a prototype could go using internal tools.

It ended up removing a large portion of repetitive work and created a far more structured review process.

The Problem: Process, Not Language

Localising content manually across many regions created several consistent issues:

Attempt 1: Copilot-Only Translation

Although Copilot now runs on newer GPT-5–series models, this prototype was built on an earlier version, and the translation behaviour reflected those earlier capabilities.

The first version of the workflow was simple:

  1. A file was uploaded to 01_Incoming_EN.
  2. Power Automate triggered automatically.
  3. Copilot generated a translation for each region.

Because SharePoint triggers can fire before a file finishes uploading, the flow included a file-size completion check (wait until size > 0 before continuing).

However, the main problem became clear quickly: Copilot’s translations were not reliable enough for end-to-end localisation.

Common issues included:

This made Copilot useful only for generating a first draft.
A second quality-check layer was necessary.

Attempt 2: Adding GPT-4.1 Mini for QA

The next version added a review step:

  1. Copilot → initial translation
  2. GPT-4.1 mini (Azure) → QA and consistency check

GPT-4.1 mini improved:

The prompts needed tuning to avoid unnecessary rewriting, but after adjustments, outputs became consistent enough to use in the workflow.

Engineering Work: Making the Workflow Reliable

The architecture was simple, but several issues appeared during real use and needed fixes.

Platform behaviour:

Design issues:

After these adjustments, the workflow ran reliably under normal conditions.


Final Prototype Architecture

Below is the complete working structure of the system.

1. SharePoint Upload & Intake

The process began when a file was uploaded into Email translations / 01_Incoming_EN

Power Automate then:

SharePoint acted as the single source of truth for all stages.


2. Power Automate Orchestration

Power Automate controlled every part of the workflow:

All routing, retries, and state transitions were handled by Power Automate.


3. Copilot Translation Pass

Copilot translated the extracted content and preserved most of the email structure - lists, spacing, and formatting - better than GPT alone.


4. GPT-4.1 Mini QA Pass

GPT-4.1 mini checked:

This created a more reliable draft for regional review.


5. Regional Review (Email + Teams)

For each region, Power Automate:

If changes were submitted, the updated file returned to 03_In_Review and re-entered the workflow.


6. Final Storage

Approved translations were stored in 04_Approved using a consistent naming format.

Rejected or outdated versions were moved to 99_Archive. This ensured a complete and clean audit trail.


Results

After testing the prototype in real workflows:

This did not replace dedicated localisation systems, but it removed a significant amount of repetitive manual work.

Limitations

These were acceptable for a prototype.

Next Step: Terminology Memory

The next planned improvement is a vector-based terminology library containing:

Both models would use this library before producing or checking translations.

Final Thoughts

This project was an internal experiment to understand how much of the localisation workflow could be automated using only standard Microsoft tools and one Azure-hosted LLM. The prototype significantly reduced manual effort and improved consistency across regions without adding new software.

It isn’t a full localisation platform - but it shows what can be achieved with a simple, well-structured workflow inside the existing enterprise stack.