CometChatSettings object controls everything the Next.js UI Kit Builder renders—messaging, AI helpers, calls, layout, theming, and agent tools.
For developers customizing their chat UI: Edit
CometChatSettings.ts to
enable/disable features like messaging, calls, AI copilot, and theming. See
Integration Guide for setup.Top-level structure
1. Chat Features (chatFeatures)
1.1 Core Messaging Experience (coreMessagingExperience)
Essential messaging features: typing indicators, media sharing, message actions, and presence.
| Setting | Type | What It Does |
|---|---|---|
Typing indicator (typingIndicator) | boolean | Shows “typing…” indicator when someone is composing a message |
Thread conversation & replies (threadConversationAndReplies) | boolean | Enables threaded replies to specific messages, creating nested conversation threads |
Photos sharing (photosSharing) | boolean | Allows users to share images from device or camera |
Video sharing (videoSharing) | boolean | Allows users to share video files |
Audio sharing (audioSharing) | boolean | Allows users to share audio files (mp3, wav, etc.) |
File sharing (fileSharing) | boolean | Allows users to share documents (PDF, DOC, etc.) |
Edit messages (editMessage) | boolean | Lets users modify their sent messages; edited messages show “(edited)” label |
Delete messages (deleteMessage) | boolean | Lets users remove their sent messages |
Message delivery and read receipts (messageDeliveryAndReadReceipts) | boolean | Shows delivery (✓) and read (✓✓) status indicators on messages |
User & friends presence (userAndFriendsPresence) | boolean | Shows online/offline status dot next to user avatars |
Conversation and Advanced Search (conversationAndAdvancedSearch) | boolean | Enables search across messages, users, and conversations |
Quoted Replies (quotedReplies) | boolean | Lets users quote a message when replying, showing the original above their response |
Mark as Unread (markAsUnread) | boolean | Lets users mark a conversation as unread to revisit later |
1.2 Deeper User Engagement (deeperUserEngagement)
Interactive features: mentions, reactions, polls, voice notes, and collaborative tools.
| Setting | Type | What It Does |
|---|---|---|
Mentions (mentions) | boolean | Lets users @mention specific people in a message to notify them |
Mention All (mentionAll) | boolean | Lets users type @all to notify every member in a group chat |
Reactions (reactions) | boolean | Lets users add emoji reactions (👍 ❤️ 😂 etc.) to messages |
Message Translation (messageTranslation) | boolean | Translates messages to user’s preferred language. Requires Dashboard setup |
Polls (polls) | boolean | Lets users create polls with multiple options for group voting. Requires Dashboard setup |
Collaborative Whiteboard (collaborativeWhiteboard) | boolean | Opens a shared whiteboard for real-time drawing and collaboration. Requires Dashboard setup |
Collaborative Document (collaborativeDocument) | boolean | Creates shared documents for real-time collaborative editing. Requires Dashboard setup |
Voice Notes (voiceNotes) | boolean | Lets users record and send voice messages |
Emojis (emojis) | boolean | Shows emoji picker in composer for browsing and inserting emojis |
Stickers (stickers) | boolean | Lets users send sticker images from available packs. Requires Dashboard setup |
User Info (userInfo) | boolean | Lets users tap on another user’s avatar to view their profile |
Group Info (groupInfo) | boolean | Lets users tap on group header to view group details and member list |
Report Message (reportMessage) | boolean | Lets users flag inappropriate messages for review. Requires moderation setup |
1.3 AI User Copilot (aiUserCopilot)
AI-powered features to help users start and navigate conversations.
| Setting | Type | What It Does |
|---|---|---|
Conversation Starter (conversationStarter) | boolean | Shows AI-suggested opening messages when starting a new chat. Requires OpenAI API key |
Conversation Summary (conversationSummary) | boolean | Generates an AI-powered summary of the conversation. Requires OpenAI API key |
Smart Reply (smartReply) | boolean | Shows AI-suggested quick reply options based on conversation context. Requires OpenAI API key |
1.4 User Management (userManagement)
| Setting | Type | What It Does |
|---|---|---|
Friends Only (friendsOnly) | boolean | Restricts chat to friends list only; Users tab shows only friends |
1.5 Group Management (groupManagement)
Control what users can do with groups.
| Setting | Type | What It Does |
|---|---|---|
Create Group (createGroup) | boolean | Lets users create new public or private groups |
Add Members to Groups (addMembersToGroups) | boolean | Lets group admins/owners invite users to join the group |
Join/Leave Group (joinLeaveGroup) | boolean | Lets users join public groups and leave groups they’re in |
Delete Group (deleteGroup) | boolean | Lets group owners permanently delete a group and all its messages |
View Group Members (viewGroupMembers) | boolean | Shows member list in group info |
1.6 Moderation (moderatorControls)
Admin tools for managing group members and content.
| Setting | Type | What It Does |
|---|---|---|
Blocked message feedback (moderation) | boolean | Enables blocked message feedback for blocked messages as per configured moderation rules. Requires Dashboard setup |
Report Message (reportMessage) | boolean | Lets users flag messages for moderator review in Dashboard |
Kick Users (kickUsers) | boolean | Lets admins/moderators remove a user from a group (they can rejoin) |
Ban Users (banUsers) | boolean | Lets admins/moderators permanently remove a user and prevent rejoining |
Promote/Demote Members (promoteDemoteMembers) | boolean | Lets group owners change member roles (member, moderator, admin) |
1.7 Private Messaging Within Groups (privateMessagingWithinGroups)
Allow direct messages between group members.
| Setting | Type | What It Does |
|---|---|---|
Send Private Message to Group Members (sendPrivateMessageToGroupMembers) | boolean | Lets users start a 1:1 chat with a group member from their profile |
1.8 In-App Sounds (inAppSounds)
Control sound notifications for incoming and outgoing messages.
| Setting | Type | What It Does |
|---|---|---|
Incoming Message Sound (incomingMessageSound) | boolean | Plays a sound when a new message is received |
Outgoing Message Sound (outgoingMessageSound) | boolean | Plays a sound when a message is sent |
2. Call Features (callFeatures)
2.1 Voice and Video Calling (voiceAndVideoCalling)
Enable voice and video calling capabilities.
| Setting | Type | What It Does |
|---|---|---|
1:1 Voice Calling (oneOnOneVoiceCalling) | boolean | Shows phone icon in 1:1 chat header for starting voice calls |
1:1 Video Calling (oneOnOneVideoCalling) | boolean | Shows video camera icon in 1:1 chat header for starting video calls |
Group Video Conference (groupVideoConference) | boolean | Shows video camera icon in group chat header for starting group video calls |
Group Voice Conference (groupVoiceConference) | boolean | Shows phone icon in group chat header for starting group voice calls |
3. Layout (layout)
Control the overall UI structure and navigation.
| Setting | Type | What It Does |
|---|---|---|
With Sidebar (withSideBar) | boolean | Shows navigation sidebar with tabs (Chats, Calls, Users, Groups) on the left side |
Tabs (tabs) | string[] | Array of tabs to show: 'chats', 'calls', 'users', 'groups' |
Chat Type (chatType) | string | Default conversation type on load: 'user' for 1:1 chats, 'group' for group chats |
4. Style (style)
Customize colors, fonts, and theme appearance.
4.1 Theme
| Setting | Type | What It Does |
|---|---|---|
Theme (theme) | string | Controls light/dark mode: 'light', 'dark', or 'system' (matches device preference) |
4.2 Colors
| Setting | Type | What It Does |
|---|---|---|
Brand Color (brandColor) | string | Primary accent color (hex) for buttons, links, active states. Example: "#6852D6" |
Primary Text Light (primaryTextLight) | string | Main text color in light mode (hex). Example: "#2B2B2B" |
Primary Text Dark (primaryTextDark) | string | Main text color in dark mode (hex). Example: "#FFFFFF" |
Secondary Text Light (secondaryTextLight) | string | Secondary text color in light mode (hex) for timestamps, subtitles. Example: "#727272" |
Secondary Text Dark (secondaryTextDark) | string | Secondary text color in dark mode (hex) for timestamps, subtitles. Example: "#989898" |
4.3 Typography
| Setting | Type | What It Does |
|---|---|---|
Font (font) | string | Font family: 'roboto', 'arial', 'inter', or 'times new roman' |
Size (size) | string | Text size and spacing: 'default', 'compact', or 'comfortable' |
Settings Overview
Below is the complete settings structure with default values. Update these inCometChatSettings.ts to customize your chat experience.