Forum Discussion

PeytonMcM's avatar
PeytonMcM
Brass Contributor
Nov 07, 2024

Ability to add metadata to manifest to inspect when receive chat for routing to different pipelines

Hello,

We have developed a Microsoft Teams application that we deploy from the Microsoft Teams store.  So, we have a single inbound chat channel (Azure Bot) for multiple inbound tenants - and we route to the custom tenant\instance base on their tenant ID. 

 

It all works great. https://www.chimev5.com/

 

We have some customers who deploy our solution for IT Support, HR, and even legal departments.

 

When our customers deploy, they generally take our app manifest, possibly update the icon and name, and then push to the left side navigator of their MS Teams clients.  If they are just using the IT Support chat service, then is simple an only involves pushing one manifest.  Info on some of the MS Teams app package stuff.

However, since the traffic is taking place using a single inbound chat channel, and some customers might want 3 separate MS Teams navigation\bots (IT Support, HR Questions, Legal) we currently can only install one icon and then we need display some menu (adaptive card) when the employee starts a chat.  This is OK, but not great. 

So, we might have 1, 2, or even 10 chat services that we deploy for a customer.  Right now, we place all of these behind one MS Teams icon on the left side navigator.  For instance: https://www.chimev5.com/blog/how-to-have-a-teams-admin-push-the-chime-v5-app-to-pilot-groups-or-org-wide

 

If we could attach some metadata (even a very simple int) to a field in the manifest, and have this value attached to chat session, then we could attach multiple icons to the left side navigator - and automatically 'route' the inbound chat to the appropriate chat service.

 

For example, these are all totally different chat services (bots) that have different AI prompts, agent routing options, adaptive cards, and UI.  We'd like to be able to create unique icons on the MS Teams client for each chat pipeline - and some simple addition to the manifest could help with this

Is there anyway to 'attach' any custom metadata at the MS Teams manifest level and have that value included as part of the chat conversation?

For instance, basic IT Support would be a 1

HR requests 2

Legal 3

and we could use our single service, and Azure Bot, to take in 3 different requests from 3 different icons and have them routed to the appropriate bot pipeline.  

6 Replies

  • @PeytonMcM - Thank you for your inquiry about your Teams app development issue! 
    You can customize the app manifest in Microsoft Teams, including adding environment variables and metadata fields.
    Ref Doc: Customize app manifest in Teams Toolkit - Teams | Microsoft Learn

    Thanks, 

    Nivedipa

    ------------------------------------------------------------------------------------------ 

    If the response is helpful, please click "**Mark as Solution**" and like it. You can share your feedback via Microsoft Teams Developer Feedback link. Click here to escalate. 

     

    • jagonzalr's avatar
      jagonzalr
      Copper Contributor

      Hi Nivedipa, I'm also interested in this feature. From the documentation you provided you can only pass environment variables to customize existing properties but there is no option to add new properties.

      Based on the schema https://developer.microsoft.com/json-schemas/teams/v1.19/MicrosoftTeams.schema.json

      it doesn't seem to be possible to add new properties to the JSON file because of this "additionalProperties": false

      are there any other workarounds or currently we can't add new properties to the Manifest?

      Thanks,

      Jose Antonio

    • PeytonMcM's avatar
      PeytonMcM
      Brass Contributor

      Thanks Nivedipa for the reply.

      Are any of those values passed through the Azure Bot payload so that we can take a look at them on the receiving side of the bot conversation?

      I'd like to just add one custom property, or use a property, and have that property included on every chat conversation, as part of the message payload, so that we can inspect it on the receiving side (other side of the chat)

      Here is what we are building and we'd like to split out the IT, Sales, and HR channels into 3 different manifest based icons - for example

      https://www.chimev5.com/

      Peyton

       

Resources