July 23, 2026 Stories worth reading. Perspectives worth sharing.
Channel AllMembers API: Precision Auditing for Teams Membership in Entra ID
Entra ID

Channel AllMembers API: Precision Auditing for Teams Membership in Entra ID

Mo Wasay July 22, 2026 5 min read
Channel AllMembers API: Precision Auditing for Teams Membership in Entra ID

WHAT JUST CHANGED

Microsoft Graph beta added two key features to the Teams channel resource:

  • list allMembers method: Enables admins to enumerate every member of a Teams channel (including guests, owners, and shared channel participants) in a single query. API docs
  • allMembers navigation property: A new property exposed on the channel resource, allowing direct traversal to all channel members via Graph.

Rollout status: Public Preview (as of June 2024). Available to all Microsoft 365 tenants with Teams enabled and Microsoft Graph API access. Global admins, Teams admins, and delegated Graph API permissions (Channel.Read.All) can use it.

WHO’S AFFECTED

  • Any tenant with active Microsoft Teams usage (all SKUs, including EDU, SMB, Enterprise, GCC).
  • Admins managing guest access, channel lifecycle, or compliance in Teams.
  • Developers building automation around Teams membership.
  • Entra ID admins who need deep channel-level auditing for external collaboration.

WHY THIS DIRECTION IS BETTER

  • Full Channel Membership Visibility: Prior to this, Graph only exposed team-level membership. Channels (especially shared channels) could have unique membership, often including external guests, that was invisible to previous APIs.
  • Accurate Guest and External User Tracking: See precisely which guests and external users have access to specific channels, not just the team as a whole.
  • Operational Efficiency: One API call returns all channel members—no need to iterate through multiple endpoints or cross-reference team membership.
  • Stronger Compliance Posture: Enables complete audits for regulatory requirements, especially in environments with guest or B2B collaboration.
  • Competitive advantage: Google Workspace, Slack, and Zoom lack granular channel-level reporting for guest access. Microsoft now leads in operational transparency for Teams.

Adjacent Entra ID Changes Impacting Teams Workflows

  • Entra External Identities Policy Enforcement: Recent changes to B2B/B2C guest policies (e.g., enforcement of Conditional Access and MFA for guests) apply directly to channel membership. Guests may be blocked or require step-up authentication to access channels.
  • Microsoft Graph Teams API Throttling: May 2024 updates increased per-app throttling limits, but also enforced stricter error returns for bulk membership reads. Admins must code for robust pagination and error handling.
  • Passwordless Authentication for Guests: Entra now supports FIDO2 and Microsoft Authenticator for guest accounts (if tenant allows). Channel-level audits help identify which guests are not compliant.
  • Entra Licensing Shifts: Teams guest access is now governed by new Entra External ID licensing tiers, with advanced reporting only available for Premium SKUs. Audit channel member licensing to avoid unexpected access loss.

WHAT’S NEXT ON THE ROADMAP

  • GA of Channel allMembers API: Expected H2 2024, with expanded support for Graph v1.0 and PowerShell cmdlets.
  • Automated Guest Expiry Policies: Microsoft has announced (Build 2024) intent to enable expiry and lifecycle policies at the channel level, not just at the team or group level.
  • Entra Admin Center Channel View: Soon, Entra admin center will expose direct channel membership views and guest tracking dashboards (currently in private preview).
  • Conditional Access Policy Granularity: Roadmap includes targeting CA policies to specific channels, not just teams or groups.

WHAT TO DO: Step-by-Step Admin Actions

  1. Review Channel Membership: Identify Teams channels with guests or shared channel participants using Microsoft Graph.
  2. Audit Guest Compliance: Cross-reference channel members with Entra ID guest policies, MFA status, and external ID licensing.
  3. Update Lifecycle Policies: Ensure channel membership aligns with your organizational external collaboration standards.
  4. Prepare for GA: Rework any custom scripts or workflows that assume only team-level membership visibility—channel-level membership is now key.

CHECK IT YOURSELF: PowerShell Audit for Channel Membership

Use the Microsoft.Graph PowerShell module (v2.0+) for auditing. This script lists all members of all channels in a specified Team, with error handling and pagination. Dry-run only—no modifications.

# Requires Microsoft.Graph v2.0+ and Channel.Read.All delegated permissions
param(
  [Parameter(Mandatory=$true)]
  [string]$TeamId
)
Import-Module Microsoft.Graph.Teams
Try {
  $channels = Get-MgTeamChannel -TeamId $TeamId -ErrorAction Stop
} Catch {
  Write-Error "Failed to retrieve channels for TeamId $TeamId: $_"
  return
}
foreach ($channel in $channels) {
  Write-Output "Channel: $($channel.DisplayName) ($($channel.Id))"
  $uri = "https://graph.microsoft.com/beta/teams/$TeamId/channels/$($channel.Id)/allMembers"
  $headers = @{ Authorization = "Bearer $(Get-MgGraphAccessToken)" }
  $allMembers = @()
  $nextLink = $uri
  do {
    Try {
      $response = Invoke-RestMethod -Uri $nextLink -Headers $headers -Method Get
      $allMembers += $response.value
      $nextLink = $response.'@odata.nextLink'
    } Catch {
      Write-Error "Error fetching allMembers for channel $($channel.Id): $_"
      break
    }
  } while ($nextLink)
  foreach ($member in $allMembers) {
    Write-Output "  - $($member.displayName) [$($member.userId)] (Role: $($member.roles), Guest: $($member.userType))"
  }
}

PORTAL PATH

In the Entra admin center:

  • Teams Admin Center: Teams > Manage Teams > Channels > Members — Channel-level membership view (coming soon for allMembers property).
  • Entra Admin Center: External Identities > Guest access > Channel membership — Not yet available, but roadmap confirms future release.
  • Today, use Graph Explorer or PowerShell for channel membership auditing.

BOTTOM LINE: Prioritised Recommendation

  • Prioritise channel-level guest auditing using new Graph API endpoints.
  • Update external collaboration policies to leverage channel membership visibility.
  • Prepare for automated channel-level guest expiry and CA policy targeting.
  • Rework reporting and compliance scripts to include channel-level granularity.
  • Stay ahead—channel membership is now a first-class identity concept in Teams and Entra ID.