Frustrated with confusing mess of confusingly named IDs

Victor Konshin 0 Reputation points
2025-07-30T12:06:43.5666667+00:00

Hi, I am an engineer at a small company trying to build a Teams AI Agent to help my company resolve quality hold issues. I have written a simple bot that will summarize the quality hold issue and generate reminders to keep things moving to resolve the issue. I have written all the code but I just can't get the thing to respond. This issue is the insanely complicated and confusing mess of weirdly named IDs: AppIDs, ClientIDs, BotIDs, just plain 'ID'. Neither I, nor our IT department can untangle this and get the damn bot to just say, "hi" let alone do what we want. Does any one know of a document that explains all of these various IDs, what they do and how this chain flows so I can figure this out? Help!

-Victor

Azure AI Bot Service
Azure AI Bot Service
An Azure service that provides an integrated environment for bot development.
{count} votes

1 answer

Sort by: Most helpful
  1. Pavankumar Purilla 10,350 Reputation points Microsoft External Staff Moderator
    2025-07-30T14:50:59.03+00:00

    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

    Configuring Bot Single Sign-On in Microsoft Teams

    Microsoft Teams App Manifest Reference

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.