Microsoft Teams configurable tab "team"-scope not working - microsoft-teams

I create a new teams app by using the Teams Apps generator. I selected configurable tab -> scope "team" and "groupchat":
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.5/MicrosoftTeams.schema.json",
"manifestVersion": "1.5",
"id": "dfbf6890-7268-11ea-ad8e-3f4752fcafa2",
"version": "0.0.1",
"packageName": "test4",
"developer": {
"name": "dev",
"websiteUrl": "https://{{HOSTNAME}}",
"privacyUrl": "https://{{HOSTNAME}}/privacy.html",
"termsOfUseUrl": "https://{{HOSTNAME}}/tou.html"
},
"name": {
"short": "test4",
"full": "test4"
},
"description": {
"short": "TODO: add short description here",
"full": "TODO: add full description here"
},
"icons": {
"outline": "icon-outline.png",
"color": "icon-color.png"
},
"accentColor": "#D85028",
"configurableTabs": [
{
"configurationUrl": "https://{{HOSTNAME}}/smensocloudTab/config.html",
"canUpdateConfiguration": true,
"scopes": [
"team",
"groupchat"
]
}
],
"staticTabs": [],
"bots": [],
"connectors": [],
"composeExtensions": [],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"{{HOSTNAME}}"
]
}
But when i side load the app to test in teams, i only see "Add to a chat" but not "Add to a team".
See the attached Screenshots (frist is how it is, second how i want it).
How can i fix this?

I found it,
if anyone ever has the same problem.
Remove the empty defintions:
"staticTabs": [],
"bots": [],
"connectors": [],
"composeExtensions": []
That solved the case for us.

Related

Manifest parsing error when trying to test app in Teams

From https://dev.teams.microsoft.com/, whenever I click "Preview in Teams", it shows an error in Teams with these details copied to the clipboard: "Error while reading manifest.json". If I download the app package and "upload a custom app" I get the same error. What can I do to resolve this? If I remove the messaging extension configuration, it works but I configured that part in their app and that's what I want to build.
This is my manifest file:
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.11/MicrosoftTeams.schema.json",
"version": "1.0.0",
"manifestVersion": "1.11",
"id": "3fXXXX",
"packageName": "com.package.name",
"name": {
"short": "Domo Integration",
"full": ""
},
"developer": {
"name": "Domo Inc.",
"mpnId": "",
"websiteUrl": "https://www.domo.com",
"privacyUrl": "https://www.domo.com/company/privacy-policy",
"termsOfUseUrl": "https://www.domo.com/company/service-terms"
},
"description": {
"short": "short",
"full": "full"
},
"icons": {
"outline": "outline.png",
"color": "color.png"
},
"accentColor": "#FFFFFF",
"composeExtensions": [
{
"botId": "deXXXXXXXX",
"commands": [],
"canUpdateConfiguration": true,
"messageHandlers": [
{
"type": "link",
"value": {
"domains": [
"*.domo.com"
]
}
}
]
}
],
"validDomains": [
"*.domo.com"
]
}
#ccnokes In order to use messaging extension in your bot, you need to provide at least one command. commands is required property in composeExtension - see doc.
I was also getting the same error when tried with your manifest but after adding commands it worked totally fine.

Attempt to install new bot apps for Teams yields generic error "Manifest Parsing has Failed"

Working with a new Microsoft Teams App (a Bot, built with the MS Bot Framework, and deployed to Azure). Whether using the soon-to-be-deprecated App Studio, or the soon-to-replace-it Preview of the Developer Portal, attempting to install directly or to download the manifest and sideload to teams, in every case the following image is displayed:
The message "Manifest parsing has failed" is quite unhelpful. I am mystified that Microsoft is not supplying some additional information about WHAT failed. Is there a log file somewhere that I can find the actual problem?
UPDATE RESPONDING TO COMMENTS:
One kind commenter pointed me to a similar SO question, but the suggested solution (setting manfestVersion from that currently generated at 1.9 to 1.7) did not work. Behavior was identical.
Another commenter asked me to provide the manifest scrubbed of identifying information. Here it is:
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.9/MicrosoftTeams.schema.json",
"version": "1.0.0",
"manifestVersion": "1.9",
"id": "VALID-GUID",
"packageName": "com.package.name",
"name": {
"short": "Stephan Trial App",
"full": ""
},
"developer": {
"name": "Valid Company",
"mpnId": "Correct mpnId",
"websiteUrl": "https://www.thiscompany.com",
"privacyUrl": "https://www.thiscompany.com/legal/privacy-policy/",
"termsOfUseUrl": "https://www.thiscompany.com/legal/terms-of-use/"
},
"description": {
"short": "Stephan's App's Short Description",
"full": "Stephan's App's Longer Description"
},
"icons": {
"outline": "outline.png",
"color": "color.png"
},
"accentColor": "#FFFFFF",
"bots": [
{
"botId": "VALID-CORRECT-GUID",
"scopes": [
"team",
"personal"
],
"isNotificationOnly": false,
"supportsFiles": false
}
],
"composeExtensions": [
{
"botId": "SAME-VALID-CORRECT-GUID-AS-BOT-ABOVE",
"commands": [
{
"id": "CmdID",
"type": "query",
"title": "Command Title",
"description": "Command Description",
"initialRun": true,
"fetchTask": false,
"context": [
"commandBox",
"compose",
"message"
],
"parameters": [
{
"name": "ParmID",
"title": "Parameter Title",
"description": "Parameter Description",
"inputType": "Text",
"choices": []
}
]
}
],
"canUpdateConfiguration": true,
"messageHandlers": []
}
],
"validDomains": [],
"devicePermissions": [
"geolocation"
]
}
I think I found the problem. Within composeExtensions > commands > parameters you have inputType but it's set to 'Text' (capital T) which is invalid - it needs to be 'text' (small 't'). Try that and it should be fine.

Manifest parsing failed when loading the sample app microsoft-teams-sample-meetings-token

I am following the Readme to get the microsoft-teams-sample-meetings-token app running locally .
I got the app from github https://github.com/OfficeDev/microsoft-teams-sample-meetings-token
Most of the steps completed without issue, until loading the custom app manifest,
I got an error like this
"Manifest parsing has failed.
For more information, please visit aka.ms/teamsdocs"
my manifest look like below. how can I tell what's wrong with tis manifest?
{
"$schema": "https://raw.githubusercontent.com/OfficeDev/microsoft-teams-app-schema/preview/DevPreview/MicrosoftTeams.schema.json",
"manifestVersion": "devPreview",
"version": "1.0.0",
"id": "addac13a-3ab7-43af-8cdb-feb5248cf08a",
"packageName": "com.microsoft.teams.sample.meetingtoken",
"webApplicationInfo": {
"id": "addac13a-3ab7-43af-8cdb-feb5248cf08a",
"resource": "api://32c70efa94ea.ngrok.io"
},
"developer": {
"name": "[companyName]",
"websiteUrl": "[websiteUrl]",
"privacyUrl": "[privacyUrl]",
"termsOfUseUrl": "[termsOfUseUrl]"
},
"name": {
"short": "Meeting Token App"
},
"description": {
"short": "Meeting Token App",
"full": "Token app optimized for meetings to generate sequential tokens for participants"
},
"icons": {
"outline": "icon-outline.png",
"color": "icon-color.png"
},
"accentColor": "#ffffff",
"configurableTabs": [
{
"configurationUrl": "https://32c70efa94ea.ngrok.io/configure.html",
"canUpdateConfiguration": true,
"scopes": [
"groupchat"
],
"context": [
"meetingChatTab",
"meetingDetailsTab",
"meetingSidePanel"
]
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"32c70efa94ea.ngrok.io"
],
"bots": [
{
"botId": "addac13a-3ab7-43af-8cdb-feb5248cf08a",
"scopes": [
"groupchat"
],
"needsChannelSelector": false,
"isNotificationOnly": false,
"supportsFiles": false,
"commandLists": [
{
"scopes": [
"groupchat"
],
"commands": [
{
"title": "reset",
"description": "reset the settings for the bot in the service"
}
]
}
]
}
]
}
If you haven't tried already, one useful way of finding specific issues with the app manifest is to add "App Studio" as an app in teams.
You should see the manifests you've been working with - if you go to "Test and distribute" it will parse your manifest and point out any potential problems.

Cannot get subEntityId on MS Teams tab app from deep link

I cannot retrieve a subEntityId on a Teams tab app from a deep link. It's always empty in getContext. Could anyone please help me out?
I generated a deep link as following this page, https://learn.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/deep-links
The link looks like this,
https://teams.microsoft.com/l/entity/58061894-78f0-49c3-99d7-25830d1c84f0/anpi-personal&context=%7B%22subEntityId%22:%22task123%22%7D
The link works as it expected, it brings me to the tab app on Teams. But no subEntityId.
The manifest of the tab app looks like this,
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/MicrosoftTeams.schema.json",
"manifestVersion": "1.7",
"version": "1.0.0",
"id": "58061894-78f0-49c3-99d7-25830d1c84f0",
"packageName": "something.package.name",
"developer": {
"name": "dev",
"websiteUrl": "some url",
"privacyUrl": "some url",
"termsOfUseUrl": "some url"
},
"icons": {
"color": "color.png",
"outline": "outline.png"
},
"name": {
"short": "some name",
"full": "some text"
},
"description": {
"short": "some text",
"full": "some text"
},
"accentColor": "#FFFFFF",
"staticTabs": [
{
"entityId": "anpi-personal",
"name": "app name",
"contentUrl": "https://exmample.com/Default.aspx?entityId={entityId}&subEntityId={subEntityId}",
"scopes": [
"personal"
]
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"foo.com"
],
"webApplicationInfo": {
"id": "13958568-6984-47d4-910f-7bb9c87078c2",
"resource": "api://exmample.com/13958568-6984-47d4-910f-7bb9c87078c2"
}
}
I think you need to change:
...anpi-personal&context=%7B%22subEntityId%22:%22task123%22%7D
to:
...anpi-personal?context=%7B%22subEntityId%22:%22task123%22%7D
the change is hard to see - I've changed "&context" to "?context" - "&" is required if you have -multiple- values you're passing (like "weburl=something" AND "context=something"), but in this case you only have "context", so it needs to start with "?"

MS Teams app to display intranet works on mobile client but not on Windows

I've made a really simple Teams app which aims to display our internal company Intranet on a tab within teams.
This works on the mobile version of teams, but does not work on the Windows client.
Also, using the web client, it throws a error stating 'This content can't be shown in a frame'.
The manifest is as follows...
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.5/MicrosoftTeams.schema.json",
"manifestVersion": "1.5",
"version": "1.0.0",
"id": "72545647f-dd7c-4205-8749-7351561561f2",
"packageName": "<companyname>.teams.intranet.app",
"developer": {
"name": "John",
"websiteUrl": "https://www.<WEBSITE_URL>.uk",
"privacyUrl": "https://randomdomain.co.uk/ps",
"termsOfUseUrl": "https://randomdomain.co.uk/tou"
},
"icons": {
"color": "color.png",
"outline": "outline.png"
},
"name": {
"short": "Intranet",
"full": "Intranet"
},
"description": {
"short": "Bring the functionality of our Intranet into Teams",
"full": "The <COMPANYNAME> Intranet app will introduce an Intranet tab into teams"
},
"accentColor": "#FFFFFF",
"configurableTabs": [
{
"configurationUrl": "https://intranet.<companyname>.uk",
"canUpdateConfiguration": false,
"scopes": [
"team"
],
"supportedSharePointHosts": [
"sharePointFullPage"
]
}
],
"staticTabs": [
{
"entityId": "intranet",
"name": "intranet",
"contentUrl": "https://intranet.<companyname>.uk",
"websiteUrl": "https://intranet.<companyname>.uk",
"scopes": [
"personal"
]
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"intranet.<companyname>.uk"
]
}
Am I missing something?
Any help greatly appriciated :)
Your tabs needs to allow itself to be iframed.
Please go through this link to see how tabs work.

Resources