examples/teams/appPackage/README.md
The Teams app manifest + icons you sideload into Microsoft Teams to install the
bot. Build the .zip with one command, then upload it in Teams → Apps →
Manage your apps → Upload a custom app.
From examples/teams:
pnpm package
This validates everything Teams needs and writes appPackage/appPackage.zip:
MICROSOFT_APP_ID / CLIENT_ID / clientId (env or
examples/teams/.env) and injected into manifest.json's bots[0].botId, so
the committed manifest stays a placeholder and you never hardcode your id. Must
be the Application (client) ID (a GUID) of the Entra app bound to your
Azure Bot.color.png (192×192) and outline.png (32×32). Auto-generated as
CopilotKit-purple placeholders if missing; drop in your own PNGs of those exact
sizes to brand it.If something's missing the script tells you exactly what and how to fix it.
manifest.json: the app manifest template (botId is a placeholder; the
build injects the real one). Edit developer / name / description to taste.color.png / outline.png: placeholder icons (regenerated if deleted).package.mjs: the dependency-free build script (pnpm package).appPackage.zip: the build output (gitignored).The bot only replies once your hosted endpoint is set as the Azure Bot messaging endpoint. Installing the package just registers the bot in Teams.