Skip to main content
The CometChatSettings object controls everything the React Router Builder renders—messaging, AI helpers, calls, layout and theming. Use this page as a definitive map of every toggle with recommended defaults.

Top-level structure

export interface CometChatSettings {
  chatFeatures: { ... }
  callFeatures: { ... }
  layout: { ... }
  style: { ... } 
}

1. Chat Features (chatFeatures)

1.1 Core Messaging Experience (coreMessagingExperience)

Controls the essentials of chat.
PropertyTypeDescription
typingIndicatorbooleanShow “user is typing” state.
threadConversationAndRepliesbooleanEnable threaded conversations and replies.
photosSharingbooleanAllow sharing images.
videoSharingbooleanAllow sharing videos.
audioSharingbooleanAllow sharing audio clips.
fileSharingbooleanAllow generic file uploads.
editMessagebooleanLet users edit their sent messages.
deleteMessagebooleanLet users delete their sent messages.
messageDeliveryAndReadReceiptsbooleanShow delivery/read receipts.
userAndFriendsPresencebooleanDisplay online/offline presence.
conversationAndAdvancedSearchboolean (optional)Enable conversation + advanced search.
moderationboolean (optional)Turn on content moderation tools.
quotedRepliesboolean (optional)Allow quoting messages.
markAsUnreadboolean (optional)Let users mark messages as unread.

1.2 Deeper User Engagement (deeperUserEngagement)

Richer ways to participate.
PropertyTypeDescription
mentionsbooleanEnable @mentions.
mentionAllboolean (optional)Allow @all to notify everyone in the group.
reactionsbooleanEmoji/label reactions on messages.
messageTranslationbooleanInline message translation.
pollsbooleanCreate and vote on polls.
collaborativeWhiteboardbooleanReal-time whiteboard.
collaborativeDocumentbooleanCollaborative docs.
voiceNotesbooleanVoice-note capture and send.
emojisbooleanEmoji keyboard support.
stickersbooleanSticker sending.
userInfobooleanView user profile info.
groupInfobooleanView group details.
reportMessageboolean (optional)Allow reporting a message.

1.3 AI User Copilot (aiUserCopilot)

AI assistance inside chat.
PropertyTypeDescription
conversationStarterbooleanSuggest AI-generated conversation openers.
conversationSummarybooleanSummaries of chat threads.
smartReplybooleanQuick replies suggested by AI.

1.4 User Management (userManagement) — Optional

PropertyTypeDescription
friendsOnlyboolean (optional)Restrict chat to friends-only mode.

1.5 Group Management (groupManagement)

PropertyTypeDescription
createGroupbooleanAllow users to create groups.
addMembersToGroupsbooleanAdd members to groups.
joinLeaveGroupbooleanJoin or leave groups.
deleteGroupbooleanAllow admins to delete groups.
viewGroupMembersbooleanShow group member list.

1.6 Moderator Controls (moderatorControls)

PropertyTypeDescription
kickUsersbooleanKick users from groups.
banUsersbooleanBan users from groups.
promoteDemoteMembersbooleanChange a member’s scope.
reportMessageboolean (optional)Enable message reporting.

1.7 Private Messaging Within Groups (privateMessagingWithinGroups)

PropertyTypeDescription
sendPrivateMessageToGroupMembersbooleanDM group members from the group context.

2. Call Features (callFeatures)

2.1 Voice and Video Calling (voiceAndVideoCalling)

PropertyTypeDescription
oneOnOneVoiceCallingbooleanOne-to-one voice calls.
oneOnOneVideoCallingbooleanOne-to-one video calls.
groupVideoConferencebooleanGroup video calls.
groupVoiceConferencebooleanGroup voice-only calls.

3. Layout (layout)

PropertyTypeDescription
withSideBarbooleanShow/hide the sidebar.
tabsstring[]Tabs to expose, e.g. ['chats','calls','users','groups'].
chatTypestringDefault chat type: 'user' or 'group'.

4. Style (style)

4.1 Theme

PropertyTypeDescription
themestring'light', 'dark', or 'system'.

4.2 Color

PropertyTypeDescription
brandColorstringPrimary UI color (hex).
primaryTextLightstringText color in light mode.
primaryTextDarkstringText color in dark mode.
secondaryTextLightstringSecondary text color in light mode.
secondaryTextDarkstringSecondary text color in dark mode.

4.3 Typography

PropertyTypeDescription
fontstringFont family (e.g., 'roboto').
sizestringFont size preset (e.g., 'default').

Example configuration

{
  "chatFeatures": {
    "coreMessagingExperience": {
      "typingIndicator": true,
      "threadConversationAndReplies": true,
      "photosSharing": true,
      "videoSharing": true,
      "audioSharing": true,
      "fileSharing": true,
      "editMessage": true,
      "deleteMessage": true,
      "messageDeliveryAndReadReceipts": true,
      "userAndFriendsPresence": true,
      "quotedReplies": true,
      "markAsUnread": true
    },
    "deeperUserEngagement": {
      "mentions": true,
      "mentionAll": false,
      "reactions": true,
      "messageTranslation": true,
      "polls": true,
      "collaborativeWhiteboard": false,
      "collaborativeDocument": false,
      "voiceNotes": true,
      "emojis": true,
      "stickers": true,
      "userInfo": true,
      "groupInfo": true
    },
    "aiUserCopilot": {
      "conversationStarter": true,
      "conversationSummary": true,
      "smartReply": true
    },
    "userManagement": { "friendsOnly": false },
    "groupManagement": {
      "createGroup": true,
      "addMembersToGroups": true,
      "joinLeaveGroup": true,
      "deleteGroup": true,
      "viewGroupMembers": true
    },
    "moderatorControls": {
      "kickUsers": true,
      "banUsers": true,
      "promoteDemoteMembers": true
    },
    "privateMessagingWithinGroups": {
      "sendPrivateMessageToGroupMembers": true
    }
  },
  "callFeatures": {
    "voiceAndVideoCalling": {
      "oneOnOneVoiceCalling": true,
      "oneOnOneVideoCalling": true,
      "groupVideoConference": true,
      "groupVoiceConference": true
    }
  },
  "layout": {
    "withSideBar": true,
    "tabs": ["chats", "calls", "users", "groups"],
    "chatType": "user"
  },
  "style": {
    "theme": "system",
    "color": {
      "brandColor": "#6852D6",
      "primaryTextLight": "#2B2B2B",
      "primaryTextDark": "#FFFFFF",
      "secondaryTextLight": "#727272",
      "secondaryTextDark": "#989898"
    },
    "typography": {
      "font": "roboto",
      "size": "default"
    }
  },
  "noCode": {
    "docked": true,
    "styles": {
      "buttonBackGround": "#6852D6",
      "buttonShape": "rounded",
      "openIcon": "https://example.com/open.svg",
      "closeIcon": "https://example.com/close.svg",
      "customJs": "console.log('hello from no-code')",
      "customCss": ".cc-chat { border-radius: 16px; }",
      "dockedAlignment": "right"
    }
  },
  "agent": {
    "chatHistory": true,
    "newChat": true,
    "agentIcon": "https://example.com/agent.png",
    "showAgentIcon": true
  }
}

Tips

  • Enable conversationAndAdvancedSearch when you need global search across conversations; keep it off for lighter builds.
  • For enterprise moderation, pair moderation + reportMessage with your backend review queues.
  • Keep noCode.styles.customJs minimal and sanitized; avoid long-running scripts to maintain widget performance.