Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

Struggling with Copilot Studio agent sharing governance? I spent two days helping a client lock down bot distribution only to discover their entire security strategy was invalid because they weren’t using Managed Environments. Here’s what actually works.
You’ll learn:
Problem: Can’t configure Copilot Studio agent sharing limits or restrict editor permissions
Root cause: Sharing governance requires Managed Environments (prerequisite in advanced documentation)
Solution: Convert to Managed Environment → Configure sharing rules in Power Platform Admin Center
Gotcha: Takes 60 minutes to propagate, doesn’t remove existing shares
Docs: Managed Environment sharing limits | Agent sharing guide
Environment: Production Power Platform + 50 published Copilot Studio agents
Goal: To restrict agent sharing to security groups only (no individual user spam) and limit viewer counts to 20 per bot
What broke: Spent 90 minutes searching Power Platform Admin Center for “agent sharing controls” that literally didn’t exist in the environment
The kicker: The main agent sharing documentation shows you how to share but the governance controls live in a different section. The Managed Environment prerequisite appears three links deep in the advanced admin documentation.
“Solution”: Go to Power Platform Admin Center → Environments → Settings → Configure bot sharing limits. That’s where every other Power Platform governance control lives (DLP policies, connector limits, etc.)
Why it fails: Agent sharing governance literally doesn’t exist unless your environment is a Managed Environment. Not grayed out. Not disabled. Just… not there.
I checked five times. Refreshed. Different browsers. Nope.
Here’s the architecture foundation:
Standard Environments → No sharing controls → Users can share agents however they want
Managed Environments → Edit Managed Environments section unlocks → Sharing governance appears
Enforcement level: API-level validation during Share operation
Storage: governanceConfiguration.settings.extendedSettings (Dataverse)

This is by design to keep governance features consolidated under the Managed Environment umbrella. The platform architecture assumes that if you care about governance, you should already be using Managed Environments for data loss prevention, solution checking, and usage insights.
Confirmed: Managed Environment sharing limits documentation explicitly states “Sharing limits are only available in Managed Environments.”
My fix:
Power Platform Admin Center
→ Environments
→ Select your production environment
→ Edit
→ Go to "Edit managed environments"
→ Set up
→ Save
This triggers a brief service interruption (2-3 minutes). The agents stayed online.
Same environment
→ Edit Managed Environments
→ Scroll to "Manage sharing" section
→ Select "Copilots"
→ Configure 4 controls:
The four controls that appeared like magic:
Changes take up to 60 minutes to apply. During this window:
Timeline: Configured at 2:15 PM. First enforcement at 3:10 PM. Full rollout by 3:20 PM.
Critical discovery: If an agent already has 35 viewers when you set the limit to 20, the platform doesn’t auto-remove anyone. Instead:
We ran this PowerShell to find violators:
# Get all agents with viewer count > 20
Get-PowerAppsApp -EnvironmentName $envId |
Where-Object {$_.Internal.properties.sharedUsers.Count -gt 20} |
Select DisplayName, @{N='ViewerCount';E={$_.Internal.properties.sharedUsers.Count}}
This trips up everyone coming from Microsoft 365 Copilot:
| Sharing Type | Control Location | Scope | Security Groups | Max Viewers |
|---|---|---|---|---|
| Copilot Studio Lite (M365 Copilot) | M365 Admin Center → Agents | Org-wide sharing links | ✅ Supported | ❌ No limit |
| Copilot Studio Enterprise | Power Platform Admin Center → Managed Environments | Per-agent sharing | ✅ Configurable | ✅ 1-10,000 |
Users with Microsoft 365 Copilot licenses can create agents directly in Copilot Business Chat (no Power Platform license needed). These “Lite” agents:
How to lock it down:
M365 Admin Center
→ Copilot
→ Settings
→ Data access
→ Agents
→ "Choose who can share agents with the entire organization"
→ Select "No users" or "Specific users or groups"

What the architecture gets right: Separating consumer-grade (Lite) from enterprise governance. Most companies want Lite locked down tight (security risk) while keeping enterprise agents flexible for makers.
For clients with 100+ environments, clicking through the UI is a dumb mistake. Here’s the production script I use:
powershell
# Authenticate to Power Platform
Add-PowerAppsAccount
# Get environment and governance config
$envId = "your-environment-guid"
$environment = Get-AdminPowerAppEnvironment -EnvironmentName $envId
$governanceConfiguration = $environment.Internal.properties.governanceConfiguration
# Configure sharing limits (exclude security groups, max 20 viewers)
$governanceConfiguration.settings.extendedSettings |
Add-Member -MemberType NoteProperty -Name 'bot-limitSharingMode' -Value "ExcludeSharingToSecurityGroups" -Force
$governanceConfiguration.settings.extendedSettings |
Add-Member -MemberType NoteProperty -Name 'bot-maxLimitUserSharing' -Value "20" -Force
# Disable editor sharing (owner-only sharing)
$governanceConfiguration.settings.extendedSettings |
Add-Member -MemberType NoteProperty -Name 'bot-authoringSharingDisabled' -Value $true -Force
# Apply configuration
Set-AdminPowerAppEnvironmentGovernanceConfiguration -EnvironmentName $envId -UpdatedGovernanceConfiguration $governanceConfiguration
Gotchas:
governanceConfiguration from the environment object first (this is the step most people miss)'bot-limitSharingMode' requires quotes in PowerShellSymptom: User tries to share agent, gets error, but agent shows 0 viewers in UI
Root cause: Security group membership counts every member of the group against the limit. If you share with a group of 50 people and your limit is 20, it fails.
Fix: Either raise the limit or share with smaller groups. The platform counts individual group members, not the group as a single entity.
Symptom: Agent is published, but Share button doesn’t appear for editors
Root cause: Either (a) editor sharing is disabled via bot-authoringSharingDisabled, or (b) user only has Viewer permission (viewers can’t share)
Fix: Check Managed Environment settings. If disabled, only owners can share. Grant Owner permission if needed.
Symptom: Just created a security group in Entra ID, but it doesn’t appear in Copilot Studio sharing picker
Root cause: Entra ID → Power Platform sync takes 15-30 minutes
Fix: Wait. Grab coffee. The sync happens automatically on the platform’s schedule.
Symptom: Set limit to 10, but user can still share with 15 people 20 minutes later
Root cause: Governance rules cache at the API level. Takes up to 60 minutes to invalidate.
Fix: Warn users in advance. We sent a Teams message: “Sharing limits enforced at 3 PM – clean up your shares before then.”
bot-limitSharingMode vs botLimitSharingMode depending on API version. Always quote property names.You cannot configure agent sharing governance without Managed Environments. Period. This prerequisite lives in the advanced admin documentation, so admins can spend hours looking for controls that won’t appear until the environment type is configured.
Your action plan:
What’s your Copilot Studio sharing horror story? Drop it in the comments – I’m building a troubleshooting database and need more real-world failure cases.