Nov 08 2022 08:51 AM - edited Nov 08 2022 08:52 AM
Hello,
I created a teams notification bot using Teams Toolkit on VSCode (https://learn.microsoft.com/en-us/microsoftteams/platform/toolkit/teams-toolkit-fundamentals?pivots=...). I selected http trigger through a restify server.
Before that, I created an app on Azure for the bot and generated a secret, and I created a bot on the Bot Framework (https://dev.botframework.com/bots) that uses the app ID of the previously created app.
I filled in the credentials of the bot in the manifest template and in `initialize.ts` (file generated by Teams Toolkit initializing the bot). The code that I have is basically the code generated by Teams Toolkit, I did not change anything besides the credentials for the bot and the manifest.
I then started the app in a terminal with npm, zipped the manifest and uploaded it as a custom app on teams. It opens a tab with a chat with the bot on teams, it just needs the http trigger to send me a message. When I send a POST request to http://localhost:3978/api/notification I can see the query working but the code that checks for bot installations and send an adaptive card to them returns nothing (`bot.notification.installations()` is empty), as if no one installed the bot, but I did. I tried using ngrok to create a tunnel but it does not change anything.
What am I doing wrong ? I want to try the bot when it is running with node locally as later I'll need to implement it in an already existing node express app.
Thank you for your time.
Nov 08 2022 09:24 PM
Nov 09 2022 02:29 AM - edited Nov 09 2022 02:30 AM
Thanks.
I'd like to add that trying the bot through the debugger (as explained in https://learn.microsoft.com/en-us/microsoftteams/platform/toolkit/debug-local?tabs=Windows&pivots=vi...) does not work either. The installations are still empty and no message is sent.
Nov 09 2022 06:15 AM
@BarneyGood -We have tried the Notification bot.It is working fine from our end.
Microsoft Teams Version 1.5.00.31029
Please follow the steps which are mention in below document-
Build notification bot with JavaScript - Teams | Microsoft Learn
Nov 09 2022 07:43 AM - edited Nov 09 2022 09:04 AM
Actually, when running in debug mode the bot the 3rd step ((3/5) Updating the bot messaging endpoint ...) fails: "MessageEndpointUpdatingError: Failed to update message endpoint with https://3384-46-193-104-169.ngrok.io/api/messages". Even though it created the tunnel with ngrok it doesn't work.
In the bot settings (accessed through https://dev.botframework.com/bots), I added the microsoft mail of the teamsappstudio in the owner section.
Nov 09 2022 09:42 AM - edited Nov 09 2022 09:43 AM
To clarify a few things, the tutorial you sent me works (https://learn.microsoft.com/en-us/microsoftteams/platform/sbs-gs-notificationbot?tabs=vscode). However, it does not work when I try to use my own bot instead of the one created by default. When I try to use my own bot, I get the error previously mentioned "MessageEndpointUpdatingError: Failed to update message endpoint with https://<ngrok_url>/api/messages".
Besides if I try to upload a custom manifest with my bot credentials to teams (upload custom app), run the bot with node locally and trigger the messages it does not work (the bot does not detect any installations). Probably I'm doing something wrong either in Azure, in the manifest or just the generic testing methodology.
Nov 14 2022 05:47 AM
Nov 15 2022 09:15 AM
Nov 16 2022 02:38 AM - edited Nov 16 2022 02:39 AM
SolutionIf you want to external users are interacting with your Azure, you need to use multi-tenant during app registration in the Azure portal.
Multi-tenant apps are available to users in both their home tenant and other tenants.
The multi-tenant organization is what enables the Azure Bot Service servers (in the botframework.com tenant) to authenticate requests coming from the bot (registered in the customer's tenant) through our servers. It's part of our service-to-service authentication protocol. it is not used for other purposes, and not to have any claims added to it for other access.
Reference Doc-
Best practices for multi-tenant apps
Thanks,
Sayali
----------------------------------------------------------------------------
If the response is helpful, please click "**Mark as Best Response**" and like it. You can share your feedback via Microsoft Teams Developer Feedback link.
Nov 17 2022 02:10 AM
@BarneyGood -Could you please share your feedback via Microsoft Teams Developer Feedback link.
Sep 03 2023 11:06 PM
@BarneyGood how did you manage to do it? i also encounter similar issue. for some reason there is no installations or member
Nov 16 2022 02:38 AM - edited Nov 16 2022 02:39 AM
SolutionIf you want to external users are interacting with your Azure, you need to use multi-tenant during app registration in the Azure portal.
Multi-tenant apps are available to users in both their home tenant and other tenants.
The multi-tenant organization is what enables the Azure Bot Service servers (in the botframework.com tenant) to authenticate requests coming from the bot (registered in the customer's tenant) through our servers. It's part of our service-to-service authentication protocol. it is not used for other purposes, and not to have any claims added to it for other access.
Reference Doc-
Best practices for multi-tenant apps
Thanks,
Sayali
----------------------------------------------------------------------------
If the response is helpful, please click "**Mark as Best Response**" and like it. You can share your feedback via Microsoft Teams Developer Feedback link.