Group chat
Group chats allow conversations between three or more users. Depending on your plan, you can have thousands of people chatting at the same time.

Group chats are great for use cases such as:
- Team chats inside a company-wide collaboration tool
- Live video streaming events with real-time discussion
- A general lobby or reception room for an online event
If you’re building private messaging between users, see 1-on-1 chat.
A user in a group chat can either be a participant or a guest:
- Participant: A user who is a member of a conversation. Participants can read messages, send messages, and perform message actions. Among other things, participants can also be
@mentioned
and appear in the conversation’s participant list. - Guest: A user who isn't a member of a conversation, but instead has lightweight guest access to that conversation. Guests can read all messages, send messages, and perform message actions in a conversation. Among other things, guests can't be
@mentioned
and won't appear in conversation's participant list.
The following table gives a full overview of how participants differ from guests:
Feature | Participant | Guest |
---|---|---|
Basic plan limits (per conversation) | 100 Participants 100 Concurrent | Unlimited Guests 300 Concurrent |
Growth plan limits (per conversation) | 300 Participants 300 Concurrent | Unlimited Guests 1250 Concurrent |
Send and receive messages | ✓ | ✓ |
Send files, voice messages, location | ✓ | ✓ |
React with emojis | ✓ | ✓ |
See when people are typing | ✓ | ✓ |
Others see when they type | ✓ | |
Can be @mentioned | ✓ | Only after sending a message |
Unread messages tracked | ✓ | |
Desktop notifications | ✓ | ✓ |
Email/SMS notifications | ✓ | |
Appears in participant list | ✓ | |
Inbox UI | ✓ | |
Chatbox UI | ✓ | ✓ |
Popup UI | ✓ | ✓ |
Conversation appears in inbox | ✓ | |
Webhooks | ✓ | All except notification and message-read events |
To use some of the features in this table, you need to enable the them for a user's role.
Whether a user is a participant or a guest is specific to a group chat. A user can be a participant in one conversation, and guest in another conversation.
Participant and guest access are each great for different types of situations. For example:
Access type | Great for |
---|---|
Participants | Smaller, private group chats, such as:
|
Guests | Larger, open chat rooms, such as:
|
Combination of participants and guests | Larger chats where some but not all users need to be a listed, notifiable participant |
The maximum number of users of the participant and the guest type that you can have in a single group chat depends on your plan.
The total number of users in a group chat is calculated based on how many users have that group chat open at the same time.
The following table gives an overview of the user limits per single group chat on each plan:
Basic | Growth | Enterprise | |
---|---|---|---|
Participants per conversation | 100 | 300 | Custom (300+) |
Concurrent guests per conversation | 300 | 1250 | Custom (1250+) |
User limits on group chats apply per each single group chat. There is no limit on the number of group chats you can create.
Example: On the Growth plan, each individual group chat can have up to 300 users added as participants, and up to 1250 users simultaneously using the conversation as guests.
Users who attempt to join a conversation after it has reached the user limit receive a message that informs them that the chat is full and asks them to try again later.
In addition to being a participant or guest, users can have different access permissions that determine what they can do in a conversation.
Guests always have full read-write access to a conversation. Participants can have three different types of access permission:
Access type | Value | Description |
---|---|---|
Full read-write | ReadWrite | The participant can read and write messages in the conversation. |
Read-only | Read | The participant can read but not write messages in the conversation. |
No access | None | The participant can read historical messages up to the point at which they lost access, but can't read or write new messages belonging to the conversation. |

If a participant whose access to a conversation was removed at a later point gets their access back, then they'll be able to read the entire conversation history, including all the messages sent while they didn't have access.
If you're building with the classic React SDK or JavaScript SDK, check out the Control access permissions guide on how to update participants' access.