Skip to content

config

Configuration for the Teams plugin: the typed TeamsPluginConfig (the plugin’s slice of AppKit config), the JSON Schema the manifest publishes for it, and resolveTeamsConfig which layers that config over environment defaults into the concrete ResolvedTeamsConfig the runtime + tools read.

Building a card is a pure transform, so the config is deliberately small: the Adaptive Card version the builder targets, an optional Teams incoming-webhook URL a deployment can wire up to actually POST cards to a channel, and which sibling plugin owns the agents the conversation endpoint answers with.

The remaining fields are the Azure Bot registration a real Teams channel needs: appId / appPassword (the bot’s Entra application credentials, used both to validate the inbound JWT audience and to fetch the outbound Connector token) and appTenantId (set only for a single-tenant bot). When no appId is configured the /messages endpoint stays MOUNTED but refuses every request, so an unconfigured deployment cannot accidentally expose an unauthenticated bot endpoint.

Env fallbacks: TEAMS_CARD_VERSION, TEAMS_WEBHOOK_URL, TEAMS_AGENT_PLUGIN, TEAMS_APP_ID, TEAMS_APP_PASSWORD, TEAMS_APP_TENANT_ID. The MICROSOFT_APP_* spellings the Bot Framework SDK uses are accepted as aliases so an existing bot’s environment drops in unchanged.