0
votes

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://docs.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"
  }
}
1

1 Answers

1
votes

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 "?"