Forum Discussion

allen_02's avatar
allen_02
Copper Contributor
Jul 16, 2026

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!

2 Replies

  • YerinYoo's avatar
    YerinYoo
    Copper Contributor

    Hi Allen,

    You’re not missing a setting. In the current new Copilot Studio experience, there isn’t a direct equivalent to the topic-scoped and global variables available in the classic experience.

    The new experience uses a different architecture based on agent instructions, skills, tools, and the enhanced orchestration runtime rather than explicit topics and node-based conversation logic. Skills are reusable sets of instructions and behavior, but they aren’t currently exposed as state containers where you can define and reference named local or global variables.

    The agent can use the context of the current conversation when reasoning and selecting skills or tools. However, this conversational context shouldn’t be treated as a deterministic replacement for a global variable, especially when a specific value must always be reused or passed to another component.

    For values that must be reliably reused across skills and tools, the recommended pattern would currently be to manage the state explicitly through a tool or workflow:

    • Collect the required information from the user.
    • Store it through an agent flow, connector, API, Dataverse table, or another external data store.
    • Use a conversation or user identifier as the key.
    • Retrieve the value when another skill or tool requires it.
    • Define clear tool inputs and outputs so the orchestrator knows when the stored context should be used.

    If your scenario requires deterministic conversation logic and named variables that persist throughout a session, the classic Copilot Studio experience still supports topic and global variables. Global variables in the classic experience are available across all topics and persist for the duration of the user session.

    Since the new experience is still in preview and Microsoft notes that some classic capabilities aren’t yet available, this may change as the feature set develops.

  • 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.