Search code examples
microsoft-teams

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: enter image description here

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"
    ]
}

Solution

  • 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.