Forum Discussion
Can we create local and global variable in the new copilot studio
I've recently gotten access to the new Copilot Studio experience and have been exploring the new Skills-based architecture.
In the previous experience, we could create global and local variables, making it easy to store information during a conversation and reuse it across topics, actions, and conditions.
In the new Copilot Studio, I haven't found an equivalent concept. Is there currently a way to create and manage variables that persist throughout a conversation?
If not, what's the recommended approach to storing information collected during a conversation so it can be reused across multiple Skills, Tools, and Agent Instructions without asking the user for the same information again?
I'd love to hear how others are handling this in the new experience. Any best practices or workarounds would be greatly appreciated!
1 Reply
Explicit variables don't exist in the new experience, by design. The new Copilot Studio replaces topic flows and variable management with natural language Instructions, Skills, and LLM reasoning. It's a fundamentally different architecture.
That said, three things cover most of what variables used to do. For within-session context, the orchestration runtime keeps track of what the user said earlier in the conversation automatically. For cross-session user context, the new Memory feature (Preview) maintains a per-user store the agent reads from and writes to across sessions. For structured state you need to pass reliably across multiple Skills and Tools, wire up a Tool backed by an Agent Flow writing to Dataverse.
If you genuinely need deterministic variable control, the classic experience is still fully supported and the safer choice for now. Microsoft acknowledges that some classic features aren't yet available in the new experience, and explicit variable management is one of them.