Select to view content in your preferred language

Adding ArcGIS for Teams tab Programmatically with URL Parameters

382
2
04-26-2024 11:45 AM
EendrulatGH
New Contributor II

We're using PowerAutomate to create new teams in Microsoft Teams and automatically adding channel tabs, including tabs containing ArcGIS Dashboards. We've added ArcGIS content in the past, adding the tabs as 'Websites', however, the new teams appears to block the oAuth process - forcing the tab to be opened in a browser rather than the Teams client. 

We are adding an experience builder app that contains URL parameters to filter the content of the app based on the ID of the team.

The PowerAutomate flow uses a HTTP Post connector to push the manifest for the tab.  When we set the 'contentURL' in the manifest to use the full URL for the experience builder app, including the query parameters, the tab is added with the app. It appears to function correctly when opening teams in the browser (the dashboard opens with the URL parameters in place) - however using the desktop teams client the app forces the tab to open in the browser.

When we set the content URL to

 

https://arcgis4teams.arcgis.com/teamView?culture=en-us&context=%7B%22subEntityId%22:%22itemId---f7d47c4ec9024ecd86fc0a6c152036dd___itemSubTypes---Web%20Experience___queryParamsText---___category---myContent___isAGOLPublicItem---false%22%7D

 


- then the tab works in desktop/browser teams but the URL parameters are not applied (because they aren't included anywhere in the manifest).

Is there any way to add URL parameters officially to the ArcGIS for Teams tabs manifest?  There is a 'queryParamsText' parameter, but i'm not sure what is accepted for that parameter.

Thanks in advance!!

 

Example of manifest with content url that includes full app URL with query parameters:

 

{
  "displayName": "Test ArcGIS App",
  "teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/ba4eda44-cd55-4e15-855c-0debafb0490b",
  "teamsAppId": "ba4eda44-cd55-4e15-855c-0debafb0490b",
  "configuration": {
    "entityId": "itemId---[ITEM ID HERE]___itemSubTypes---Web Experience___queryParamsText---dohmh___category---myOrg___isAGOLPublicItem---false",
    "contentUrl": "https://experience.arcgis.com/experience/[ITEM ID HERE]?data_id[list of query parameters included here for the exp builder app]",
    "websiteUrl": "https://experience.arcgis.com/experience/[ITEM ID HERE]?data_filter=IncidentFeaturesMap-IncidentFeatures%3Ateam_id%3D%27ebb1823b-623d-4c7e-9950-6447a3ead778%27%2CdataSource_3-0%3Ateam_id%3D%27ebb1823b-623d-4c7e-9950-6447a3ead778%27%2CdataSource_3-1%3Atem_id_subobj%3D%27ebb1823b-623d-4c7e-9950-6447a3ead778%27%2CdataSource_9-ERGReports%3Ateam_id%3D%27ebb1823b-623d-4c7e-9950-6447a3ead778%27%2CdataSource_8-ReportingPeriods%3Ateam_id%3D%27ebb1823b-623d-4c7e-9950-6447a3ead778%27%2CIncidentPolyMap-IncidentPolys%3Ateam_id_polys%3D%27ebb1823b-623d-4c7e-9950-6447a3ead778%27#data_s=id%3AIncidentFeaturesMap-IncidentFeatures%3A156",
    "removeUrl": "",
    "dateAdded": "2024-04-26T14:24:10.392Z"
  },
  "teamsApp": {
    "id": "ba4eda44-cd55-4e15-855c-0debafb0490b",
    "externalId": null,
    "displayName": "ArcGIS",
    "distributionMethod": "store"
  }
}

 

 

 

Example of manifest with standard contentUrl for ArcGIS for teams tabs, without url parameters:

 

{
  "displayName": "Test ArcGIS App",
  "teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/ba4eda44-cd55-4e15-855c-0debafb0490b",
  "teamsAppId": "ba4eda44-cd55-4e15-855c-0debafb0490b",
  "configuration": {
    "entityId": "itemId---[ITEM ID HERE]___itemSubTypes---Web Experience___queryParamsText---dohmh___category---myOrg___isAGOLPublicItem---false",
    "contentUrl": "https://arcgis4teams.arcgis.com/teamView?culture=en-us&context=%7B%22subEntityId%22:%22itemId---[ITEM ID HERE]___itemSubTypes---Web%20Experience___queryParamsText---___category---myContent___isAGOLPublicItem---false%22%7D",
    "websiteUrl": "https://experience.arcgis.com/experience/[ITEM ID HERE]?data_filter=[LIST OF DATA FILTERS FOR EXP BUILDER APP],
    "removeUrl": "",
    "dateAdded": "2024-04-26T14:24:10.392Z"
  },
  "teamsApp": {
    "id": "ba4eda44-cd55-4e15-855c-0debafb0490b",
    "externalId": null,
    "displayName": "ArcGIS",
    "distributionMethod": "store"
  }
}

 

 

 

 

 

2 Replies
ChuckLiu
Esri Contributor

Hi EendrulatGH,

Thank you very much for your feedback.
Currently, we are not supporting additional querySearchParams for experience builder. 
As you can imagine, all our apps (dashboard, experience build, storymaps) have different app specific params to help users to get to the specific spot or provide additional informations to assist the app in rendering. In order to add additional params support for apps, it would be an app by app update.
At the same time, we will need to be comprehensive and cautious about the potential safety issues by enabling this feature. 
We will work with experience builder team to gather the params that they are supporting to build this out as an enhancement. We will keep you posted.
Thank you very much for using ArcGIS for Teams!

0 Kudos
EendrulatGH
New Contributor II

Chuck - thanks for getting back to me.

I understand this is not currently supported, are there any workarounds you can suggest for the time being?

 

Thanks!

0 Kudos