web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Copilot Studio / Manually setting User....
Copilot Studio
Unanswered

Manually setting User.Language variable

(1) ShareShare
ReportReport
Posted on by 2
I have my copilot switching the User.Language variable so that the user can switch the language while chatting to the copilot. After the variable is set, when the user manually changes the language using the locale dropdown, the agent doesn't switch the User.Language variable. Anyone know how to get it so that the language can be switched both by changing the locale dropdown and also by manually setting the User.Language variable in a topic?
Categories:
I have the same question (0)
  • sannavajjala87 Profile Picture
    224 Super User 2026 Season 1 on at
    Hi,
     
    You’ve hit a current limitation of Copilot Studio.
     
    User.Language is a system variable that’s set:
    • when the conversation starts (based on the channel / locale), and
    • when you change it yourself with Set variable value in a topic.
    The locale dropdown in the UI does not push its change back into User.Language once the conversation is already running, so the two can get out of sync. That’s why:
     
    • Your topic can switch User.Language ✔️
    • But when the user later changes the language from the dropdown, User.Language stays on the old value ❌
    • Right now there’s no event or hook to “listen” for that dropdown change and update the variable.
    Workaround pattern
     
    Instead of relying on User.Language directly everywhere, create your own variable and treat it as the single source of truth:
     
    Create a variable, e.g. Global.PreferredLanguage.
    At the start of the conversation (or in a common system/topic), sync it once from User.Language:
    If(
        IsBlank(Global.PreferredLanguage),
        Set(Global.PreferredLanguage, User.Language)
    )

    In your language-switcher topic, update both:
    Set(Global.PreferredLanguage, "fr-FR");
    Set(User.Language, "fr-FR");

    Use Global.PreferredLanguage for all branching / translations in your topics.
    If you really need the dropdown to be honored, the only reliable option today is to ask the user to start a new conversation after changing the locale, so User.Language is initialized with the new value.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the April Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Copilot Studio

#1
Valantis Profile Picture

Valantis 666

#2
Vish WR Profile Picture

Vish WR 327

#3
Haque Profile Picture

Haque 253

Last 30 days Overall leaderboard