Setting the Contact’s Preferred Language (via the Contact Record)

You can set a preferred language for each contact in RapidPro.app so they receive the correct translation when your flows are translated, either by updating the Language field on the contact profile, setting it automatically in a flow using Update Contact, or applying it in bulk via import with ISO language codes that are already enabled in your workspace.

Set a contact’s preferred language in a few steps

If you just need the essentials, follow this:

  1. Open the contact profile and edit the Language field
  2. Select a language that exists in your workspace language settings
  3. Confirm your flow is translated into that language for delivery
  4. Optionally set language automatically in a flow with Update Contact → Language
  5. Optionally bulk update via import using ISO language codes in a Language column

You’re done. Contacts can now receive translated messages in the most appropriate language when translations exist.

Step-by-Step Process

1
Understand what contact language does

You can set a preferred language for each contact in RapidPro.app. Once set, the contact will receive messages in that language when using translated flows.
This is useful for multilingual audiences and programs managed in a single workspace.

2
Set a contact’s language from the contact profile

  1. Go to Contacts.
  2. Click the contact whose language you want to update.
  3. Click the menu and select Edit.
  4. In the Edit Contact dialog, open the Language dropdown.
  5. Select a language from the primary or secondary languages configured in your workspace.
  6. Click Save.

[CAPTURE: Contact profile page with the ☰ menu open and “Edit” selected.]
[CAPTURE: Edit Contact dialog showing the Language dropdown with multiple languages.]

3
Know how language is stored and referenced

  • The Language field is a default contact field.
  • It represents the contact’s preferred language.
  • The value is stored using an ISO 639-3 language code (example: Spanish → spa).
  • You can reference the contact’s language in flows using @contact.language.
⚙️
Note: Contacts will only receive messages in their preferred language if the flow has been translated into that language.

4
Set a contact’s language in a flow (automatic)

You can update a contact’s language automatically using a flow, for example when a contact selects a language during onboarding.

  1. Open or create a flow.
  2. Add an Update Contact action.
  3. Select Language as the field to update.
  4. Set the value to a language code (for example: spa).
  5. Save and test the flow.

[CAPTURE: Flow editor showing an Update Contact action setting Language.]

5
Set contact language using an import (bulk)

You can set or update contact languages in bulk using a contact import.

  1. Add a column named Language to your spreadsheet.
  2. Populate it with ISO 639-3 language codes (for example: spa, fra, eng).
  3. Import the file as usual.

[CAPTURE: Import spreadsheet showing a “Language” column with ISO codes.]

⚠️
Important: All languages used in an import must first be added to your workspace under Account settings.

Common Issues & Quick Fixes

Problem: The contact still receives messages in the wrong language.

Fix: Confirm the flow is translated into the contact’s language and that the selected language code matches a language enabled in your workspace.

Problem: I can’t select a language in the dropdown.

Fix: Add the language under Account settings (workspace languages), then return to the contact and try again.

Problem: Language set in import didn’t apply.

Fix: Verify the ISO 639-3 code is valid (for example, spa not es) and ensure the language exists in workspace settings before importing.