Microrosft teams Usupported Manifest Version - azure

I'm developing a custom teams app and until few days ago it was running ok: wep app run local from visual studio code with chrome debug, and the service app distributed on azure.
Yesterday I deleted by mistake the local app from app studio (inside visual studio code) and then I created a new app and set it as the old.
Teams recognize the app and when I run it from local (with debug from chrome) it opens a new window on chrome and I correctly see the button for install it:
When I click install I receive one popUp error: and i can see thi erro on the local visual studio debug console:
My manifest app is a standard manifest, with 1.8 version:
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.8/MicrosoftTeams.schema.json",
"manifestVersion": "1.8",
"version": "1.0.0",
"id": "d8bf27a8-a5a3-4381-9dd8-696d473450a1",
"packageName": "com.microsoft.teams.eclexia",
"developer": {
"name": "",
"websiteUrl": "https://localhost:3000",
"privacyUrl": "https://localhost:3000/privacy",
"termsOfUseUrl": "https://localhost:3000/termsofuse"
},
"icons": {
"color": "color.png",
"outline": "outline.png"
},
"name": {
"short": "",
"full": ""
},
"description": {
"short": "",
"full": ""
},
"accentColor": "#FFFFFF",
"staticTabs": [
{
"entityId": "index",
"name": "Catalogo",
"contentUrl": "https://localhost:3000/tab?tid={tid}&aaId={userObjectId}",
"websiteUrl": "https://localhost:3000/tab",
"scopes": [
"personal"
]
},
{
"entityId": "live",
"name": "Live",
"contentUrl": "https://localhost:3000/live?tid={tid}&aaId={userObjectId}",
"websiteUrl": "https://localhost:3000/live",
"scopes": [
"personal"
]
}
],
"composeExtensions": [
{
"botId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"canUpdateConfiguration": true,
"commands": [
{
"id": "searchQuery",
"type": "query",
"title": "Search",
"description": "Test command to run query",
"initialRun": false,
"fetchTask": false,
"context": [
"compose",
"commandBox"
],
"parameters": [
{
"name": "searchQuery",
"title": "Search Query",
"description": "Your search query",
"inputType": "text"
}
]
}
]
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"localhost"
]
How can I solve it?

There's currently a bug with App Studio that's being addressed (see my question here: App Studio is auto-converting my app to Schema 1.9, and the failing to install it into Teams). In the meantime, you can side-load to the internal company app store, and install from there, especially if you have a Developer tenant

Related

microsoft custom app manifest dont validate after clone

I have built a microsoft custom app with yo builder for microsoft teams and works fine, as I have uploaded into microsoft teams and test it. In addition, I push it on github. But when I clone the repo in a server in order to start deployment process, I get an error message as you can see on the uploaded image, when I try to run it with both gulp serve or gulp ngrok-serve.
My manifest.json is as follow:
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.11/MicrosoftTeams.schema.json",
"manifestVersion": "1.11",
"id": "{{APPLICATION_ID}}",
"version": "{{VERSION}}",
"packageName": "{{PACKAGE_NAME}}",
"developer": {
"name": "christos.goulas",
"websiteUrl": "https://{{PUBLIC_HOSTNAME}}",
"privacyUrl": "https://{{PUBLIC_HOSTNAME}}/privacy.html",
"termsOfUseUrl": "https://{{PUBLIC_HOSTNAME}}/tou.html"
},
"name": {
"short": "tempbot02",
"full": "tempbot02"
},
"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": [],
"staticTabs": [],
"bots": [
{
"botId": "{{MICROSOFT_APP_ID}}",
"needsChannelSelector": true,
"isNotificationOnly": false,
"scopes": [
"team",
"personal",
"groupchat"
],
"commandLists": [
{
"scopes": [
"team",
"personal"
],
"commands": [
{
"title": "Help",
"description": "Shows help information"
},
{
"title": "Who am I?",
"description": "Shows information about your Teams user"
},
{
"title": "Mention me",
"description": "Let the bot #mention you"
}
]
}
]
}
],
"connectors": [],
"composeExtensions": [],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"{{PUBLIC_HOSTNAME}}"
],
"showLoadingIndicator": false
}
Adding from comment section for more visibility
There was misconfiguration in manifest.

Issue with Microsoft chat bot giving double responses to a question instead of just 1 time that i have instructed it to do

I am currently using micro soft's speech studio to create a simple chat bot. For all my questions, I need to add a confirmation rule to ask if they need further assistance getting to the location they are looking for. However after it gets to the last part of the speech command it keeps saying the speech 2 times instead of just that once. For example, for this question on where chambers b is for example, it will say the speech response twice instead of just that once that it used to output just 2 days back.
the example sentences page
this is my confirmation command in the speech studio to ask whether they need assistance getting to the location
this is my successful command assuming the user says yes during the confirmation stage
However the issue came about just yesterday when I was testing the chatbot. I got this output during testing: "Sure, please follow me now" twice instead of just once that I needed.
this is what came up during the testing phase. As you can see it said sure please follow me now 2 times instead of just that 1 time that I needed
Thanks for reaching out.
The configuration in the screenshots look OK.
I created a confirmation example to verify the behavior and I was not able to reproduce this with the windows client (same you used in your screenshots).
Here is the sample app you can import to try it out.
{
"entityResolver": {
"searchConfiguration": {
"maxEdits": 0
},
"type": "internal",
"isGenerated": true
},
"minIntentConfidence": 0.4,
"highIntentConfidence": 0.8,
"lgTemplates": [
"# FallbackResponse",
"- Add your fallback message here",
"# TestCommand-MyNumber",
"- what number?",
"# TestCommand-27dfe650040311ebb2dccf4459b3ff8b",
"- confirmed.",
"# TestCommand-3228f4d0040311ebb2dccf4459b3ff8b",
"- denied.",
"# TestCommand-4ea19f40040311ebb2dccf4459b3ff8b",
"- sure?"
],
"type": "BaseLanguage",
"recognizer": {
"application": "",
"isStaging": false,
"versionId": "0.1",
"type": "luis"
},
"speechOutput": {
"font": "Microsoft Server Speech Text to Speech Voice (en-US, Aria24kRUS)",
"locale": "en-US"
},
"webEndpoints": [],
"globalParameters": [],
"commands": [
{
"name": "FallbackCommand",
"completionStrategy": "OnRequiredParameters",
"parameters": [],
"rules": [],
"completionRules": [
{
"name": "DefaultResponse",
"conditions": [
{
"type": "True"
}
],
"actions": [
{
"type": "SpeechResponse",
"response": {
"type": "Template",
"templateName": "# FallbackResponse"
}
}
],
"postExecutionState": "None"
}
],
"triggeringExamples": [
"> - You can start sentences with '>' to add comments.",
"> - You can also use parameters by adding the name of the parameter within curly braces, i.e.",
"> Set an alarm to {YourDateParameterName}",
"> Where YourDateParameterName is the name of a parameter defined in the 'Parameters' section.",
"Help",
"Help me",
"What can you do?",
"How can I start?",
"Hello",
"Hi"
],
"multiTurnExamples": []
},
{
"name": "TestCommand",
"completionStrategy": "OnRequiredParameters",
"parameters": [
{
"name": "MyNumber",
"type": {
"name": "Number"
},
"elicitResponse": {
"type": "Template",
"templateName": "# TestCommand-MyNumber"
}
}
],
"rules": [
{
"name": "Confirm command",
"conditions": [
{
"type": "AllRequiredParameters"
}
],
"actions": [
{
"type": "SpeechResponse",
"response": {
"type": "Template",
"templateName": "# TestCommand-4ea19f40040311ebb2dccf4459b3ff8b"
}
}
],
"nextTurnExpectations": [
{
"type": "Confirmation"
}
],
"postExecutionState": "WaitForInput"
},
{
"name": "Confirmation succeeded",
"conditions": [
{
"type": "SuccessfulConfirmation"
}
],
"actions": [
{
"type": "SpeechResponse",
"response": {
"type": "Template",
"templateName": "# TestCommand-27dfe650040311ebb2dccf4459b3ff8b"
}
}
],
"nextTurnExpectations": [],
"postExecutionState": "ReadyForCompletion"
},
{
"name": "Confirmation denied",
"conditions": [
{
"type": "DeniedConfirmation"
}
],
"actions": [
{
"type": "SpeechResponse",
"response": {
"type": "Template",
"templateName": "# TestCommand-3228f4d0040311ebb2dccf4459b3ff8b"
}
}
],
"nextTurnExpectations": [],
"postExecutionState": "CompleteCommand"
}
],
"completionRules": [
{
"name": "Done",
"conditions": [
{
"type": "True"
}
],
"actions": [],
"nextTurnExpectations": [],
"postExecutionState": "CompleteCommand"
}
],
"triggeringExamples": [
"number {MyNumber}",
"my number is {MyNumber}"
]
}
]
}
And here is a sample output with the windows client.
Sample output
Hope this help! o.w. If you could clone your application and provide a stripped-down version with the failure and we'll be happy to help you troubleshoot further.

microsoft team custom tabs refuse to connect to page

I am trying to develop a custom app with a tab I have installed the app successfully but when i open the tab it states connection refused to the website from where the content has to be displayed. I am a newbie to Microsoft team app. Below is the manifest.json.
{
"$schema": "https://developer.microsoft.com/en-us/json-
schemas/teams/v1.7/MicrosoftTeams.schema.json",
"manifestVersion": "1.7",
"version": "1.0.0",
"isFullScreen": true,
"id": "e23cbae9-8598-4b64-bd35-d8dcd9552372",
"packageName": "com.uber",
"developer": {
"name": "Mphasis",
"websiteUrl": "https://www.mphasis.com",
"privacyUrl": "https://www.mphasis.com",
"termsOfUseUrl": "https://www.mphasis.com"
},
"icons": {
"color": "color.png",
"outline": "outline.png"
},
"name": {
"short": "uberApp",
"full": "Uber App1"
},
"description": {
"short": "testing app",
"full": "uber test app"
},
"accentColor": "#FFFFFF",
"staticTabs": [
{
"entityId": "12346",
"name": "mytab",
"contentUrl": "https://capgemini.com/in-en/careers/",
"scopes": [
"personal"
]
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"capgemini.com"
]
}'''

MS Teams app manifest file Tenant restriction

I created the bot application and created the manifest file for it. I added it to the Microsoft teams and it is working fine. So if I use that manifest file with the other tenant account then also that app will be added and working. I don't want it to be like this. If the other tenant people tries to add the manifest it should not work or added. How to give tenant restriction in the manifest file? I am attaching my manifest file also.
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.5/MicrosoftTeams.schema.json",
"manifestVersion": "1.5",
"version": "1.0.0",
"id": "<id>",
"packageName": "com.example.myapp",
"developer": {
"name": "AzS",
"websiteUrl": "https://teams.com",
"privacyUrl": "https://teams.com/privacy",
"termsOfUseUrl": "https://teams.com/termsofuse"
},
"icons": {
"color": "color.png",
"outline": "outline.png"
},
"name": {
"short": "test Bot",
"full": "test App"
},
"description": {
"short": "This is a test bot",
"full": " bot"
},
"accentColor": "#FFFFFF",
"bots": [
{
"botId": "<botid>",
"scopes": [
"team",
"groupchat",
"personal"
],
"supportsFiles": true,
"isNotificationOnly": false
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": []
}
Aside from my question in the comments above, Microsoft provide a middleware as part of the bot framework itself, to filter for specific tenant id(s). Have a look at teamsTenantFilteringMiddleware
(The above is for Node). For interest, here is the C# version as well.

Send files to a bot in Microsoft Teams

I'm trying to send image files to a bot in Microsoft Teams. The problem is that the "upload" button doesn't show up in the personal scope.
I've added the supportsFiles tag in the manifest and incremented the version so that it triggers the changes when reinstalled.
Here is my manifest:
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.3/MicrosoftTeams.schema.json",
"manifestVersion": "1.3",
"version": "1.0.1",
"id": "738xxxxxxxx",
"packageName": "-",
"developer": {
"name": "AAA",
"websiteUrl": "https://aaa.azurewebsites.net",
"privacyUrl": "https://aaa.azurewebsites.net",
"termsOfUseUrl": "https://aaa.azurewebsites.net"
},
"icons": {
"color": "color.png",
"outline": "outline.png"
},
"name": {
"short": "Asistente Virtual",
"full": "Asistente Virtual en Teams"
},
"description": {
"short": "VA",
"full": "VA en Teams"
},
"accentColor": "#267938",
"bots": [
{
"botId": "95dbxxxxxxxxxxx",
"scopes": [
"personal",
"team"
],
"supportsFiles": true
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": []
}
I cannot find anything else in the official documentation that could be causing the problem.
EDIT: I've realized that in the "About tab" in chat (personal scope) still appears the old version (1.0.0). But if I access my bot through my apps it shows version 1.0.1. In any case, the "upload" button doesn't show up.

Resources