---
source_url: https://www.pubnub.com/docs/chat/kotlin-chat-sdk/learn/chat-entities/channel-group
title: ChannelGroup entity
updated_at: 2026-05-29T11:08:23.251Z
---

> Documentation Index
> For a curated overview of PubNub documentation, see: https://www.pubnub.com/docs/llms.txt
> For the full list of all documentation pages, see: https://www.pubnub.com/docs/llms-full.txt


# ChannelGroup entity

`ChannelGroup` represents a collection of channels that can be subscribed to as a single unit. Subscribe to multiple channels with one call instead of managing individual subscriptions.

Publishing to a channel group is not supported - publish to each channel individually.

:::note Requires Stream Controller add-on
Enable the *Stream Controller* add-on for your key in the [Admin Portal](https://admin.pubnub.com/). Refer to the [support page](https://support.pubnub.com/hc/en-us/articles/360051974791-How-do-I-enable-add-on-features-for-my-keys-) for details.
:::

## Properties

The `ChannelGroup` interface has the following properties:

```kotlin
interface ChannelGroup {
    val id: String
    val chat: Chat

    ...
}
```

| Parameter | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| id | String | Optional |  | Unique identifier for the channel group. |
| chat | Chat | Optional |  | Reference to the main `Chat` object. |

## Methods

The `ChannelGroup` object exposes the following methods.

### Regular methods

* [addChannelIdentifiers()](https://www.pubnub.com/docs/chat/kotlin-chat-sdk/build/features/channels/channel-groups#add-channel-identifiers)
* [addChannels()](https://www.pubnub.com/docs/chat/kotlin-chat-sdk/build/features/channels/channel-groups#add-channels)
* [listChannels()](https://www.pubnub.com/docs/chat/kotlin-chat-sdk/build/features/channels/channel-groups#list-channels)
* [removeChannelIdentifiers()](https://www.pubnub.com/docs/chat/kotlin-chat-sdk/build/features/channels/channel-groups#remove-channel-identifiers)
* [removeChannels()](https://www.pubnub.com/docs/chat/kotlin-chat-sdk/build/features/channels/channel-groups#remove-channels)
* [whoIsPresent()](https://www.pubnub.com/docs/chat/kotlin-chat-sdk/build/features/channels/channel-groups#get-present-users)

### Event listeners

* [onMessageReceived()](https://www.pubnub.com/docs/chat/kotlin-chat-sdk/build/features/channels/channel-groups#watch-channel-group)
* [onPresenceChanged()](https://www.pubnub.com/docs/chat/kotlin-chat-sdk/build/features/channels/channel-groups#stream-presence)

## Use case

`ChannelGroup` methods enable:

* Subscribing to messages from multiple channels at once
* Monitoring [presence](https://www.pubnub.com/docs/chat/kotlin-chat-sdk/build/features/users/presence) across all channels in the group
* Dynamically adding or removing channels as users join or leave conversations
* Simplified message handling for multi-chat apps