activity agents: emit a runnable Teams pack+sideload script alongside TEAMS_APP_SETUP.md
- Dominant language
- Go
- Stars
- 569
- Forks
- 364
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 136
Description
## Summary
Today the activity-protocol deploy path (native Azure Bot + Teams channel, #8939) ends by writing a **Teams setup guide** (`TEAMS_APP_SETUP.md`) that walks the developer through packaging and sideloading the Teams app **by hand**. Since pack + sideload is deterministic (build the app zip + `atk install`), we should **also emit a ready-to-run script** so developers can complete it in one command.
## Proposal
Provide **both**, side by side, when `azd deploy` finishes for an activity agent:
1. **Guide (keep `TEAMS_APP_SETUP.md`)** — for manual / UI flows: Teams admin catalog upload, custom manifest edits, restricted tenants, etc.
2. **Script (new)** — a runnable pack-and-sideload script (pwsh + sh) that:
- builds the Teams app zip from the manifest (bot id already substituted with the instance identity), and
- sideloads it (e.g. `atk install --file-path --scope Personal`).
3. **Cross-reference** — `TEAMS_APP_SETUP.md` should point to the script as the fast path and list its **prerequisites** (e.g. `atk` / M365 Agents Toolkit CLI, a logged-in M365 account/tenant, `--scope Personal` for personal testing vs. admin catalog).
This mirrors the azd convention of "if it can be scripted, ship the script" while preserving the guide for environments that require manual steps.
## Notes / context
- The guide is currently generated by the `azure.ai.agents` extension postdeploy (`internal/cmd/listen_activity.go`, which writes `TEAMS_APP_SETUP.md`).
- Verified E2E on the groot-assistant activity sample: pack + `atk install --scope Personal` is fully scriptable and returns a TitleId non-interactively.
## Scope
Enhancement to the activity-protocol deploy output in the `azure.ai.agents` azd extension.
Contributor guide
Assessment
This issue has not been assessed yet.