The Zendesk SDK UI can be styled to match your brand using Admin Center, which currently allows you to set the primary color, message bubble color, and action button color. However, Admin Center does not support customization of all UI elements—most notably, text colors for buttons, messages, and actions.

To address this limitation, the SDK provides a temporary UserColors API for developers who need to override text colors directly in their app code. This API lets you specify custom text colors for both light and dark mode, ensuring your UI remains accessible and visually consistent. Note that UserColors will be deprecated once Admin Center supports full color customization, so plan to migrate your settings when that feature becomes available.

Limitations

FeatureCan be customized in Admin Center?
Primary color (backgrounds, headers, etc.)Yes
Message bubble colorYes
Action button colorYes
Text colors (onPrimary, onMessage, onAction)No
Some secondary UI elementsNo

Customizing text colors with UserColors API

To customize text colors, use the UserColors API when initializing the SDK. This allows you to set text colors for light and dark mode.

Kotlin

val colors = UserColors(    onPrimary = Color.Black,    onMessage = Color.Black,    onAction = Color.Black)val factory = DefaultMessagingFactory(    userLightColors = colors,    userDarkColors = colors)Zendesk.initialize(    context = this,    channelKey = "channel_key",    messagingFactory = factory,)

Java

UserColors colors = new UserColors(Color.BLACK, Color.BLACK, Color.BLACK);DefaultMessagingFactory factory = new DefaultMessagingFactory(colors, colors);Zendesk.initialize(this, "channel_key", factory);

FAQ

Q: Can I customize all UI colors in Admin Center?
A: No. Only primary, message bubble, and action button colors are customizable in Admin Center. Text colors and some secondary UI elements must be set using the SDK’s UserColors API.

Q: What happens if I set text colors in Admin Center?
A: Text colors cannot be overridden in Admin Center. You must use the UserColors API in your app code to change them.

Q: Is the UserColors API permanent?
A: No. The UserColors API is temporary and will be deprecated once Admin Center supports full color customization. Plan to migrate your color settings to Admin Center when available.

Q: How do I support both light and dark mode for text colors?
A: Pass different UserColors objects for userLightColors and userDarkColors when initializing the SDK.

Q: What if I don’t set text colors using UserColors?
A: The SDK will use its default text colors, which may not match your brand or accessibility requirements.