# Team Channel Configuration
Defines Microsoft Teams channels with tabs, moderation rules, and associated content.
Referenced by: Office365GroupCfg (via TeamChannels array).
# Overview
TeamChannelCfg defines a Microsoft Teams channel within a Microsoft 365 Group/Team, including channel tabs (pinned apps), description, and moderation settings.
Nested configurations:
TeamTabCfg (list)— channel tabs and pinned appsTeamChannelModerationCfg— moderation and posting rules
# Applied when
Teams channels are created when:
- The parent
Office365GroupCfgis provisioned and includes this channel in theTeamChannelsarray - SharePoint Online only — Teams channels are not supported on SharePoint 2016 or on-premises
- Applied after the Microsoft 365 Group/Team is created; channels are created as part of team setup
- All tabs specified in
TeamTabCfg (list)are pinned to the channel when it is created - Moderation rules specified in
TeamChannelModerationCfgare applied to control who can post and how messages are managed
# Core settings
# Name
Type: string | Default: — | Required: Yes
Channel name (visible in Teams). Leading and trailing whitespace is automatically trimmed.
# Description
Type: string | Default: — | Required: No
Channel description.
# Type
Type: enum | Default: Standard | Required: No
Channel type: Standard (public channel), Private (private channel). Default is Standard.
# Associated content
# SiteSet
Type: string | Default: — | Required: No
Only applied if defined and not empty. Name of SiteCfg to associate with the channel (creates a SharePoint site backing). When specified, the named site configuration is looked up; if not found, a warning is logged and the channel is created without a backing site.
# PageSet
Type: string | Default: — | Required: No
Only applied if defined and not empty. Name of PageCfg to display as the channel page. When specified, the named page configuration is looked up; if not found, a warning is logged and no custom page is created.
# Tabs and apps
# Tabs
Type: TeamTabCfg (list) | Default: — | Required: No
Array of tabs/apps to pin to the channel.
# Tab definition (within Tabs (list))
# AppId
Type: string | Default: — | Required: No
Takes precedence over App. Custom app ID for third-party or non-built-in apps. If provided, this ID is used regardless of the App setting. For Microsoft built-in apps, leave empty and use App instead.
# App
Type: enum | Default: — | Required: No
Only used if AppId is empty. Built-in Microsoft app type: Website, Planner, Stream, Forms, Word, Excel, PowerPoint, PDF, Wiki, DocumentLibrary, OneNote, PowerBI, SharePoint, SharepointPages, SharepointNews.
# DisplayName
Type: string | Default: — | Required: Yes
Tab display name (shown in Teams).
# Url
Type: string | Default: — | Required: No
Required for Website tab. Custom URL for Website tab or custom content. For app tabs (Planner, Stream, etc.), leave empty as the app determines its URL.
# ContentId
Type: string | Default: — | Required: No
Content ID for app-specific content identification (used by some apps to identify which item/resource the tab represents).
# Remove
Type: bool? | Default: — | Required: No
Remove this tab when updating. Set to true to remove a previously created tab without deleting it manually.
# Moderation settings
# ModerationSettings
Type: TeamChannelModerationCfg | Default: — | Required: No
Moderation rules for who can post.
# Moderation configuration (within ModerationSettings)
Note: Moderation settings are only applied to the channel if at least one setting is configured (not empty). If all settings are left empty, no moderation is enforced.
# allowNewMessageFromBots
Type: bool? | Default: — | Required: No
Only applied if set (not left empty). Allow bots to post messages to the channel. When true, bots can post; when false, bots are blocked. Leave empty to use Teams default.
# allowNewMessageFromConnectors
Type: bool? | Default: — | Required: No
Only applied if set (not left empty). Allow connectors and webhooks to post messages. When true, connectors can post; when false, connectors are blocked. Leave empty to use Teams default.
# replyRestriction
Type: enum? | Default: — | Required: No
Only applied if set (not left empty). Who can reply to messages. Valid values (case-sensitive):
everyone— all members can replyauthorAndModerators— only the message author and channel moderators can replyunknownFutureValue— reserved for future API values
# userNewMessageRestriction
Type: enum? | Default: — | Required: No
Only applied if set (not left empty). Who can post new messages. Valid values (case-sensitive):
everyone— all memberseveryoneExceptGuests— members excluding guest usersmoderators— only channel moderatorsunknownFutureValue— reserved for future API values
# Related
- Office 365 Group Configuration — parent team
- Planner Configuration — Planner tab content
- Page Configuration — custom pages in channels
- Site Configuration — SharePoint site backing the channel