Table of Contents
Copilot Studio can clone an eligible Power Virtual Agents classic bot and convert the copy into a standard agent. The process creates a new agent; it does not upgrade or modify the original bot in place. That gives you a rollback path, but it also means IDs, channels, authentication, reporting, and external integrations must be reviewed before cutover.
Check eligibility
Microsoft’s current migration documentation states that a classic bot cannot use the clone-and-convert workflow if it has:
- a primary language other than English;
- handoff to Omnichannel for Customer Service; or
- Knowledge Management extensions.
If the bot is ineligible, Copilot Studio prompts you to create a new agent. Treat that as a rebuild and requirements-validation project rather than copying topic text manually without testing.
Understand what the clone includes
The clone workflow currently:
- keeps the source and target language the same;
- copies topics built in the Copilot Studio web canvas;
- copies entities, synonyms, and custom entities; and
- copies supported Power Automate flow associations created through the web canvas.
Copied does not mean production-ready. Flow connections, credentials, permissions, and response schemas still need to be tested.
Plan for items that require reconfiguration
Microsoft specifically calls out these areas:
- authentication, authorization, channels, and security settings;
- Bot Framework Skills, which must be reconnected;
- custom canvases and other architecture components;
- deployment pipelines that reference the classic bot ID; and
- custom reporting or data pipelines tied to the old deployment.
Also inventory environment variables, connection references, DLP policies, secrets, service accounts, app registrations, allowlists, analytics exports, live-agent routing, custom websites, Teams packages, and support runbooks. The new agent has a different identity even when its visible name is similar.
Clone and convert the classic bot
- Open the classic chatbot in Copilot Studio.
- On its Overview page, select Copy this chatbot.
- In the dialog, select Copy and convert this bot.
- Give the copy a name that clearly identifies it as the migration candidate.
- Select Create.
- When conversion finishes, select the option to open the new agent.

Do not reuse the production display name until the team can distinguish the old and new deployments in logs, channels, and support tickets.
Review the converted agent
Start with behavior parity before adding new AI features. Inspect:
- every topic trigger, node, redirect, and end condition;
- system topics such as Conversation Start and Multiple Topics Matched;
- topic, global, environment, and system variables;
- Power Fx formulas and type conversions;
- entities, synonyms, Smart matching, and slot filling;
- adaptive cards, rich responses, and channel rendering;
- flows, tools, connection references, timeouts, and error paths;
- authentication and user permission behavior;
- languages and locale-specific content; and
- analytics, logging, and privacy configuration.
System topics differ from the classic experience. Avoid changing them until you understand the new defaults and have a test showing why a customization is needed.
Use new authoring features deliberately
The standard agent experience adds capabilities such as Power Fx, a larger variable inspector, YAML code view for topics, event triggers, generative answers, and Application Insights integration. These can improve maintainability and diagnostics, but they also change behavior and scope.
Do not enable generative answers during the parity phase unless the classic bot already had equivalent behavior. First prove that the converted deterministic paths work; then add one capability at a time with its own acceptance tests, security review, and rollback plan.
Test the migration
| Area | Minimum evidence |
|---|---|
| Conversation behavior | Critical happy paths, alternate wording, missing input, invalid input, cancellation, and escalation |
| Variables and entities | Expected type, scope, normalized value, literal value, and reset behavior |
| Flows and tools | Correct connection, inputs, outputs, permissions, timeout, retry, and duplicate-action handling |
| Authentication | Authorized user, unauthorized user, expired session, and tenant boundary |
| Channels | Published test in every real channel, not only the authoring test panel |
| Operations | Logs, alerts, analytics, support access, and incident runbook |
| Performance | Representative load, latency, rate limits, and dependency failures |
Run the same regression set against the old bot and converted agent, then compare outcomes rather than exact wording unless wording must be fixed. See how to test an agent interactively and run automated evaluations.
Plan the cutover
- Freeze nonessential changes to the classic bot or define how they will be merged.
- Complete security, privacy, accessibility, and business-owner approval.
- Publish the new agent to a restricted pilot channel or audience.
- Monitor errors, fallback rate, escalations, latency, and user feedback.
- Update channel packages, links, app policies, documentation, and support routing.
- Move production traffic during a scheduled window.
- Keep the classic bot available for rollback until acceptance criteria are met.
- Archive configuration and evidence before retiring the old bot according to records policy.
For a Teams deployment, follow the separate guide to publish a Copilot Studio agent to Teams.
If conversion fails
Record the exact stage and error, but do not send sensitive transcripts by ordinary email. Microsoft advises including an agent snapshot from the test panel and relevant metadata—such as Environment ID, Tenant ID, and Bot App ID—when opening a support case. Review the snapshot before sharing because it can contain agent content or conversation data.
The authoritative eligibility and clone behavior are in Microsoft’s unified authoring migration guide. Recheck it immediately before migration because supported features and restrictions can change.
Reader Comments 0
Sign in with email or Google to join the discussion.