Interface: TeamsPluginConfig
AppKit config accepted by the Teams plugin.
Extends
Section titled “Extends”BasePluginConfig
Indexable
Section titled “Indexable”[
key:string]:unknown
Properties
Section titled “Properties”agentPlugin?
Section titled “agentPlugin?”
optionalagentPlugin?:string
Registered name of the sibling plugin whose agents answer a conversation
turn. Defaults to DEFAULT_AGENT_PLUGIN ("mastra"); set it when the
Mastra plugin is mounted under a config.name override. Falls back to
TEAMS_AGENT_PLUGIN.
allowUnauthenticated?
Section titled “allowUnauthenticated?”
optionalallowUnauthenticated?:boolean
Serve POST /messages with NO inbound token validation, and reply in the
HTTP response instead of through the Connector API.
This exists so the messaging endpoint can be exercised locally - by the
in-repo preview chat, a curl, or the Bot Framework Emulator - without an
Azure Bot registration. It removes the endpoint’s ONLY trust boundary: any
caller that can reach the route can drive the agent and read its answers.
Never enable it on a deployment reachable from the internet. It is ignored
unless NODE_ENV is development (see resolveTeamsConfig), so a
production build cannot be talked into it by an environment variable alone.
Falls back to TEAMS_ALLOW_UNAUTHENTICATED.
appId?
Section titled “appId?”
optionalappId?:string
The bot’s Entra application (client) id from its Azure Bot registration.
Required before POST /api/teams/messages will accept a request: it is the
audience an inbound Bot Framework token must carry, and the client id used
to fetch an outbound Connector token. Falls back to TEAMS_APP_ID /
MICROSOFT_APP_ID.
appPassword?
Section titled “appPassword?”
optionalappPassword?:string
Client secret for appId. Needed to send replies through the
Connector API; without it inbound activities still validate but the bot
cannot answer. Falls back to TEAMS_APP_PASSWORD /
MICROSOFT_APP_PASSWORD.
appTenantId?
Section titled “appTenantId?”
optionalappTenantId?:string
Tenant id for a SINGLE-tenant bot registration. Leave unset for a
multi-tenant bot. Falls back to TEAMS_APP_TENANT_ID /
MICROSOFT_APP_TENANT_ID.
cardVersion?
Section titled “cardVersion?”
optionalcardVersion?:string
Adaptive Card schema version the builder targets. Defaults to
card.ADAPTIVE_CARD_VERSION ("1.5", what Teams supports). Falls
back to TEAMS_CARD_VERSION.
optionalhost?:string
Inherited from
Section titled “Inherited from”BasePluginConfig.host
optionalname?:string
Inherited from
Section titled “Inherited from”BasePluginConfig.name
telemetry?
Section titled “telemetry?”
optionaltelemetry?:TelemetryOptions
Inherited from
Section titled “Inherited from”BasePluginConfig.telemetry
webhookUrl?
Section titled “webhookUrl?”
optionalwebhookUrl?:string
Optional Teams incoming-webhook URL. When set, the plugin’s postCard
export / route posts the compiled card to this channel; when unset,
posting is disabled and the plugin only builds cards for the UI to render.
Falls back to TEAMS_WEBHOOK_URL.