Manifest
4 TopicsBug in about tab of personal Teams app
Hi, when the name of the publisher in the manifest contains an ampersand (&) character, that character is displayed wrong in the about tab of the app: In other screens the displayed name is correct: Would be great if this bug could get fixed.Solved1KViews0likes2CommentsListing available questions/commands for MS teams chatbot
Hello community, For Teams chatbot, I want to list available questions above/below message box based on the words that's been written to message box. What I try to do is, I want user to be informed about available questions. And I want it to be done BEFORE the message is sent. User will start to write the question on Teams. At the same time questions that partially/fully matched with these words will be shown in a dropdown menu. User will be able to select from these questions. This is already possible by commands section in manifes.json file but it requires the match starting from the first character for the available questions/commands. I want to enhance it by including partially match options to be shown.Solved708Views0likes2CommentsUnable to make bullet list in MS Teams manifest long description
Hi all - Does the long description in the MS Teams app manifest allow for markdown or HTML? Trying to add a bullet list into our MS Teams app manifest, but it's simply not rendering. Interestingly, the link url in markdown seems to render fine only in MS Teams, but not on the Microsoft Teams Admin Center. Here's the manifest long description: "description": { "short": "Receive your Datadog alerts and collaborate on incidents in Microsoft Teams.", "full": "Datadog is the essential monitoring and security platform for cloud applications. \n\nThis app lets you: <ul><li>Send notifications from Datadog to never miss an important event. </li><li>Create and collaborate on Datadog incidents without leaving Microsoft Teams. </li><li>Use Datadog Workflow Automation to send messages and decision prompts to Microsoft Teams. </li></ul> \n\nNewList:*Send notifications from Datadog to never miss an important event. *Create and collaborate on Datadog incidents without leaving Microsoft Teams. *Use Datadog Workflow Automation to send messages and decision prompts to Microsoft Teams. \n\nNewList:+Send notifications from Datadog to never miss an important event. +Create and collaborate on Datadog incidents without leaving Microsoft Teams. +Use Datadog Workflow Automation to send messages and decision prompts to Microsoft Teams. \n\nYou need an active Datadog organization and user account to use this app.\n\nVisit [our documentation](https://docs.datadoghq.com/integrations/microsoft_teams/) for information on how to get started." }, Thanks!416Views0likes2CommentsOutlook 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?200Views0likes9Comments