A developer at Margie's Travel is building an agent where a user's travel preferences (seat preference, meal preference) should persist between separate conversation sessions — so the next time the user opens the agent, it remembers their preferences from last time. Which approach correctly implements cross-session persistence?
Select an answer to reveal the explanation.
Short Explanation
Session variables are like a hotel notepad — they're wiped clean at checkout. To remember preferences across visits, you write them to a database like Dataverse at the end and read them back at the start. The right approach is the Power Automate flow that saves preferences to Dataverse keyed by user ID and reloads them when the conversation starts.
Full Explanation
## Why the Dataverse read/write approach is correct Copilot Studio variables — whether global, topic, or system — are all session-scoped. They are cleared when the conversation ends. To achieve cross-session persistence, you must explicitly write data to an external store (like Dataverse, SharePoint, or a custom API) at the end of the conversation, and read it back at the start of the next conversation. Power Automate flows with Dataverse connectors are the standard mechanism for this. The approach that calls a flow at conversation end to write preferences to Dataverse keyed by user ID, then calls a flow at conversation start to read them back, is the correct implementation.
## Why the other approaches are wrong The global variable approach is false because global variables persist across topics within a single conversation session but are destroyed when the session ends.
The conversation variable approach with a 'persist between sessions' option is wrong because there is no such built-in option on Copilot Studio variables. That feature does not exist in the standard platform.
The agent memory setting approach is wrong because, while Microsoft is developing memory capabilities for Copilot agents, as of the exam scope, the standard approach for persistent user data is explicit read/write via connectors to an external store.
## Exam Tip If an exam question asks about within-session persistence, think variables (global). If it asks about cross-session persistence, think external data store + Power Automate read/write at session start/end.