You will need:
  • A published bot
  • Familiarity with CSS (if you want to use custom styles)

General configuration

You can configure your bot in the Dashboard:
  1. Navigate to the Dashboard and open your bot’s Workspace.
  2. In the left navigation bar, find the bot you want to style and select Webchat.
Here’s a breakdown of each configuration section:

About your bot

This section lets you configure general information about your bot:
  • Your bot’s name (defaults to Bot)
  • Your bot’s avatar (defaults to the first letter of your bot’s name)
  • Your bot’s description (optional)
  • A placeholder for your bot’s composer (defaults to Type your message...)
  • A custom footer for your bot (requires a Plus plan)
  • A custom avatar for the Floating Action Button (FAB)

Settings

This section lets you configure your bot’s settings:
  • Enable/disable message feedback. When enabled, you can view feedback data in the Analytics tab
  • Enable/disable user file upload
  • Enable sound notifications for new messages. This requires Webchat v3.3+
  • Choose to persist conversations Across browser tabs (session storage) or in One tab only (local storage)

Session storage vs. Local storage

Session storage creates a new user and conversation each time the page is re-opened. Local storage keeps them for your next visits.You can learn more about local and session storage here.

Contact

This section lets you configure optional contact information for your bot:
  • Email address
  • Phone number
  • Website
  • Terms of service
  • Privacy policy

Style and appearance

To style your bot using the built-in Webchat theme editor:
  1. Navigate to the Dashboard and open your bot’s Workspace.
  2. In the left navigation bar, find the bot you want to style and select Webchat.
  3. Select the Theme tab to open the theme editor:
The following styling options are available:
  • Primary colour (defaults to #3276EA). Choose a recommended colour, or use the colour picker to specify a hex code.
  • Theme (defaults to Light)
  • Header theme (defaults to Glass)
  • Message theme (defaults to Solid)
  • Radius (defaults to fully rounded)
  • Font (defaults to Inter). Use the search bar to choose any available Google Font.
You can view your changes in the Webchat preview on the right side of the screen. Whenever you want to update the bot’s configuration, select Save Configuration in the bottom-right corner.
Styles from this section won’t apply if:

Use custom styles

If you want to customize your bot’s appearance further, you can modify the built-in CSS classes:
CSS ClassElement description
bpContainerMain Webchat container
bpDropzoneOverlayOverlay shown when dragging files into the chat
bpDropzoneContainerContainer for the dropzone area during file uploads
bpLoaderLoader/spinner container for loading states
bpModalOverlayBackground overlay behind modals
bpModalContainerWrapper for the modal dialog
bpModalTitleStyles the title text in modals
bpModalDescriptionStyles the description text in modals
bpModalContentContainerContainer for content inside the modal
bpModalContentTextAreaText area element inside modals
bpModalButtonContainerWrapper for modal action buttons
bpModalButtonConfirmStyles the confirm button in modals
bpModalButtonCancelStyles the cancel button in modals
bpFabContainerContainer for the floating action button
bpFabIconIcon inside the FAB
bpFabImageImage inside the FAB (when using custom images)
bpNotificationContainerWrapper for notification messages
bpNotificationTitleTitle text in notifications
bpNotificationDescriptionDescription text in notifications
bpNotificationIconIcon displayed in notifications
bpNotificationCloseIconClose icon/button on notifications
bpHeaderContainerContainer for the chat header
bpHeaderContentContainerWrapper for header content (title, avatar, actions)
bpHeaderContentTitleTitle text in the header
bpHeaderContentDescriptionDescription text in the header
bpHeaderContentAvatarContainerContainer for the header avatar
bpHeaderContentAvatarImageStyles the avatar image in the header
bpHeaderContentAvatarFallbackFallback avatar styling if image fails
bpHeaderContentActionsContainerWrapper for header action icons
bpHeaderContentActionsIconsStyles the action icons in the header
bpHeaderExpandedContentContainerContainer for expanded header content
bpHeaderExpandedContentDescriptionItemsContainerWrapper for description items in expanded header
bpHeaderExpandedContentDescriptionItemsIconIcon for each expanded header description item
bpHeaderExpandedContentDescriptionItemsTextText for expanded header description items
bpHeaderExpandedContentDescriptionItemsLinkLink styling for expanded header description items
bpHeaderExpandedContentGroupGrouping container for expanded header items
bpHeaderNewConversationIconIcon for starting a new conversation in the header
bpComposerWrapperWrapper around the entire composer area
bpComposerContainerContainer for the composer
bpComposerFooterFooter area of the composer (for example: upload/voice buttons)
bpComposerInputContainerContainer for the text input field
bpComposerInputText input field styling
bpComposerSendButtonSend button styling in the composer
bpComposerUploadButtonFile upload button in the composer
bpComposerVoiceButtonVoice recording button in the composer
bpComposerFileContainerContainer for attached files in the composer
bpComposerFileAttachementWrapper for each file attachment
bpComposerFileLoaderLoader shown during file upload in composer
bpComposerFileIconWrapperContainer for the file type icon
bpComposerFileIconIcon representing the file type
bpComposerFileMetadataContainer for file metadata (name and type)
bpComposerFileNameStyles the file name text
bpComposerFileExtensionStyles the file extension/type text
bpComposerFileRemoveIconIcon/button to remove an attached file
bpComposerFileErrorIconIcon indicating an error with the attached file
bpComposerFilePreviewImageThumbnail preview image for attachments
bpMessageListScrollDownButtonButton to scroll to the latest message
bpMessageListContainerContainer for the message list
bpMessageListViewportViewport area for scrolling messages
bpMessageListMarqueeContainerContainer for marquee/announcement banners
bpMessageListMarqueeContentContent area for marquee messages
bpMessageListMarqueeTitleTitle text in marquee banners
bpMessageListMarqueeDescriptionDescription text in marquee banners
bpMessageListMarqueeAvatarContainerContainer for avatars in marquee banners
bpMessageListMarqueeAvatarImageAvatar image in marquee banners
bpMessageListMarqueeAvatarFallbackFallback avatar styling in marquee banners
bpMessageListHeaderMessageHeader message block styling
bpMessageContainerContainer for individual messages
bpMessageAvatarContainerContainer for the message avatar
bpMessageAvatarImageStyles the avatar image in messages
bpMessageAvatarFallbackFallback styling for missing message avatars
bpMessageBlocksTextHeading1H1 text block within messages
bpMessageBlocksTextHeading2H2 text block within messages
bpMessageBlocksTextHeading3H3 text block within messages
bpMessageBlocksTextHeading4H4 text block within messages
bpMessageBlocksTextUnorderedListUnordered list text block
bpMessageBlocksTextOrderedListOrdered list text block
bpMessageBlocksTextListItemList item text block
bpMessageBlocksTextLinkHyperlink text block
bpMessageBlocksTextItalicItalic text styling
bpMessageBlocksTextBoldBold text styling
bpMessageBlocksTextTextStandard paragraph text block
bpMessageBlocksTextImageInline image block within text
bpMessageBlocksTextHorizontalRuleHorizontal rule within text
bpMessageBlocksTextLineBreakLine break within text
bpMessageBlocksTextInputInput field block within messages
bpMessageBlocksTextCodeBlockContainerContainer for code block elements
bpMessageBlocksTextCodeBlockTitleTitle area for code blocks
bpMessageBlocksTextCodeBlockCopyIconCopy-to-clipboard icon in code blocks
bpMessageBlocksTextCodeBlockCode block styling
bpMessageBlocksTextCodeInline code text styling
bpMessageBlocksTextTableContainerContainer for tables within messages
bpMessageBlocksTextTableTable element styling
bpMessageBlocksTextTableHeaderTable header cell styling
bpMessageBlocksTextTableDataTable data cell styling
bpMessageBlocksTextTableRowTable row styling
bpMessageBlocksAudioAudio player block styling
bpMessageBlocksImageImageImage block styling
bpMessageBlocksImagePlaceholderPlaceholder for loading images
bpMessageBlocksVideoVideo player block styling
bpMessageBlocksLocationContainerContainer for location blocks
bpMessageBlocksLocationTitleTitle text for location blocks
bpMessageBlocksLocationIconIcon for location blocks
bpMessageBlocksFileContainerContainer for file blocks
bpMessageBlocksFileTitleTitle text for file blocks
bpMessageBlocksFileIconIcon for file blocks
bpMessageBlocksRowRow layout block within messages
bpMessageBlocksColumnColumn layout block within messages
bpMessageBlocksBubbleChat bubble container
bpMessageBlocksBubbleFeedbackContainerContainer for bubble feedback icons
bpMessageBlocksBubbleFeedbackIconFeedback icon inside bubbles
bpMessageBlocksCarouselContainerContainer for carousel blocks
bpMessageBlocksCarouselSlidesContainerSlides container within carousels
bpMessageBlocksCarouselBackButtonBack button in carousel blocks
bpMessageBlocksCarouselNextButtonNext button in carousel blocks
bpMessageBlocksDropdownButtonContainerDropdown button container
bpMessageBlocksDropdownButtonTextText inside dropdown buttons
bpMessageBlocksDropdownButtonIconIcon inside dropdown buttons
bpMessageBlocksDropdownContentContainerContainer for dropdown content
bpMessageBlocksDropdownContentItemIndividual dropdown item styling
bpMessageBlocksButtonButton block styling within messages
bpTypingIndicatorContainerContainer for typing indicator
bpTypingIndicatorLoaderLoader animation for typing indicator
Just add your styles to the Styles field.

Position Webchat on the left

By default, the Webchat FAB and the chat window appear on the right side of the screen. You can move them to the left by overriding the default CSS. Add the following CSS to your website’s stylesheet:
.bpFabWrapper {
  left: 20px !important;
  right: auto !important;
}

.bpWebchat {
  left: 20px !important;
  right: auto !important;
}
This will position both the FAB icon and the main Webchat window 20 pixels from the left edge of the viewport. You can adjust the 20px value as needed.