Building and customizing solutions using Microsoft 365 Copilot APIs and tools
The documented required steps for organization-wide agents are:
- Publish the agent at tenant scope by selecting People in your organization or setting
publishScopetoTenant. - Have a Microsoft 365 admin approve the request in the Microsoft 365 admin center.
- After approval, the agent should appear under Built by your org in the agent store.
If the agent appears in Copilot after approval but users still can’t successfully invoke it, the documented cause is usually endpoint authorization, not store visibility.
For published agents:
- Just you /
SharedusesBotServiceRbac. - Tenant-wide access for everyone in the organization requires replacing
BotServiceRbacwithBotServiceTenant. - An endpoint can use either
BotServiceRbacorBotServiceTenant, but not both. - Publishing at tenant scope and Microsoft 365 admin approval are required before patching the authorization scheme.
If only selected users should be able to invoke the agent, assign those users the Foundry Agent Consumer built-in role.
A supported end-to-end path is:
- Confirm the agent was published with
publishScope=Tenant. - Confirm Microsoft 365 admin approval completed in the Microsoft 365 admin center.
- Get an access token for the Foundry API:
az account get-access-token \
--resource https://ai.azure.com \
--query accessToken \
--output tsv
- Get the agent and inspect its current
authorization_schemes:
GET {{endpoint}}/agents/{{agent_name}}?api-version=v1
Authorization: ******
Project endpoint format:
https://<resource-name>.services.ai.azure.com/api/projects/<project-name>
- If the endpoint still uses
BotServiceRbac, patch it after tenant approval so it usesBotServiceTenantinstead, while retainingEntraand any other non-Bot Service schemes the endpoint needs.
Also verify these documented conditions:
- Store visibility and endpoint authorization are separate.
- If requests reach the Activity Protocol endpoint but are rejected, configure
BotServiceRbacorBotServiceTenant, and the caller must sign in from the same tenant as the project. - Guest users can’t call these agents.
- If the agent works in the Foundry playground but fails after publishing, assign the required roles to the agent identity for each Azure resource it accesses.
- If the conversation appears stuck, start a new conversation. In Teams,
/foundry_new_previewresets the conversation.
The provided documentation does not describe a known mid-October 2026 tenant-scope publishing outage. The documented additional step for organization-wide invocation is updating authorization from BotServiceRbac to BotServiceTenant for tenant-wide access, or assigning Foundry Agent Consumer to selected users.
- Troubleshoot authorization errors for agents published to Microsoft Copilot and Teams
- Troubleshoot publishing agents to Microsoft Copilot and Microsoft Teams
- Troubleshoot publishing agents to Microsoft Copilot and Microsoft Teams
- Troubleshoot publishing agents to Microsoft Copilot and Microsoft Teams