Translator Knowledge Base Localizer
On a schedule, the flow translates Published knowledge-base articles from a SharePoint list into a set of target languages with Microsoft Translator (HTML-aware), stores the localized versions with language metadata in a second list, and posts a summary to Teams. Keeps a multilingual help center current from English-authored source articles.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
This flow keeps a multilingual help center current using Microsoft Translator V3. On a daily schedule it reads English-authored, Published knowledge-base articles from a SharePoint list, translates each one into a configured set of target languages (HTML-aware), stores every localized copy with language metadata in a second SharePoint list, and posts a summary of what was localized to a Teams channel.
Why it matters: support content authored in one language leaves non-native customers underserved. Automated localization scales a help center across languages without a translation team for every update.
Ships Off (Stopped).
Use Case
A support/enablement team authors articles in English in a SharePoint KB list and wants them available in several languages, refreshed on a schedule, with a record of coverage and a Teams notification each run.
Flow Architecture
Daily Recurrence
RecurrenceRuns daily (1/day, Eastern).
Initialize Config
Initialize variableBinds the site, KB + localized list ids, source language, and target-language list (split of the comma list), plus Teams ids; seeds the localized counter and summary accumulator.
Get Published Articles
SharePoint - GetItemsReads the KB list filtered to ArticleStatus eq Published.
For Each Article x Language
Apply to each (nested)For each article and each target language: translates the HTML body with Microsoft Translator V3, stores a localized row (Title, LocalizedBody, ArticleLanguage, SourceArticleId, SourceTitle) via SharePoint PostItem, and increments the counter; appends an article line to the run summary.
Post Localization Summary
Teams - PostMessageToConversationPosts the count and per-article summary to the enablement channel.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_SharePointSiteURL | String | https://your-tenant.sharepoint.com | Site hosting both lists. |
| flowlibs_KbArticlesListId | String | <your-kb-list-id> | GUID of the source KB Articles list. |
| flowlibs_LocalizedArticlesListId | String | <your-localized-list-id> | GUID of the target Localized Articles list. |
| flowlibs_KbSourceLanguage | String | en | Source language code of authored articles. |
| flowlibs_KbTargetLanguages | String | fr,de,es,pt | Comma-separated target language codes. |
| flowlibs_TeamsGroupId | String | <your-team-id> | Teams team (group) id for the summary post. |
| flowlibs_TeamsChannelId | String | <your-channel-id> | Teams channel id for the summary post. |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Microsoft Translator | shared_microsofttranslatorv | Translate |
| SharePoint | shared_sharepointonline | GetItems PostItem |
| Microsoft Teams | shared_teams | PostMessageToConversation |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Languages
- Edit flowlibs_KbTargetLanguages (e.g. fr,de,es,pt,ja,zh-Hans). The loop adapts automatically.
- Source language
- Change flowlibs_KbSourceLanguage, or remove the from parameter to let Translator auto-detect.
- Scope
- Adjust the Get Published Articles $filter (e.g. add a Modified date window) to localize only recently changed articles.
- Glossary
- Protect product names with a custom Translator category, or pre/post-process protected terms.
- Human review
- Write localized rows with a Draft status and gate publication behind an Approvals step for sensitive content.
- Trigger swap
- Replace Recurrence with a SharePoint item-created/modified trigger to localize on publish.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Target language list
Parses the comma list into target codes.
EXPR.02Translate body
HTML-aware translation input.
EXPR.03Translated text (V3, flattened)
The localized HTML written to the target list.
EXPR.04Summary line
One summary line per article.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.