title | author | description | ms.author | ms.localizationpriority | ms.topic | ms.date |
---|---|---|---|---|---|---|
Teams Connect shared channels |
Rajeshwari-v |
Learn about Teams Connect shared channels to securely collaborate with internal and external users in a shared space without switching tenants. |
surbhigupta |
high |
conceptual |
11/02/2022 |
Microsoft Teams Connect shared channels allow members of a channel to collaborate with users across other teams and organizations. You can create and share a shared channel with:
- Members of another team within the same organization.
- Individuals within the same organization.
- Individuals and other teams of other organizations.
Note
- Tab apps in shared channels are available in Government Community Cloud (GCC), GCC-High, and Department of Defense (DOD) environments.
- SharePoint and the SharePoint pages apps aren't supported for shared channels in GCC, GCC-High, and DOD environments.
Teams Connect shared channels facilitate secure collaboration seamlessly. Allow external users outside of your organization to collaborate with internal users in Teams without changing their user context. Enhance user experience unlike using guest accounts, for example, the members must sign out of Teams and sign in again using a guest account. Teams applications extend the powerful collaboration space.
:::image type="content" source="~/assets/images/app-fundamentals/shared-channels-teams.png" alt-text="Diagram that shows Team B from organization A and Team C from organization B collaborating in a shared Channel as Team A.":::
SupportedChannelTypes is an optional property that enables your app in non-standard channels. If your app supports the team scope and the property is defined, Teams enables your app in each channel type accordingly. Private and shared channels are supported. For more information, see supportedChannelTypes.
"supportedChannelTypes": [
"sharedChannels",
"privateChannels"
]
Note
- If your app supports the team scope, it functions in standard channels, regardless of what values are defined in this property.
- Your app may need to account for the unique properties of each of these channel types in order to function properly.
When the content UX is loaded in a shared channel, use the data received from getContext
call for shared channel changes. getContext
call publishes two new properties, hostTeamGroupID
and hostTenantID
, which are used to retrieve channel membership using Microsoft Graph APIs. hostTeam
is the team that creates the shared channel.
For more information to enable your tab, see:
You can collaborate with external members outside of your organization using shared channels. App permissions in shared channels follow the host team's app roster and host tenant's app policy.
Note
The activity feed notification API doesn't support cross-tenant notifications for apps in a shared channel.
You can get direct shared channel membership by using the hostTeamGroupID
from getContext
and following these steps:
-
Get direct members with GET channel members API API.
GET /teams/{host-team-group-id}/channels/{channel-id}/members
-
Get each shared team with GET
sharedWithTeams
API.GET /teams/{host-team-group-id}/channels/{channel-id}/sharedWithTeams
-
Use GET members of each shared team (Team X) with GET
sharedWithTeams
API.GET /teams/{host-team-group-id}/channels/{channel-id}/sharedWithTeams/{teamX}/members
You can classify members as in-tenant or out-tenant by comparing tenantID
of the member or team with hostTeamTenantID
as follows:
-
Get the member you wish to compare.
GET /teams/{host-team-group-id}/channels/{channel-id}/members
-
Use
getContext
, compare thetenantID
of the member to thehostTenantID
property.
Apps must function cross-tenants in installation and usage. The following table lists the channel types and their corresponding group IDs:
Channel type | groupId | hostTeamGroupId |
---|---|---|
Regular | Team Microsoft Entra group ID | Team Microsoft Entra group ID |
Shared | Empty | Host Team Microsoft Entra group ID |