Forum Widgets
Latest Discussions
Azure Bot working from local using teams toolkit, but not when hosted on AWS
Hi Everyone, I need help in debugging an issue I am facing while using the Azure bot on the teams channel. I have created a Teams Meeting bot using the botbuilder framework in python and tested it using the teams toolkit. It works fine using the toolkit. I also used an ngrok domain in the messaging endpoint in the configuration page of the bot and that works too. Now we took this bot logic and hosted it on AWS ECS. The api/messages endpoint is reachable through postman. But when the request comes from teams, our server just hangs and it becomes unreachable and eventually restarts. I have tried to add some logs and I am able to print the activity, auth header and the request body the teams sends to the API. I have ensured all the env variables are correct. Also, for the server to be reachable from the teams channel to AWS, we had to whitelist a few ips. Only then the server on AWS was reachable. Steps to reproduce the server restarts.: 1) I zip my manifest file and upload the custom app to a teams meeting. 2) When I add the app to the meeting, it counts as an event and teams calls the api/messages endpoint. I am able to see the logs for this event. 3) After I add the app, I open the custom app tab and the content comes up as expected. The issue starts after this step. 4) I start the meeting, teams sends an event (meetingstart) to the API and then the server just hangs. No logs are printed and then the server restarts and nothing is tracked. The bot in that meeting does not work anymore. Because when you start a meeting again, the server restarts. The same thing works fine on local and it checks for these teams events and performs the logic within that function. We are clueless on what's happening here as there are no logs either. Is there something we need to cross check when trying to host it on a server instead of running it on local using a teams toolkit.? The request gets sent to SETTINGS = BotFrameworkAdapterSettings(CONFIG.APP_ID, CONFIG.APP_PASSWORD) ADAPTER = BotFrameworkAdapter(SETTINGS) # Listen for incoming requests on /api/messages @app.post("/api/messages", response_model=None) async def messages(req: Request) -> Response: # Main bot message handler. if "application/json" in req.headers["Content-Type"]: body = await req.json() else: return Response(status_code=HTTPStatus.UNSUPPORTED_MEDIA_TYPE) activity = Activity().deserialize(body) auth_header = req.headers["Authorization"] if "Authorization" in req.headers else "" print(auth_header) response = await ADAPTER.process_activity(activity, auth_header, BOT.on_turn) if response: return JSONResponse(content=response.body, status_code=response.status) return Response(status_code=HTTPStatus.OK) It fails at line 15 I believe, as I have tried to comment the line to see if the restarts happen. It did not restart then. So the issue is clearly with line 15. Hoping for a reply from anyone. Thank you.ChaitanyaSai370Feb 14, 2025Copper Contributor508Views0likes4CommentsHow to get teams channel message from reply of a message id in ms graph?
Hi, I'm currently using the Microsoft Graph API to develop an app. I use https://graph.microsoft.com/v1.0/search/query to search for messages. I receive the results, which include both the original message and reply message. I want to use the message ID to retrieve the detailed message using this API: /teams/{team-id}/channels/{channel-id}/messages/{message-id}. If the message is the main message, it returns the details. However, if it's a reply, it returns a 404 error. Does this mean I need to obtain the main message ID from the reply? Is there any API or practical way I can use to retrieve it? Thank you!bayusaurusFeb 14, 2025Occasional Reader42Views1like2CommentsSeeking Best Practices for Performance Testing Bots in Microsoft Teams
Teams Meeting Bot This bot is automatically installed in all scheduled meetings across the organization. It interacts with the Microsoft Graph API via the 'api/messages' endpoint in the Bot Framework to retrieve meeting transcripts. These transcripts are then processed by an LLM model to generate a summarized version of the meeting. Chatbot This is a personal Teams chatbot built using the Bot Framework. It streams real-time responses from an LLM model based on user queries. We are planning a performance test for these bots. What would be the standard procedure to achieve this? Looking forward to your insights.AbiramiRajaramFeb 14, 2025Copper Contributor27Views0likes2CommentsOutlook plugin: Updating manifest doesn't work, Update TenantAppDefinition failed
Hello, I raised this request to the official MS customer service already and they couldn't help. The problem is as follows: We are developing an Outlook Add-In using the 'new' JSON manifest way. So far, we deployed our plugin to the Azure BLOB storage destination as it's specified by Teams Toolkit. Also, we were able to register it in the MS Teams Admin Center. Now we wanted to make some changes to our icons registration in the manifest file and ran into an unknown exception. For testing, we reverted those changes and only increased the version number. However, the error message remained as-is, although the same manifest worked some time (maybe 1-2 weeks maybe) ago. There were no changes to the manifest file since then, except an increase in the version number. The manifest can be submitted without any issues if the "ribbons" part is completely removed. However, it passes all validations described in https://learn.microsoft.com/en-us/office/dev/add-ins/testing/troubleshoot-manifest . All icons match the specifications. The same happens if we submit it as a new app. This is the error message that we could intercept in the browser's DEV Tools when submitting the manifest in the appPackage to MS Teams Admin Center (manage existing app). Sensitive info was removed: { "error": { "code": "BadRequest", "message": "Update TenantAppDefinition failed, UserId: 'beefbeef-beef-beef-beef-beefbeefbeef', TenantId: 'beefbeef-beef-beef-beef-beefbeefbeef', Exception: 'Microsoft.SkypeSpaces.MiddleTier.Common.ServiceException: Failed to execute settings store request: https://emea.settings.teams.internal.office.com/v1.0/settings/teams/apps/beefbeef-beef-beef-beef-beefbeefbeef/definitionv2, StatusCode: 400, ReasonPhrase: Schema validation errors, X-MSEdge-Ref: beefbeef-beef-beef-beef-beefbeefbeef\r\n at Microsoft.SkypeSpaces.MiddleTier.BackendServices.SettingsStore.SettingsStore.ExecuteRequestAsync(HttpRequestMessage requestMessage, String requestName, String entityType, String facet, Boolean throwOn404) in C:\\a\\_work\\1\\s\\Source\\BackendServices\\BackendServices\\SettingsStore\\SettingsStore.cs:line 339\r\n at Microsoft.SkypeSpaces.MiddleTier.BackendServices.SettingsStore.SettingsStore.PutSettingAsync(String entityType, String entityId, String facet, String value, String ifMatch, String tenantIdForRegionLookup) in C:\\a\\_work\\1\\s\\Source\\BackendServices\\BackendServices\\SettingsStore\\SettingsStore.cs:line 146\r\n at Microsoft.SkypeSpaces.MiddleTier.BackendServices.SettingsStore.SettingsStore.PutSettingAsync(String entityType, String entityId, String facet, String value, String ifMatch) in C:\\a\\_work\\1\\s\\Source\\BackendServices\\BackendServices\\SettingsStore\\SettingsStore.cs:line 118\r\n at Microsoft.SkypeSpaces.MiddleTier.BackendServices.SettingsStore.SettingsStore.PutSettingAsync(String entityType, String entityId, String facet, String value) in C:\\a\\_work\\1\\s\\Source\\BackendServices\\BackendServices\\SettingsStore\\SettingsStore.cs:line 100\r\n at Microsoft.SkypeSpaces.MiddleTier.Provider.SettingsStore.RegionalSettingsStoreProvider.SetAppDefinitionAsync(String appId, AppDefinitionItem appDefinition) in C:\\a\\_work\\1\\s\\Source\\Provider\\Provider\\SettingsStore\\RegionalSettingsStoreProvider.cs:line 1910\r\n at Microsoft.Teams.MiddleTier.Apps.AppDefinitionsStore.Commands.CustomAppDefinitionWriter.<>c__DisplayClass10_0.<<UpdateAsync>b__0>d.MoveNext() in C:\\a\\_work\\1\\s\\Source\\Modules\\Apps\\MiddleTier.Apps\\AppDefinitionsStore\\Commands\\CustomAppDefinitionWriter.cs:line 103\r\n--- End of stack trace from previous location ---\r\n at Microsoft.SkypeSpaces.MiddleTier.Common.InstrumentedAsyncFunc`1.ExecuteAsync()\r\n at Microsoft.Teams.MiddleTier.Apps.AppDefinitionsStore.Commands.CustomAppDefinitionWriter.UpdateAsync(CustomAppDefinitionWriteContext context) in C:\\a\\_work\\1\\s\\Source\\Modules\\Apps\\MiddleTier.Apps\\AppDefinitionsStore\\Commands\\CustomAppDefinitionWriter.cs:line 113\r\n at Microsoft.Teams.MiddleTier.Apps.AppDefinitionsStore.Commands.CustomTenantAppDefinitionWriter.UpdateAsync(CustomAppDefinitionWriteContext context) in C:\\a\\_work\\1\\s\\Source\\Modules\\Apps\\MiddleTier.Apps\\AppDefinitionsStore\\Commands\\CustomTenantAppDefinitionWriter.cs:line 56\r\n at Microsoft.Teams.MiddleTier.Apps.Providers.AppsProviderTenant.UpdateTenantAppDefinitionAsync(AppDefinitionItem appDefinitionItem, ZipArchive appPackage) in C:\\a\\_work\\1\\s\\Source\\Modules\\Apps\\MiddleTier.Apps\\Providers\\AppsProviderTenant.cs:line 1733'Failed to execute settings store request: https://emea.settings.teams.internal.office.com/v1.0/settings/teams/apps/beefbeef-beef-beef-beef-beefbeefbeef/definitionv2, StatusCode: 400, ReasonPhrase: Schema validation errors, X-MSEdge-Ref: beefbeef-beef-beef-beef-beefbeefbeef", "innerError": { "code": "BadRequest", "message": "Update TenantAppDefinition failed, UserId: 'beefbeef-beef-beef-beef-beefbeefbeef', TenantId: 'beefbeef-beef-beef-beef-beefbeefbeef', Exception: 'Microsoft.SkypeSpaces.MiddleTier.Common.ServiceException: Failed to execute settings store request: https://emea.settings.teams.internal.office.com/v1.0/settings/teams/apps/beefbeef-beef-beef-beef-beefbeefbeef/definitionv2, StatusCode: 400, ReasonPhrase: Schema validation errors, X-MSEdge-Ref: beefbeef-beef-beef-beef-beefbeefbeef\r\n at Microsoft.SkypeSpaces.MiddleTier.BackendServices.SettingsStore.SettingsStore.ExecuteRequestAsync(HttpRequestMessage requestMessage, String requestName, String entityType, String facet, Boolean throwOn404) in C:\\a\\_work\\1\\s\\Source\\BackendServices\\BackendServices\\SettingsStore\\SettingsStore.cs:line 339\r\n at Microsoft.SkypeSpaces.MiddleTier.BackendServices.SettingsStore.SettingsStore.PutSettingAsync(String entityType, String entityId, String facet, String value, String ifMatch, String tenantIdForRegionLookup) in C:\\a\\_work\\1\\s\\Source\\BackendServices\\BackendServices\\SettingsStore\\SettingsStore.cs:line 146\r\n at Microsoft.SkypeSpaces.MiddleTier.BackendServices.SettingsStore.SettingsStore.PutSettingAsync(String entityType, String entityId, String facet, String value, String ifMatch) in C:\\a\\_work\\1\\s\\Source\\BackendServices\\BackendServices\\SettingsStore\\SettingsStore.cs:line 118\r\n at Microsoft.SkypeSpaces.MiddleTier.BackendServices.SettingsStore.SettingsStore.PutSettingAsync(String entityType, String entityId, String facet, String value) in C:\\a\\_work\\1\\s\\Source\\BackendServices\\BackendServices\\SettingsStore\\SettingsStore.cs:line 100\r\n at Microsoft.SkypeSpaces.MiddleTier.Provider.SettingsStore.RegionalSettingsStoreProvider.SetAppDefinitionAsync(String appId, AppDefinitionItem appDefinition) in C:\\a\\_work\\1\\s\\Source\\Provider\\Provider\\SettingsStore\\RegionalSettingsStoreProvider.cs:line 1910\r\n at Microsoft.Teams.MiddleTier.Apps.AppDefinitionsStore.Commands.CustomAppDefinitionWriter.<>c__DisplayClass10_0.<<UpdateAsync>b__0>d.MoveNext() in C:\\a\\_work\\1\\s\\Source\\Modules\\Apps\\MiddleTier.Apps\\AppDefinitionsStore\\Commands\\CustomAppDefinitionWriter.cs:line 103\r\n--- End of stack trace from previous location ---\r\n at Microsoft.SkypeSpaces.MiddleTier.Common.InstrumentedAsyncFunc`1.ExecuteAsync()\r\n at Microsoft.Teams.MiddleTier.Apps.AppDefinitionsStore.Commands.CustomAppDefinitionWriter.UpdateAsync(CustomAppDefinitionWriteContext context) in C:\\a\\_work\\1\\s\\Source\\Modules\\Apps\\MiddleTier.Apps\\AppDefinitionsStore\\Commands\\CustomAppDefinitionWriter.cs:line 113\r\n at Microsoft.Teams.MiddleTier.Apps.AppDefinitionsStore.Commands.CustomTenantAppDefinitionWriter.UpdateAsync(CustomAppDefinitionWriteContext context) in C:\\a\\_work\\1\\s\\Source\\Modules\\Apps\\MiddleTier.Apps\\AppDefinitionsStore\\Commands\\CustomTenantAppDefinitionWriter.cs:line 56\r\n at Microsoft.Teams.MiddleTier.Apps.Providers.AppsProviderTenant.UpdateTenantAppDefinitionAsync(AppDefinitionItem appDefinitionItem, ZipArchive appPackage) in C:\\a\\_work\\1\\s\\Source\\Modules\\Apps\\MiddleTier.Apps\\Providers\\AppsProviderTenant.cs:line 1733'Failed to execute settings store request: https://emea.settings.teams.internal.office.com/v1.0/settings/teams/apps/beefbeef-beef-beef-beef-beefbeefbeef/definitionv2, StatusCode: 400, ReasonPhrase: Schema validation errors, X-MSEdge-Ref: beefbeef-beef-beef-beef-beefbeefbeef", "details": [], "date": "2025-02-07T13:18:12", "request-id": "beefbeef-beef-beef-beef-beefbeefbeef", "client-request-id": "beefbeef-beef-beef-beef-beefbeefbeef" } } } This is our manifest (also with sensitive info being removed): { "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.17/MicrosoftTeams.schema.json", "id": "beefbeef-beef-beef-beef-beefbeefbeef", "manifestVersion": "1.17", "version": "1.0.6", "name": { "short": "Outlook Addin name (dev)", "full": "Outlook Addin name" }, "description": { "short": "Outlook Addin name (dev)", "full": "Outlook Addin name" }, "developer": { "name": "OurCompany", "websiteUrl": "https://www.OurCompany.de", "privacyUrl": "https://www.OurCompany.de/privacy", "termsOfUseUrl": "https://www.OurCompany.de/servicesagreement" }, "icons": { "outline": "assets/logoOutlined.png", "color": "assets/logo.png" }, "accentColor": "#230201", "localizationInfo": { "defaultLanguageTag": "en-us", "additionalLanguages": [] }, "webApplicationInfo": { "id": "beefbeef-beef-beef-beef-beefbeefbeef", "resource": "api://CENSORED/beefbeef-beef-beef-beef-beefbeefbeef" }, "authorization": { "permissions": { "resourceSpecific": [ { "name": "MailboxItem.Read.User", "type": "Delegated" }, { "name": "Group.Read.All", "type": "Delegated" }, { "name": "Channel.ReadBasic.All", "type": "Delegated" }, { "name": "Sites.ReadWrite.All", "type": "Delegated" }, { "name": "Tasks.ReadWrite.All", "type": "Delegated" }, { "name": "Tasks.ReadWrite.Shared", "type": "Delegated" }, { "name": "Group-Conversation.ReadWrite.All", "type": "Delegated" } ] } }, "validDomains": ["OurCompany.de"], "extensions": [ { "requirements": { "scopes": ["mail"], "capabilities": [ { "name": "Mailbox", "minVersion": "1.3" } ] }, "runtimes": [ { "requirements": { "capabilities": [ { "name": "Mailbox", "minVersion": "1.3" } ] }, "id": "TaskPaneRuntime", "type": "general", "code": { "page": "https://censored.web.core.windows.net/taskpane.html" }, "lifetime": "short", "actions": [ { "id": "TaskPaneRuntimeShow", "type": "openPage", "pinnable": false, "view": "dashboard" } ] } ], "ribbons": [ { "contexts": ["mailRead"], "tabs": [ { "builtInTabId": "TabDefault", "groups": [ { "id": "msgReadGroup", "label": "Outlook Addin name", "icons": [ { "size": 16, "url": "https://censored.web.core.windows.net/assets/icon-16.png" }, { "size": 32, "url": "https://censored.web.core.windows.net/assets/icon-32.png" }, { "size": 80, "url": "https://censored.web.core.windows.net/assets/icon-80.png" } ], "controls": [ { "id": "msgReadOpenPaneButton", "type": "button", "label": "Outlook Addin name (dev)", "icons": [ { "size": 16, "url": "https://censored.web.core.windows.net/assets/icon-16.png" }, { "size": 32, "url": "https://censored.web.core.windows.net/assets/icon-32.png" }, { "size": 80, "url": "https://censored.web.core.windows.net/assets/icon-80.png" } ], "supertip": { "title": "Show Outlook Addin name", "description": "Opens a pane displaying Outlook Addin name." }, "actionId": "TaskPaneRuntimeShow" } ] } ] } ] } ] } ] } Is there anything we can do to further investigate the issue?Anonymous42Feb 13, 2025Copper Contributor123Views0likes7CommentsHow to create sub-channels under channels already created?
Looking for some options on how to create sub-channels under existing channels. Currently channels can only be created under the Team but when trying to add a sub-channel to a specific channel this is possible.AHBG-31Feb 12, 2025Copper Contributor79KViews1like5CommentsCannot upload Team custom App. Shows constantly shows UnknownTeamsAppManifestExceptionType error
Hello, Could please someone advise. Cannot upload a custom App. The same app was successfully uploaded in December 2024. Now UnknownTeamsAppManifestExceptionType is shown. Thanks!Kiryl22Feb 12, 2025Copper Contributor66Views0likes5CommentsIs it possible to open and edit files in Teams that are not in a Teams cloud storage provider.
Hi, My company has a cloud storage system that our customers would lime to be able to use with Teams. We are working on an app to do this but we need some way of being able to open files that are outside of the storage provided by the cloud storage providers supported by Microsoft. Is this possible from with in Teams and if so how can it best be done.SolvedBLeslieFeb 11, 2025Copper Contributor1.1KViews0likes5CommentsImages in Adaptive Cards in New Teams Client not showing
Hello Community, I've encountered an issue with Teams Webhook Connector where images in Adaptive Cards are not displaying correctly in the New Teams Client, although they work as expected in the classic version. Our clients have reported that while messages are visible, the images fail to appear. This problem does not occur in the classic Teams client or when viewed in a browser, which I presume is utilizing the classic client as well. To clarify, I'm using the latest Adaptive Cards version (v1.5) compatible with Teams, and this issue is consistent across both Windows and Apple versions of the New Teams Client. Unfortunately, there seems to be no information available about this compatibility issue in the Adaptive Cards documentation or designer tool. Below is a simple Adaptive Card JSON that illustrates the problem: { "type": "AdaptiveCard", "body": [ { "type": "TextBlock", "size": "Medium", "weight": "Bolder", "text": "This is a headline" }, { "type": "Image", "url": "https://img.cdn-pictorem.com/uploads/collection/D/DN4DFF8JRC/900_Nature-Art_colorful--paintings.jpg", "width": "300px" } ], "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "version": "1.5" } For visual reference, here is how the card renders in both clients: Classic Teams Client: New Teams Client: I have not found a workaround yet and would greatly appreciate guidance on how to resolve this issue. Any suggestions or updates regarding the new client's support for Adaptive Cards would be very helpful. Thank you. Best regardsemilSociuuFeb 11, 2025Copper Contributor13KViews1like42CommentsDeeplink Navigation Issue in Published MS Teams Custom App on Mobile Devices (iOS & Android)
Description: We are experiencing an issue with navigation in our published MS Teams custom app. The app has a Tab with personal scope and a Bot. The problem arises for a few users (mostly on iOS devices) when they navigate to the Tab from the chat section of the Bot by clicking on a button that deeplinks to the Tab. Expected Behavior: The button click should trigger the deeplink and open the designated Tab and the specific page within the Tab in MS Teams app. Actual Behavior: iOS devices display an error message "Link not Supported. You can't open this link on the mobile app. Please open it on the desktop or web app." Android devices successfully open the Tab, but navigate to the default home page instead of the intended page within the Tab. Error Message: Details: The navigation works perfectly on the Desktop App and Web Browser. Sample Deeplink Used: let obj = { "params": paramsObj, "subdomain": subdomain, "pageRoute": "home" }; let subEntityId = { "subEntityId": obj }; var encodedWebUrl = ""; var encodedContext = encodeURI(JSON.stringify(subEntityId)); let tabUrl = "https://teams.microsoft.com/l/entity/" + manifestObj.id + "/agentTabId?webUrl=" + encodedWebUrl + "&label=entityLabel&context=" + encodedContext; cardObj = { ... { title: 'Open in Tab', type: 'Action.OpenUrl', url: tabUrl, } ... } Request: We need assistance in resolving this issue to ensure smooth navigation for all users, especially on iOS devices. Additionally, we need guidance on ensuring that Android devices navigate to the correct page within the Tab rather than the default home page. Thank you for your support.santhosh_sjFeb 11, 2025Copper Contributor422Views0likes5CommentsHow to resolve "Failed to submit this app" error?
Hi Team, Just from Today, while submitting teams custom app via Developer Portal, error "Failed to submit this app." started to occur. I have tried with below condition but this error always occurs. Error also occurs on the app which we can submit update till yesterday. What is happening and how can we resolve it? (from this error message, we couldn't guess anything about the reason..) Checked: ・Publish from outside Developer Portal (apps > manage apps > send app to organization) succeeded so seems Developer Portal related Issue. ・For all apps, no validation error in "Publish to store" is found. Manifest itself seems to be fine. ・Create new custom app with minimum configuration and publish but failed with same error. ・Tried publish from both Teams client and Browser but failed with same error. ・Try same operation with different tenant but failed with same error.yuu113Feb 10, 2025Copper Contributor13KViews0likes26Comments
Resources
Tags
- microsoft teams1,676 Topics
- developer1,300 Topics
- Meetings229 Topics
- Chat216 Topics
- Administrator135 Topics
- Settings103 Topics
- Calling101 Topics
- files64 Topics
- teams53 Topics
- devices52 Topics