Skip to main content

teams app update

Update a Teams app's properties

Usage​

teams app update [appId] [options]

Arguments​

ArgumentDescriptionRequired
appIdApp IDNo

Options​

FlagDescription
--endpoint <url>[OPTIONAL] Set the messaging endpoint URL
--messaging-mode <mode>[OPTIONAL] Set how Teams delivers messages: socket or http
--scopes <scopes>[OPTIONAL] Set bot scopes (comma-separated: personal,team,groupChat,copilot)
--name <name>[OPTIONAL] Set the app short name (max 30 chars)
--long-name <name>[OPTIONAL] Set the app long name (max 100 chars)
--short-description <desc>[OPTIONAL] Set the short description (max 80 chars)
--long-description <desc>[OPTIONAL] Set the long description (max 4000 chars)
--developer <name>[OPTIONAL] Set the developer name
--website <url>[OPTIONAL] Set the website URL (HTTPS required)
--privacy-url <url>[OPTIONAL] Set the privacy policy URL (HTTPS required)
--terms-url <url>[OPTIONAL] Set the terms of use URL (HTTPS required)
--color-icon <path>[OPTIONAL] Set the color icon (192x192 PNG)
--outline-icon <path>[OPTIONAL] Set the outline icon (32x32 PNG)
--web-app-info-id <id>[OPTIONAL] Set the webApplicationInfo client ID
--web-app-info-resource <uri>[OPTIONAL] Set the webApplicationInfo resource URI (max 100 chars)
--json[OPTIONAL] Output as JSON

Details​

Updates app properties in both TDP and (for endpoint changes on Azure bots) via az CLI.

Interactive vs Scripted​

  • No flags, no appId — interactive mode: app picker, then an update menu for each property
  • With flags — scripted mode: applies changes directly without prompts

Endpoint Updates​

When you change the endpoint, teams also updates the validDomains array in the manifest to include the new endpoint's domain. For Azure bots, the endpoint is updated via az bot update.

Messaging Mode​

Choose Messaging mode in the interactive update menu, or set it explicitly:

teams app update <appId> --messaging-mode socket
teams app update <appId> --messaging-mode http --endpoint https://mybot.azurewebsites.net/api/messages

Both Teams-managed and Azure bots use the production TDP bot communication API. Mode changes preserve the existing callback URL and message-notification settings. When switching to HTTP with --endpoint, the endpoint is updated before socket mode is disabled. --endpoint alone does not change the messaging mode.

Restart your Teams SDK application after changing the mode. Socket mode is currently available only for new bots; support for existing bots is coming soon.

Examples​

Update the endpoint:

teams app update <appId> --endpoint https://mybot.azurewebsites.net/api/messages

Update multiple properties at once:

teams app update <appId> --name "New Name" --version "2.0.0" --developer "My Team"

Scopes​

Update which scopes the bot supports. In interactive mode, select "Scopes" from the update menu. In scripted mode, use --scopes:

teams app update <appId> --scopes personal,team,copilot

Selecting copilot automatically adds the copilotAgents.customEngineAgents block to the manifest and ensures personal is included. Removing copilot removes the copilotAgents block.

Scope updates also keep the built-in personal tabs in sync: enabling personal adds Chat and About if missing; disabling it removes Chat, and removes About only if no other tabs remain. Whenever the resulting scopes include personal (including via copilot), a missing Chat tab is added first to match Teams' implicit Chat-first order. An explicitly positioned Chat tab keeps its position. Custom tabs and their relative order are preserved. Existing supportsChannelFeatures declarations are unchanged.

webApplicationInfo (SSO)​

Set the webApplicationInfo fields used for SSO and app identity:

teams app update <appId> --web-app-info-id <client-id> --web-app-info-resource "api://botid-<client-id>"

Scopes​

Update which scopes the bot supports. In interactive mode, select "Scopes" from the update menu. In scripted mode, use --scopes:

teams app update <appId> --scopes personal,team,copilot

Selecting copilot automatically adds the copilotAgents.customEngineAgents block to the manifest and ensures personal is included. Removing copilot removes the copilotAgents block.

Portal Equivalent​

Apps → select app → Basic information in the Teams Developer Portal.