Step-by-step tutorial Widget & experience

How to customize the complete chatbot widget

Build a branded, accessible widget and verify its behavior on desktop and mobile.

Beginner18 min readJuly 16, 2026
How to customize the complete chatbot widget

Widget Integration separates appearance, images, behavior, positioning, triggers, action bar and advanced settings. Built-in controls should handle the majority of designs before custom CSS is considered.

A visual preview is useful, but production QA must include the actual website, responsive breakpoints, keyboard focus and overlap with consent or checkout elements.

What you will have at the end

  • A brand-aligned theme and imagery
  • A focused welcome flow with prompt buttons
  • A copied floating-widget embed and verified live answer

Before you start

  • Brand colors and accessible contrast targets
  • Optimized logo/avatar files
  • A staging or test page with the widget

Design, guide, verify

Appearance defines the visual system, Images add identity, Behavior controls the first interaction and Positioning prevents overlap. Advanced settings cover language detection, branding and CSS.

The floating widget reads its saved configuration live, so changes do not require a new embed code.

Apply brandGuide first actionTest every viewport

01–06

Set it up step by step

1

Set appearance, colors and font

Create a readable visual foundation.

Choose the widget theme, title and font, then set header, bot, user and button colors. Check text contrast in every bubble state rather than judging color swatches alone.

Create a readable visual foundation.
2

Add avatar, button and welcome images

Use small, purpose-specific assets.

Upload an avatar, optional custom chat button and welcome image. Use optimized square assets with clear silhouettes and verify that transparent edges work in light and dark page contexts.

Use small, purpose-specific assets.
3

Configure behavior and prompt buttons

Make the first useful question obvious.

Write a short welcome message and two or three prompt buttons tied to common visitor goals. Decide deliberately on sources, microphone, automatic translation, speech bubble and excluded paths.

Make the first useful question obvious.
4

Set desktop and mobile position

Avoid cookie banners and primary actions.

Adjust desktop and mobile X/Y offsets separately. Test the smallest supported viewport, mobile browser chrome and open cookie banner so the chat button never blocks navigation or purchase controls.

Avoid cookie banners and primary actions.
5

Preview and test on the real page

Verify open, close, prompts and keyboard use.

Use the dashboard preview, then test the embedded widget on the staging site with mouse, keyboard and touch. Verify welcome content, prompt actions, scroll behavior, focus order and the privacy notice.

Verify open, close, prompts and keyboard use.
6

Copy the floating-widget embed code

Install one script and the chatbot-specific custom element.

At the bottom of Widget Integration, copy the complete HTML block. It loads the WebChatAgent script asynchronously and renders the `web-chat-agent` element with the current chatbot ID. Paste it once before the closing `body` tag or into the site-wide custom-code area of your CMS.

Publish first to staging and inspect the browser console, consent behavior and allowed-domain setting. Saved visual changes are loaded by the widget automatically; you do not need to replace the snippet after every design edit.

Install one script and the chatbot-specific custom element.

Example & result

See the practical test and its result

Every tutorial includes a fixed input, the expected outcome and a transparent record of what was actually verified locally.

Practical example: How to customize the complete chatbot widget

This exact scenario was completed with the temporary tutorial account.

Verified end to end

Exact test input

Change the title to “Tutorial Lab”, use a blue user bubble, copy the floating embed and open the live preview.

Expected result

The live widget reflects the design, the embed contains the correct chatbot ID and a real question receives a readable answer.

What was actually verified

The saved preview showed Tutorial Lab, the blue user-message color and a grounded answer; the complete asynchronous script and web-chat-agent element were verified in Widget Integration.

The saved preview showed Tutorial Lab, the blue user-message color and a grounded answer; the complete asynchronous script and web-chat-agent element were verified in Widget Integration.

Tips & tricks

Make the setup reliable

Test with realistic examples, record your baseline and change one setting at a time. That makes real improvements visible.

Start with built-in controls

Use Custom CSS only for the remaining details; built-in colors and offsets are less fragile across updates.

Prompt buttons should express intent

“Compare plans” is clearer than “Learn more” and gives the chatbot useful context immediately.

Test content before polishing the shell

A beautiful widget cannot compensate for missing knowledge. Verify the most important answers first, then finalize welcome text, prompts and visuals.

Choose the model for the conversation, not the colors

Use a fast, economical model for routine support and compare a stronger model only when fixed test questions show a measurable quality gain.

When something does not work

Troubleshooting

Check status, permissions and test data systematically before changing the model or prompt.

The expected option is missing

Confirm the account plan, feature permissions and selected chatbot. Paid or beta features can be hidden when prerequisites are not met.

The test result is inconsistent

Reset the test conversation, keep the input identical and change one setting at a time so the cause remains measurable.

Ready for a production-style test

Publish the design to a staging page, collect screenshots at desktop and mobile widths and record a short accessibility and overlap checklist before production rollout.

Related resources