Azure / Azure/azure-dev

activity agents: emit a runnable Teams pack+sideload script alongside TEAMS_APP_SETUP.md

Open
#9,172 0 comments 0 reactions 1 assignee Claimed by @v1212 View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.