Custom App UI & Conversation Experience Features Not Working as Expected

Bajaj, Abhishek 0 Reputation points
2026-07-24T06:31:26.1066667+00:00

The custom application requires the following features and behavior updates to be implemented and validated:

  • Display a Welcome Message when the application is launched.
  • Show a Default View Prompt on the landing screen.
  • Display a placeholder/help message in the input box.
  • Enable Adaptive Cards support.
  • Provide New Conversation functionality and support Clear State/Debug reset.
  • Enable the Three-Dot (ellipsis) menu functionality.
  • Enable @ Mention capability for agent selection.
  • Define and implement behavior when an agent is selected.
  • Dynamically update prompts and suggested questions based on the selected agent.
  • Define and implement behavior when an agent is deselected.
  • Change the color of adaptive cards and prompt suggestions on hover to provide visual feedback.

Priority:

  • Must Have:

  - Welcome Message

  - Default View Prompt

  - Input Box Message

  - New Conversation / Clear State Functionality

  • Medium Priority:

  - Adaptive Cards

  - Three-Dot Menu

  - @ Mention Feature

  - Agent Selection Behavior

  - Dynamic Prompts Based on Agent

  - Agent Deselection Behavior

  - Hover-State Color Change

Request:

Please review these requirements and confirm:

  1. Feasibility of implementation.
  2. Configuration or development effort required.
  3. Any dependencies, limitations, or prerequisites.
  4. Estimated timeline for delivery.
Microsoft Teams | Development
Microsoft Teams | Development

Building, integrating, or customizing apps and workflows within Microsoft Teams using developer tools and APIs

0 comments No comments

3 answers

Sort by: Most helpful
  1. Caleb Jones 5 Reputation points
    2026-07-27T13:43:03.5633333+00:00

    I like this clear breakdown of the requirements. Knowing which features are host controlled saves time. That helps teams focus on changes they can actually build instead of chasing unsupported options.

    Was this answer helpful?

    0 comments No comments

  2. Bajaj, Abhishek 0 Reputation points
    2026-07-24T10:08:36.9533333+00:00

    Hi Michelle,

    Thank you for the categorisation — it's very useful. Before we go further I want to correct the scope so your guidance targets the right surface, and then flag which items we still need Microsoft's help to resolve.

    Hosting model (for context)

    Our application is not a Copilot Studio web-chat or a Microsoft 365 Copilot Chat experience. It is a custom Teams app consisting of:

    1. A custom Bot Framework bot (Node.js / TypeScript, hosted on Azure App Service) — this is the primary in-Teams chat surface.
    2. An orchestrator API (Azure Functions) that routes each turn to the correct downstream agent (Ask JOE, AskM365 Pro, EBS Assistant, EA Chatbot). Copilot Studio is one of several downstream engines behind this orchestrator; end users never interact with Copilot Studio's own shell.
    3. A companion custom UI where technically possible.

    So we need the guidance framed for a custom Teams bot / Bot Framework app, not for the Copilot Studio hosted chat.

    Current status against the requirement list

    # Requirement Priority Current status
    1 Welcome Message Must ✅ Working
    2 Default View Prompt Must ✅ Working
    3 Input Box placeholder / help message Must ❌ Not working as expected
    4 New Conversation / Clear State / Debug reset Must ❌ Not working as expected
    5 Adaptive Cards support Medium ❌ Not working as expected
    6 Three-Dot (ellipsis) menu Medium ❌ Not working as expected
    7 @ Mention for agent selection Medium ❌ Not working as expected
    8 Behaviour when an agent is selected Medium ❌ Not working as expected
    9 Dynamic prompts / suggested questions per agent Medium ❌ Not working as expected
    10 Behaviour when an agent is deselected Medium ❌ Not working as expected
    11 Hover-state colour change on cards & prompts Medium ❌ Not working as expected

    Specific questions — please help us unblock items 3 – 11

    Where possible, could you point us to the official Microsoft-supported pattern, API, or manifest field that a custom Teams bot (Bot Framework, TypeScript SDK) should use to achieve each of the following inside the Teams client? If a capability is genuinely not exposed to a custom bot, please confirm that in writing so we can set stakeholder expectations.

    1. Input box placeholder text — Can a custom Teams bot control the compose-box placeholder text shown in the Teams chat surface? If yes, via which manifest field or SDK method? If no, please confirm this is host-owned.
    2. New Conversation / Clear State — What is the Microsoft-recommended pattern to reset a Teams bot conversation on demand (transcript, [conversationId], cached state, downstream Copilot Studio session)? Is there an official "start new conversation" affordance we can trigger, or must we implement a /reset command + hero-card button ourselves? Any sample?
    3. Adaptive Cards — What is the officially supported Adaptive Card schema version and feature set for the current Teams desktop / web / mobile clients? We need a definitive matrix of supported elements (Input.ChoiceSet styles, Action.Execute, refresh, media, etc.) so we know what will actually render in Teams vs. what gets silently dropped.
    4. Three-dot (ellipsis) menu — For a custom Teams bot, can we add custom entries to the per-message ellipsis menu (e.g., via messageExtensions, action commands, or message actions)? If so, please point us to the current guidance. If not, please confirm the ellipsis is entirely host-owned for custom bots.
    5. @ mention for agent selection — What is the Microsoft-recommended pattern for an in-Teams "type @ to pick an agent" experience for a single bot with multiple internal personas? We are currently using a Messaging Extension search command (initialRun:true), but the UX still differs from the native Copilot Chat @-agent picker. Is there a supported way to get parity, or is the native picker restricted to first-party M365 Copilot agents only?
    6. Agent selection behaviour — Is there a documented Bot Framework / Teams SDK pattern for maintaining a "sticky selected persona" across turns and surfacing it visually in the Teams client (e.g., a persistent chip / pill above the compose box)? What is the officially supported UI primitive here?
    7. Dynamic prompts per agent — Teams manifest commandLists are static and require re-deployment. Is there a runtime API to update prompt starters / suggested questions per agent selection inside the Teams client? If not, is this on the Teams roadmap?
    8. Agent deselection behaviour — Is there any host-level signal or pattern for "agent deselected"? If we implement it ourselves (clear sticky selection, restore default prompts, keep transcript), does Microsoft have a reference sample we should follow?
    9. Hover-state colour change — Adaptive Cards are host-rendered. Can a custom Teams bot influence hover/focus styling on Adaptive Card elements (via [style], host config, Fluent v9 theming, or any other supported hook)? Or is hover styling entirely fixed by the Teams renderer?

    Request

    Please confirm, for each item above:

    1. Feasibility — is it supported for a custom Bot Framework bot in Teams today? (Yes / Yes-with-workaround / No — host-owned / On the roadmap.)
    2. The Microsoft-recommended implementation pattern — with a Learn doc link and, if possible, a sample repo.
    3. Any dependencies or prerequisites — Teams client version, manifest schema version, licence / SKU, admin policy, etc.
    4. Timeline — if the capability is on the Teams / M365 Copilot roadmap but not yet GA, please share the roadmap ID and expected GA quarter.

    This will let us close out the must-have items (3, 4) first and then work through the medium-priority list with a clear picture of what is achievable inside a custom Teams bot vs. what would require moving the experience into a Microsoft-hosted shell such as Microsoft 365 Copilot Chat or a Copilot Studio published channel.

    Thanks again.

    Was this answer helpful?


  3. Michelle-N 20,645 Reputation points Microsoft External Staff Moderator
    2026-07-24T09:01:58.56+00:00

    Hi @Bajaj, Abhishek

    Thank you for sharing the detailed requirements. Based on the listed items, the request appears feasible overall, but the implementation approach depends heavily on the hosting platform, for example whether this is a custom web chat client, Microsoft Teams bot, Copilot Studio agent, Power Apps model-driven app Copilot, or another embedded chat experience.

    Most of the requested items are feasible, but they fall into different categories:

    • Welcome message: Feasible. In Copilot Studio, the Conversation Start system topic can automatically begin the conversation, and the topic can send a greeting message when the conversation starts. Edit your Microsoft Copilot Studio agent in Microsoft Visual Studio Code shows an OnConversationStart example that sends a greeting activity.
    • Default view prompt / landing prompt: Feasible, depending on the host. Teams supports prompt suggestions through prompt starters and suggested actions. Prompt starters are defined in the app manifest and help users start a conversation with the bot.
    • Input box placeholder/help message: Usually feasible in a fully custom web UI because the input box is controlled by the app. If the chat is hosted inside Microsoft Teams, Microsoft 365 Copilot Chat, or another Microsoft-controlled shell, the placeholder text may be controlled by the host experience rather than by the bot or agent.
    • New conversation/clear state/debug reset: Feasible, but implementation differs by platform. Microsoft 365 Copilot Chat has a “Start a new chat” control for beginning a new conversation. For custom applications, the app usually needs to explicitly reset client-side state, conversation IDs, cached variables, and any backend session context.

    Medium-priority items:

    • Adaptive Cards support: Feasible. Copilot Studio supports Adaptive Cards and can use them to show text, graphics, buttons, and form input fields. However, schema support depends on the host app.
    • Three-dot/ellipsis menu: Feasible only if the menu is part of the custom app UI. If the experience is hosted inside a Microsoft shell, some menu behavior may be owned by the shell.
    • @ mention capability for agent selection: Feasible in Microsoft 365 Copilot Chat scenarios that support agent interaction. Microsoft support content states that users can interact with agents by selecting an agent or by @ mentioning an agent in Copilot Chat. If this is a custom app, @ mention behavior would need to be implemented in the client UI and mapped to the selected agent or routing logic.
    • Behavior when an agent is selected / deselected: Feasible, but this is custom business logic unless the host platform provides built-in agent switching behavior. The documented Copilot Chat behavior is that selecting an agent lets the user interact with that agent directly in chat, and users may also find prebuilt prompts to get started. In a custom implementation, the development team would need to define whether selection changes routing, system instructions, available tools, prompt suggestions, session state, or all of these.
    • Dynamic prompts based on selected agent: Feasible, but usually requires configuration or development. Teams prompt suggestions can be defined in the app manifest, but Microsoft Learn notes that manifest changes generally require redeploying the app. For more dynamic behavior, the custom UI or agent backend would need to generate prompt suggestions based on current agent context.
    • Agent deselection behavior: Feasible as custom logic. The app should define whether deselection returns to a default agent, clears agent-specific context, restores default prompts, keeps the conversation history, or starts a new state. Documentation confirms agent selection and @ mention interaction patterns, but it does not define a universal deselection behavior for every custom app.
    • Hover-state color changes for Adaptive Cards and prompt suggestions: Feasible in a fully custom UI where CSS and rendering are controlled by the application. However, Adaptive Cards are host-rendered UI snippets, and Microsoft Learn explains that the JSON transforms into native UI in the target host. Because of that, styling and hover behavior may be limited by the host renderer in Teams, Copilot Studio, or other Microsoft-hosted experiences.

    Configuration vs. development effort:

    These items can likely be handled mainly through configuration if the platform already supports them:

    • Welcome message through Conversation Start or equivalent greeting topic.
    • Static prompt starters or suggested prompts.
    • Basic Adaptive Cards.
    • Basic new conversation option if provided by the host shell.

    These items likely require custom development:

    • Custom input placeholder text in a non-custom host.
    • Custom ellipsis menu behavior.
    • Dynamic agent selection and deselection logic.
    • Dynamic prompt updates based on selected agent.
    • Custom hover styling.
    • Clear-state/debug reset behavior across frontend, backend, and agent state.

    I hope this information help.


    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    Was this answer helpful?


Your answer

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