setup blueprint: identifierUris set to api://<appId> instead of api://botid-<appId>, breaking Teams message delivery
Los mantenedores suelen responder en 5 días
@ajmfehr ya está trabajando en esto.
Desde el 1/8/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Description
a365 setup blueprint / a365 setup all stamps the blueprint Entra app's identifierUris as api://<appId>. Teams requires the botid- prefix (api://botid-<appId>) for Activity Protocol routing and token exchange. Without it, messages sent to an agent instance are silently never delivered to the configured Notification URL — no error surfaces anywhere.
The offending line is BlueprintSubcommand.cs#L1260:
var identifierUri = $"api://{appId}";
applied at L1264 via PATCH /v1.0/applications/{objectId}.
The CLI's own dry-run output disagrees with what it does. Three places print the prefixed form:
PublishCommand.cs#L318—webApplicationInfo.resource -> api://botid-{ClientAppId}, but L353 writeswebInfo["resource"] = $"api://{blueprintId}"NonDwSetupOrchestrator.cs#L61, L95, L96— printsapi://botid-<appId>, but that method is a stub (LogWarningat L50: "not yet fully implemented")
Possible provenance: #191 specified $IdentifierUri = "api://<blueprint-id>" in its repro script, and that appears to have been implemented literally. The botid- text in NonDwSetupOrchestrator looks like a holdover from the classic Azure Bot / App Registration flow, which did apply the prefix — which is why developers who onboarded via the older path never hit this.
Behavior is identical across --authmode obo|s2s|both, --m365, --aiteammate, and standalone setup blueprint.
Expected behavior
identifierUris is set to api://botid-<appId>, matching the CLI's dry-run output, and messages sent to an agent instance reach the configured Notification URL.
SDK Version
1.1.214
Language/Runtime
.NET 8 (a365 CLI global tool); agent runtime Node.js 20 / TypeScript Teams SDK
OS
macOS 14
How to Reproduce
a365 setup all --agent-name <name> --m365- Start a Teams SDK app on a public HTTPS endpoint; set that endpoint as the blueprint's Notification URL (Agent Type: API Based) in Developer Portal
- Publish + activate the generated package via M365 Admin Center
- Create an agent instance from the Teams Store
- Send the instance a chat message
The app receives nothing. No error in the app, in Developer Portal, or from the CLI.
Output
$ az ad app show --id <blueprint-id> --query identifierUris -o json
[
"api://<blueprint-id>"
]
After manually applying the prefix, messages are delivered immediately on the next send:
$ az ad app update --id <blueprint-id> --identifier-uris "api://botid-<blueprint-id>"
Note that once messages do flow, a separate missing-grant problem surfaces as AADSTS65001 naming the instance app rather than the blueprint — which sends you looking at instance consent instead of blueprint inheritance. Filing that separately.
Screenshots
N/A
Code of Conduct
- I agree to follow the Microsoft Open Source Code of Conduct.
- Lenguaje dominante
- C#
- Estrellas
- 61
- Forks
- 35
- Merge medio
- 5 d 22 h
- PR fusionados (30 d)
- 4
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/Agent365-devTools
-
Two hardening notes from a blind pre-registered read at ea1579f: AgenticUserId skips ValidateGuid before an az shell-out; config secret has no file-mode hardening on macOS/LinuxQuizá libre de nuevo @ajmfehr la tomó hace 35 días y no hay ningún pull request abierto. Abiertoenhancement escalated feature P1 security
microsoft/Agent365-devTools#493 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 5 días
-
setup permissions custom uses User.Read token for OAuth2 grant operationQuizá libre de nuevo @ajmfehr la tomó hace 63 días y no hay ningún pull request abierto. Abiertobug escalated P1 security
microsoft/Agent365-devTools#486 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 5 días
Todos los issues de microsoft/Agent365-devTools
Issues similares
-
bug next version
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Rem0o/FanControl.Releases#4220 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
nkdAgility/azure-devops-migration-tools#3217 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
skoruba/Duende.IdentityServer.Admin#335 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día
-
question
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100