Introduction: Multi-language flows let you run one automation while delivering messages in each contact’s preferred language. You build the flow once, add translations, and RapidPro.app automatically selects the right language when sending messages.
7–10 min read
Flows
Updated on: 18/12/2025
Launch one flow in many languages (the clean way)
If you just need the essentials, follow this quick path:
- Enable a Primary language and add Additional languages in Workspace Settings
- Create the flow and confirm its primary editing language
- Build all messages in the primary language first
- Switch to each secondary language to see what’s missing
- Translate content (manual or auto-translate with an LLM)
- Test delivery using contacts with different Preferred Languages
This setup keeps your canvas readable and ensures contacts receive messages in the language they expect.
Step-by-Step Process
- Open Workspace Settings.
- Find Languages (or Language Settings).
- Set your Primary language (default for your workspace).
- Add at least one Additional language you want to support.
- Save changes.
[CAPTURE: Workspace Settings page showing Primary Language + Additional Languages.]
- Go to Flows.
- Click New Flow.
- Enter a flow name.
- Select the flow language you want to design in (this becomes the flow’s primary editing language).
- Click Create.
[CAPTURE: New Flow dialog showing Name + Language selector + Create button.]
- Add your nodes and actions as usual.
- Write all Send Message content in the primary language first.
- Save the flow.
[CAPTURE: Flow editor showing a few Send Message nodes written in the primary language.]
- In the flow editor, locate the language selector (near the top of the editor).
- Click the secondary language you want to translate into.
- Scan the canvas to see which message steps are still untranslated.
[CAPTURE: Flow editor language selector with the secondary language selected + untranslated nodes highlighted.]
You can translate in two ways:
Option A — Manual translation
- Click a Send Message node.
- Add the translated text for the selected language.
- Save and repeat for each message node.
Option B — Auto-translate with an LLM
- Make sure an LLM is configured in Workspace Settings → Artificial Intelligence.
- Use the auto-translate feature for the selected language (if available).
- Review translations and adjust wording where needed.
[CAPTURE: Send Message editor showing translation fields OR an auto-translate control (if available).]
@contact.first_name, @results.*, or @globals.*. Keep them exactly as-is so they render correctly at runtime.- Open a Contact profile.
- Check the contact’s Preferred Language.
- Start the flow for that contact and confirm the correct language is used.
- Repeat with another contact set to a different language.
[CAPTURE: Contact profile showing Preferred Language + a simulator/test run showing translated messages.]
Common Issues & Quick Fixes
My flow shows only one language in the editor
Problem: You can’t switch to a secondary language while editing the flow.
Fix: Enable additional languages in Workspace Settings first. Only workspace-enabled languages appear in the flow editor.
Some messages still send in the primary language
Problem: A contact receives a few messages in the default language even though you translated the flow.
Fix: Check for untranslated nodes in that language and translate them. Missing translations typically fall back to the flow’s primary editing language.
Variables break after translation
Problem: Messages show blank values or literal variable text after translating.
Fix: Ensure variables (like @contact, @results, @globals) were not modified. Variables must remain identical across languages.
The contact receives the wrong language
Problem: The flow sends translations, but not the one you expect for a specific contact.
Fix: Verify the contact’s Preferred Language and test again. Also confirm the target language is enabled and translated for all required nodes.
