config.json and managed through the Zustand store.
For developers customizing their chat UI: The
config.json file contains all your feature toggles, layout settings, and styling configuration. Edit this file or use the QR code scanner to update settings dynamically. See the Integration Guide for setup.Top-level Structure
The configuration JSON follows this structure:1. Chat Features (chatFeatures)
1.1 Core Messaging Experience (coreMessagingExperience)
Essential messaging features: typing indicators, media sharing, message actions, and presence.
1.2 Deeper User Engagement (deeperUserEngagement)
Interactive features: mentions, reactions, polls, voice notes, and collaborative tools.
1.3 AI User Copilot (aiUserCopilot)
AI-powered features to help users start and navigate conversations.
1.4 User Management (userManagement)
1.5 Group Management (groupManagement)
1.6 Moderator Controls (moderatorControls)
1.7 Private Messaging Within Groups (privateMessagingWithinGroups)
1.8 In-App Sounds (inAppSounds)
2. Call Features (callFeatures)
2.1 Voice and Video Calling (voiceAndVideoCalling)
3. Layout (layout)
4. Style (style)
4.1 Theme
4.2 Colors
4.3 Typography
Complete Settings Example
Accessing Settings in Code
Use the Zustand store to access settings in your React Native components:Dashboard Feature Requirements
Some features require additional configuration in the CometChat Dashboard:AI Copilot Features (Conversation Starter, Conversation Summary, Smart Reply)
- Requires an OpenAI API key configured in the Dashboard under AI > Settings
Stickers, Polls, Collaborative Tools, Message Translation
- Requires the respective extensions to be enabled in the Dashboard under Extensions
Moderation
- Requires moderation rules to be configured in the Dashboard under Moderation > Rules