1. A developer is designing a Copilot Studio agent that must remember a user's preferred language across multiple topics and across separate conversation sessions. Which variable type should the developer use to store the preferred language?
- A. A topic variable, because it persists for the lifetime of the agent
- B. A system variable such as System.Locale, because it is automatically populated by the platform
- C. A global variable, because it is accessible across all topics and can be configured to persist across sessions✓ Correct
- D. A local variable scoped to the first topic where the preference is collected
Explanation
Correct: Global variables in Copilot Studio are accessible across all topics within a conversation. When configured with external storage (e.g., via a Power Automate flow that reads/writes to Dataverse), they can effectively persist values across sessions. Global variables are the right scope for data that must be shared broadly. | Wrong - A: Topic variables are scoped to a single topic only; they are destroyed when the topic ends and cannot be accessed by other topics. | Wrong - B: System.Locale reflects the channel's locale setting, not a user-selected preference, and it is read-only. | Wrong - D: A 'local variable' scoped to one topic has the same limitations as a topic variable—it is inaccessible in other topics.