How can I provide an MS-Teams app to provide link-unfurling and nothing more?

Viewed 211

I have an MS Teams app that just does link unfurling. I do not want to provide any actions. I use to be able to do this by just leaving the "commands" section in the manifest empty but now if I do that you get the oh so helpful message "Something went wrong".

So now the only way to get Teams to load my app is if I add a dummy command.

Is there some way to do this without providing commands or some way to provide a command that the user will never see?

This is an actual manifest that fails:

{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.5/MicrosoftTeams.schema.json",
  "manifestVersion": "1.5",
  "version": "1.1",
  "id": "fe8ad7e8-7679-40d7-9435-0ef4488d74ce",
  "packageName": "com.foobar.teams.1",
  "developer": {
    "name": "foobar",
    "websiteUrl": "https://www.foobar.com",
    "privacyUrl": "https://foobar.com/en/privacy-policy/",
    "termsOfUseUrl": "https://foobar.com/en/terms-and-conditions/"
  },
  "name": {
    "short": "foobar test",
    "full": "foobar test"
  },
  "description": {
    "short": "foobar test",
    "full": "foobar test."
  },
  "icons": {
    "outline": "foobar-outline.png", 
    "color": "foobar-color.png"
  },
  "accentColor": "#FFFFFF",
  "composeExtensions": [
  {
  "botId": "fe8ad7e8-7679-40d7-9435-0ef4488d74ce",
  "canUpdateConfiguration": false,
  "commands": [

      ],
      "messageHandlers": [
      {
        "type": "link",
        "value": {
          "domains": [
          "*.foobar.net"
          ]
        }
      }
    ]
    }
  ],
  "permissions": [
  ],
  "devicePermissions": [
  ],
  "validDomains": [
   "*.foobar.net" 
  ]
}

This is a manifest that works: The only difference is that it contains commands.

{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.5/MicrosoftTeams.schema.json",
  "manifestVersion": "1.5",
  "version": "1.1",
  "id": "fe8ad7e8-7679-40d7-9435-0ef4488d74ce",
  "packageName": "com.foobar.teams.1",
  "developer": {
    "name": "foobar",
    "websiteUrl": "https://www.foobar.com",
    "privacyUrl": "https://foobar.com/en/privacy-policy/",
    "termsOfUseUrl": "https://foobar.com/en/terms-and-conditions/"
  },
  "name": {
    "short": "foobar test",
    "full": "foobar test"
  },
  "description": {
    "short": "foobar test",
    "full": "foobar test."
  },
  "icons": {
    "outline": "foobar-outline.png", 
    "color": "foobar-color.png"
  },
  "accentColor": "#FFFFFF",
  "composeExtensions": [
  {
  "botId": "fe8ad7e8-7679-40d7-9435-0ef4488d74ce",
  "canUpdateConfiguration": false,
  "commands": [
       {
            "id": "shareMessage",
            "type": "action",
            "title": "Share Message",
            "description": "Test command to run action on message context (message sharing)",
            "initialRun": false,
            "fetchTask": false,
            "context": [
                "message"
            ],
            "parameters": [
                {
                    "name": "includeImage",
                    "title": "Include Image",
                    "description": "Include image in Hero Card",
                    "inputType": "toggle"
                }
            ]
        }
],
      "messageHandlers": [
      {
        "type": "link",
        "value": {
          "domains": [
          "*.foobar.net"
          ]
        }
      }
    ]
    }
  ],
  "permissions": [
  ],
  "devicePermissions": [
  ],
  "validDomains": [
   "*.foobar.net" 
  ]
}
1 Answers

Leslie, Thanks for bringing it to our notice, we have reproved this from our end, you can pass empty command array inside the manifest. It is working for us. could you please check the below code snippet. enter image description here

Related