Hi Victor Konshin,
Understanding and correctly configuring the various IDs in a Microsoft Teams bot deployment is a common source of confusion especially because of similar terms like App ID, Client ID, Bot ID, and Teams App ID. At the core of this process is the Application (Client) ID, a unique GUID created when your app is registered in Microsoft Entra ID (formerly Azure Active Directory). This ID acts as your bot’s primary identity for Azure Bot Service, Teams, and authentication flows. In fact, for bots registered in Azure Bot Service, the Bot ID is the same as the Application (Client) ID, as confirmed by the Azure Bot Service documentation.
In addition to this, there is the Teams App ID. This is a separate identifier defined in the id
field of your Teams app manifest. If you do not explicitly specify it, Teams will automatically generate one when the app is uploaded. The Teams App ID uniquely identifies your Teams app in the Teams catalog but should not be confused with your Application (Client) ID.
When implementing Single Sign-On (SSO) or integrating with Microsoft Graph APIs, you also need to configure the Application ID URI (or Resource URI) in Microsoft Entra ID. For bots, this is typically in the format api://botid-{AppID}
or api://{AppID}
and must be configured as described in Microsoft’s official authentication for bots documentation.
The typical deployment flow is as follows:
Register your bot application in Microsoft Entra ID to obtain the Application (Client) ID.
Use this same ID when creating your bot resource in Azure Bot Service.
Update your Teams app manifest by referencing this Application (Client) ID in the botId
field and, for SSO, in the webApplicationInfo
section.
Package and upload the Teams app. This step finalizes the Teams App ID (if not already defined in the manifest).
The key to resolving most bot deployment issues is to keep the Application (Client) ID consistent across Entra ID registration, Azure Bot Service, Teams manifest, and authentication settings. This alignment ensures that all services recognize your bot as a single identity, enabling smooth bot responses and advanced features such as SSO.
For more information:
Microsoft Docs: Bot resource and identifiers explained