Overview
The AI Chat SDK provides customization options to ensure the chat experience seamlessly matches your application’s brand identity. You can customize branding, colors, fonts, and layout.Brand configuration
Configure your brand identity using thebrand option available in chatConfig, badgeConfig, and inlineConfig.
Brand options
| Option | Type | Description |
|---|---|---|
name | string | Your brand name displayed in the UI |
logoUrl | string | URL to your logo image |
logo | React.ReactNode | React component for custom logo rendering |
- Format: PNG, SVG, or JPG
- Size: 200x200px minimum (square aspect ratio recommended)
- Background: Transparent PNG recommended
- File size:
<100KBfor best performance
Using a custom logo component
For React applications, you can pass a custom logo component:Color customization
Configure colors using thestyling option available in chatConfig, badgeConfig, and inlineConfig.
Styling options
| Option | Type | Default | Description |
|---|---|---|---|
primaryColor | string | #5C59FE | Primary brand color for light mode |
primaryColorDarkMode | string | (uses primaryColor) | Primary brand color for dark mode |
colorMode | 'light' | 'dark' | 'system' | 'system' | Color mode preference |
Color mode
Control how the SDK handles light and dark themes:'system'(default): Automatically matches the user’s system preference'light': Always use light mode colors'dark': Always use dark mode colors
Brand color examples
- Blue theme
- Green theme
- Purple theme
- Orange theme
Ensure your custom font is loaded on the page before initializing the SDK.
Assistant configuration
Configure the AI assistant’s identity using theassistant option.
Assistant options
| Option | Type | Description |
|---|---|---|
name | string | Name displayed in the chat header |
description | string | Description shown below the name |
settingsUrl | string | Link to settings page (optional) |
Layout customization
Position and size
Control where the chat panel appears on the page:Common layout patterns
- Floating window
- Bottom panel
Visual styling
Customize the panel’s visual appearance:Layout options
| Option | Type | Default | Description |
|---|---|---|---|
position.top | string | 'unset' | Distance from top |
position.right | string | '0px' | Distance from right |
position.bottom | string | '0px' | Distance from bottom |
position.left | string | 'unset' | Distance from left |
size.width | string | 'auto' | Panel width |
size.height | string | 'auto' | Panel height |
size.minWidth | string | 'auto' | Minimum width |
size.maxWidth | string | 'none' | Maximum width |
size.minHeight | string | 'auto' | Minimum height |
size.maxHeight | string | 'none' | Maximum height |
Content customization
Customize text content displayed throughout the chat interface.Header
Customize the chat header with your logo and brand name:| Option | Type | Description |
|---|---|---|
logo | React.ReactNode | React component for custom logo rendering (height 36px, preserves aspect ratio). Falls back to brand.logo if neither logo nor logoUrl provided. |
logoUrl | string | URL to your logo image (height 36px, preserves aspect ratio). Falls back to brand.logoUrl if neither logo nor logoUrl provided. |
name | string | Brand/product name displayed in the header. Falls back to brand.name if not provided. |
You can use either
logo (React component) or logoUrl (image URL). If neither is provided, the SDK will fall back to the corresponding brand config values.Default prompts
Provide suggested prompts for users:Input placeholder
Customize the input field placeholder:Intro screen
Customize the intro message shown when chat opens:Loading messages
Customize loading messages that cycle while waiting for responses:Error messages
Customize error message text:Disclaimer text
Customize the disclaimer text:Badge customization
Customize the floating badge entry point:Inline input customization
Customize the inline input entry point:Complete customization example
Here’s a fully customized configuration:Best practices
Maintain brand consistency
Maintain brand consistency
Use the same colors, logos, and fonts as your main application UI to create a cohesive experience.
Test both light and dark modes
Test both light and dark modes
If using
colorMode: 'system', test your customization in both light and dark modes:Optimize logos
Optimize logos
- Use SVG for scalable logos
- Optimize PNG files to
<100KB - Serve logos from a CDN for fast loading
- Use transparent backgrounds
Use accessible colors
Use accessible colors
Ensure sufficient contrast for readability:
- Text on backgrounds: 4.5:1 contrast ratio minimum
- Interactive elements: 3:1 contrast ratio minimum
Test responsiveness
Test responsiveness
Test the chat panel on different screen sizes to ensure it doesn’t obscure critical page content.
Consider mobile users
Consider mobile users
For mobile, consider adjusting the layout:
Troubleshooting
Logo not appearing
Logo not appearing
Causes:
- Invalid logo URL
- CORS restrictions on logo image
- Logo URL not accessible
- Verify logo URL is accessible in browser
- Host logo on a CDN with CORS enabled
- Check browser DevTools for network errors
Colors look different than expected
Colors look different than expected
Causes:
- Browser color profile differences
- System color mode affecting display
- Transparency effects
- Test on multiple browsers
- Use specific hex color values
- Check
colorModesetting
Custom font not applying
Custom font not applying
Causes:
- Font not loaded before SDK initialization
- Incorrect font family syntax
- Ensure font is loaded (use
document.fonts.ready) - Include fallback fonts in the font family string
- Verify font name matches the loaded font
Panel overlapping page content
Panel overlapping page content
Causes:
- Incorrect positioning
- Size too large for viewport
- Adjust position and size values
- Use responsive sizing based on viewport
- Test on different screen sizes

