Custom Teams App Tab not discoverable/visible in Shared Channels

Yashasvi Sagar 20 Reputation points
2025-09-08T04:48:17.4866667+00:00

We are developing a Microsoft Teams app that adds a tab inside channels for handling attachments. We are facing an issue specifically with Shared Channels:

  1. Automated (Graph API)
    • We use Graph API:
           curl --location 'https://graph.microsoft.com/v1.0/teams/6402550d-cfe5-4459-82e6-a2f0739ef115/channels/19:e9801957f62149edb0425f85cd9698f4@thread.tacv2/tabs' \
           --header 'Content-Type: application/json' \
           --header 'Authorization: Bearer <Token>' \
           --data-raw '{
               "displayName": "Seclore-17",
               "******@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/f2172466-dc19-4134-a205-9c74315a9d97",
               "configuration": {
                   "contentUrl": "https://devtest.stringcloud.net/secloreo365service/seclore/msteams/ui/secloreTab/index.html?name={loginHint}&tenant={tid}&theme={theme}&secloreO365ServiceUrl=https://devtest.stringcloud.net/secloreo365service/",
                   "removeUrl": "https://devtest.stringcloud.net/secloreo365service/seclore/msteams/ui/secloreTab/remove.html?theme={theme}"
               }
           }'
      
    • We get a 201 Created response.
      User's image
    The tab is created successfully in Standard and Private channels. ❌ But in Shared Channels, the tab does not show up in Teams UI.
  2. Manual (Teams client “+” button → Add tab)
  • Our app is discoverable and can be added in Standard and Private channels.
    User's image
    • ❌ In Shared Channels, our app does not appear in the app list, so we cannot add it manually either.
      User's image

Manifest.json

{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.17/MicrosoftTeams.schema.json",
  "manifestVersion": "1.17",
  "id": "5e2d3260-19fe-11eb-9aff-5fb572e94069",
  "version": "3.7.2",
  "developer": {
    "name": "Seclore Technology Pvt. Ltd.",
    "websiteUrl": "https://www.seclore.com",
    "privacyUrl": "https://devjava.stringcloud.net/ps_app_team/CompliancePolicies.do",
    "termsOfUseUrl": "https://devjava.stringcloud.net/ps_app_team/CompliancePolicies.do"
  },
  "name": {
    "short": "Seclore-17",
    "full": "Seclore for Microsoft 365 17"
  },
  "description": {
    "short": "Seamlessly access Seclore-protected files directly from Microsoft Teams.",
    "full": "Seclore for Microsoft 365 ensures seamless access of Seclore-protected files directly from Microsoft Teams. It lets you open and edit Seclore-protected files in native applications or online. Moreover, granular security control is enforced on the Seclore-protected files as per the security policy. \r\n\r\nWhat Seclore does\u2026\r\n\r\nSeclore empowers you with unrivalled data-centric security for files shared with anyone, anywhere, anytime. Only authorized users get access to your confidential information even when it is shared with partners and service providers outside your enterprise network. Protecting enterprise information with Seclore also significantly reduces the risk of data leakage from files shared via cloud-based services or accessed on mobile devices. \r\n\r\nSeclore Rights Management provides information controls across 4 dimensions: \r\n\r\n\u2022 WHO can access: users or groups that can access your information\r\n\u2022 WHAT they can access: viewing, editing, copying, printing, screen grabbing, etc. \r\n\u2022 WHEN they can access: date and time when the information can be accessed\r\n\u2022 WHERE they can access: devices and network locations where information can be accessed\r\n\r\nLearn more about Seclore Rights Management at: www.seclore.com"
  },
  "icons": {
    "outline": "icon-outline.png",
    "color": "icon-color.png"
  },
  "accentColor": "#000000",
  "configurableTabs": [
  {
    "configurationUrl": "https://devtest.stringcloud.net/secloreo365service/seclore/msteams/ui/secloreTab/config.html?name={loginHint}&tenant={tid}&theme={theme}&secloreO365ServiceUrl=https%3A%2F%2Fdevtest.stringcloud.net%2Fsecloreo365service",
    "canUpdateConfiguration": false,
    "scopes": [
      "team"
    ],
    "context": [
      "channelTab"
    ],
    "supportedPlatform": [
      "desktop",
      "mobile",
      "teamsMeetingDevices"
    ]
  }
  ],
  "staticTabs": [],
  "bots": [],
  "connectors": [],
  "composeExtensions": [],
  "permissions": [
    "identity"
  ],
  "validDomains": [
    "devtest.stringcloud.net",
    "*.sharepoint.com",
    "*.onmicrosoft.com",
    "graph.microsoft.com"
  ],
  "showLoadingIndicator": true,
  "isFullScreen": true,
  "supportedChannelTypes": [
    "sharedChannels",
    "privateChannels"
  ],
  "webApplicationInfo": {
    "id": "3e186d4f-8b24-402a-a529-5ee7a0f49c42",
    "resource": "api://devtest.stringcloud.net/3e186d4f-8b24-402a-a529-5ee7a0f49c42"
  }
}

We explicitly added "sharedChannels" under supportedChannelTypes as per Teams manifest v1.17 schema.


API Permissions Granted (Azure AD App)

In Azure → API permissions, the app has:

Channel.ReadBasic.All (Application)

ChannelMessage.Read.All (Application)

ChannelSettings.ReadWrite.All (Application)

Team.ReadBasic.All (Application)

Group.Read.All (Application)

TeamsAppInstallation.ReadWrite.All (Application)

TeamsTab.ReadWriteForTeam (Application)

Delegated permissions like email, Files.ReadWrite.All, offline_access, openid, profile, User.Read

✅ Admin consent has been granted for all required application permissions.


Questions

  • Why is the app not discoverable in shared channels, even though the manifest includes "sharedChannels"?
  • Is there an additional requirement (permissions, policies, rollout timing) to enable custom apps in shared channels?
  • Does Graph API support adding configurable tab apps to shared channels the same way it works for standard/private channels?
Microsoft Teams | Development
{count} votes

Answer accepted by question author
  1. Kudos-Ng 8,730 Reputation points Microsoft External Staff Moderator
    2025-09-08T07:33:06.6533333+00:00

    Hi Yashasvi Sagar

    Thank you for posting your question in the Microsoft Q&A forum.  

    Correct me if I’m wrong, but it seems you're trying to test a custom tab app on the Teams client across different channel types. You've pre-installed the app and used the Graph API endpoint POST /teams/{team-id}/channels/{channel-id}/tabs to add the tab. Everything works fine for Standard and Private channels, but the tab does not appear in Shared Channels, even though the API returns a 201 Created response. 

    Based on your description and the information provided, I’ve looked into this and would like to share a few insights: 

    1. You’ve correctly followed the guidance from this Microsoft article: Teams Connect Shared Channels - Teams | Microsoft Learn 
      This confirms that there are no additional requirements (permissions, policies, rollout timing) to enable custom apps in shared channels beyond what you've already implemented. 
    2. Regarding your question: Does Graph API support adding configurable tab apps to shared channels the same way it works for standard/private channels? 
      Yes, the Graph API endpoint you’re using does support shared channels, as long as the correct channel-id is specified. Your implementation appears to be correct. 
    3. For the issue: Why is the app not discoverable in shared channels, even though the manifest includes "sharedChannels"? 
      You've tried both the API and manual addition via the Teams client, but the app doesn’t show up. Based on this GitHub issue: https://github.com/OfficeDev/microsoft-teams-library-js/issues/2891 

      Note: Microsoft is providing this information as a convenience to you. The sites are not controlled by Microsoft. Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there. Please make sure that you completely understand the risk before retrieving any suggestions from the above link 

      This seems to be a recently reported issue affecting multiple users. I recommend reviewing and joining the discussion there to gain more insights from other affected developers. 

    From my experience, this could be a known issue with shared channels. However, as a forum moderator, I operate within a limited environment and resource constraints, so I’m unable to reproduce this issue directly. My support is based on publicly available documentation and community-reported insights. For deeper investigation and accurate information, I highly recommend raising a support ticket via the Microsoft Admin Portal, where Microsoft support agents can access internal tools and environments to assist you more effectively. 

    Hope this helps clarify the situation and gives you a path forward.


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".      

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread

    1 person found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.