Webchat

Deploy your agent as a chat widget on any website

Webchat is the fastest way to put your agent in front of users. Embed a JavaScript snippet on your site and visitors get an interactive chat widget — no backend work required. Despite the simplicity of deployment, Webchat offers the deepest customization of any channel: colors, avatars, bubble behavior, notifications, and more.

How Webchat Works

A Webchat deployment generates a JavaScript snippet. Paste it into your website's HTML and the widget loads automatically. Every visitor gets their own conversation session, and the agent responds using the workflow you assign to the deployment.

You can run multiple Webchat deployments for the same agent — each with different settings, workflows, or branding — to serve different pages or audiences.

Creating a Webchat Deployment

1

Select the Webchat Channel

Go to Designer > Deployments and click the Webchat icon globe in the channel toolbar.

2

Configure General Settings

Give your deployment a Name and optional Description so your team can identify it later. Set the Language the agent will use in conversations, and toggle Enable User Language Detection if you want the widget to adapt to the visitor's browser language automatically. Finally, select the Flow — this is the Start workflow the agent runs when a conversation begins.

3

Customize Layout Settings

Configure the widget's appearance and behavior across seven sub-tabs: General, Avatars, Colors, Start Up Notifications, Idle Notifications, Actions, and Custom. Each is covered in detail below.

4

Save and Preview

Click Save Changes. Next, preview the deployment or inspect the JavaScript snippet.

Deleting a Webchat Deployment

Open the deployment's General Settings and click Delete Deployment. Confirm the action by typing "DELETE" in the dialog that appears.

triangle-exclamation

Embed and Preview

Each Webchat deployment has two options for interacting with the widget:

code

JavaScript Snippet

Reveals the JavaScript snippet for this deployment. Copy and paste it into your website's HTML along with the to embed the widget.

Use this when you're ready to go live or want to test the widget in a staging environment alongside your actual site content.

eye

Preview

Opens a live preview in a new browser tab. The widget renders on a blank page exactly as visitors will see it.

Use it to quickly verify colors, avatars, notifications, and conversation flow without touching your site.

You can access both the JavaScript Snippet and the Preview from two places: the action icons in the Deployments list, or the buttons inside the deployment's edit dialog.

The JavaScript Snippet consists of two parts, both required for a correct deployment:

  • The Webchat library script in the page <head>

  • An initialization script in the page <body>

circle-info

The JavaScript snippet already includes your <deploymentIdentifier>.

Advanced Integration

The Webchat widget exposes JavaScript hooks and HTML attributes that let developers customize user tracking, trigger workflows from page elements, and control widget behavior beyond the visual settings. These features require basic knowledge of HTML and JavaScript.

chevron-rightuser-question User identificationhashtag

Webchat stores a user ID in the browser's localStorage to recognize returning visitors on the same browser and device.

By default, Webchat generates a random user ID. To use your own identifier — for example, to link conversations to authenticated users — implement window.HBF_retrieveUserId() in your site's JavaScript. Webchat calls this function on load and uses the returned value instead.

To pass additional user metadata (name, email, or custom attributes), implement window.HBF_retrieveUserInfo(). Webchat calls this function alongside HBF_retrieveUserId() and attaches the returned data to the contact record.

Hook
Return Type
Purpose

window.HBF_retrieveUserId()

string

A stable, unique identifier for the current user

window.HBF_retrieveUserInfo()

object

A key-value map of additional user information (commonly under customData)

circle-info

Both hooks are optional. If neither is implemented, Webchat falls back to a randomly generated ID with no additional metadata.

Example: Provide a known user ID and custom data.

chevron-rightrotate-right Reload widgethashtag

In order to reload the Webchat widget, without reloading the hosting page, you must first remove the HBFWebchat instance and then initialize it again.

chevron-rightmessages Conversation transcripthashtag

You can fetch the whole conversation transcript using the function window.HBFWebchat.getTranscript()

The returning value will be an array of objects with the following interface:

chevron-rightbolt Trigger workflow via HTML elementhashtag

Add the attributes class="btn-hcn", data-hcn, and data-target-div to any HTML element to trigger a workflow on click. Set data-hcn to the ID of the start node for the workflow you want to run.

chevron-rightbolt Trigger workflow with parametershashtag

Use window.HBFWebchat.redirectChatTo() to redirect the widget to a specific node while passing optional variables. These variables are accessible through the parameters object in the platform. If the bubble widget is not open yet, this function opens it automatically and overrides any other configuration.

chevron-rightbolt Trigger workflow via URL query parametershashtag

If your page already has the Webchat widget installed, you can construct links that open the widget and trigger a specific workflow using query parameters.

Parameter
Effect

?hws=on

Opens the widget on page load

?hws=alwayson

Opens the widget and hides the close button

?hcn=<nodeId>

Triggers the workflow starting from the specified node ID

Combine parameters as needed. For example, if https://helvia.ai includes a Webchat widget , the link https://helvia.ai?hws=on&hcn=start opens the widget and starts the workflow with node ID start.

Layout Settings

Webchat is the most customizable deployment channel on the platform. From colors and avatars to notification timing and bubble behavior, Layout Settings give you full control over how the widget looks and acts on your site. Settings are organized into seven distinct tabs.

palette

Brand Matching

Set colors, fonts, and avatars so the widget feels native to your site

comments

Proactive Engagement

Configure automatic pop-outs, chat prompts, and notifications to initiate conversations with visitors

table-layout

Flexible Layout

Choose between a floating bubble or a full-page embedded chat, and adjust dimensions and corner radius

gears

Advanced Control

Add persistent menu buttons, control file uploads, and inject custom JSON settings for developer-level overrides

Click View Example in any Layout Settings tab to open an annotated diagram of the widget in bubble mode. The diagram labels every customizable area — header, avatars, bubble colors, typing indicator, menu buttons, and more — so you can identify which setting controls which part of the interface before making changes.

General

These settings define the widget's structure and how it fits into your site, starting with the choice between a floating Bubble or a full-page Embedded layout.

Setting
Description

Mode

Bubble renders the widget as a floating button in the bottom-right corner that expands on click. Embedded renders the widget inline as a full-page chat — useful for dedicated support pages.

Widget Radius

Controls the corner curvature of the chat window (0 px for sharp corners, up to 32 px for rounded).

Widget Width / Height

Sets the dimensions of the expanded chat window in pixels. Only available in Bubble mode.

Header Style

Choose between a left or center header bar at the top of the chat window.

Agent Header

The text displayed in the chat window header. This is what visitors see, so pick something approachable.

Font Family

The typeface used inside the widget. Match it to your site's typography for a seamless look.

Link Behavior

Control whether links and link buttons sent by the agent open in the same tab or a new tab. Opening in a new tab keeps the conversation visible.

circle-info

You can select alternative fonts in case the primary one is not supported by the system of the end-user. If the host website loads custom fonts, the widget can use those too.

Start Up Notifications

Start up notifications display a message when the widget first loads — useful for greeting visitors, announcing promotions, or nudging users toward a specific workflow. Notifications appear in front of the conversation messages and stay visible until the visitor dismisses them or clicks one of the attached buttons.

Click Add Notification to configure a notification. Each notification has a text message and it can display up to three buttons. You can chain multiple notifications together by adding a new one again — they display in sequence when the widget loads.

chevron-rightmessage-text Notification text hashtag

The notification message shown to the user. Make sure not to overwhelm the user with long messages.

chevron-rightsquare-check Enable Buttonshashtag

Attach one, two or three buttons to turn a passive notification into an interactive entry point. Each button has a Button Name (the label visitors see) and a Flow (the workflow triggered on click). For example, a "Talk to Sales" button can route users directly into a sales qualification workflow.

chevron-righttrash-can Deletehashtag

Delete the notification immediately from the chain using the delete icon trash-can.

Idle Notifications

Idle notifications re-engage visitors who opened the widget but stopped interacting. They share the same core settings as start up notifications (text, optional buttons, adding and removing) but offer additional controls: a delay before the notification appears, a sound toggle to grab attention, and the ability to automatically trigger a workflow when the idle threshold is reached.

Idle notifications disappear automatically once the visitor starts typing. Use them to recover abandoned conversations — a message like "Still have questions? I'm here whenever you're ready" can prompt users to resume the chat.

chevron-righttimer Notification delayhashtag

Set how many seconds of inactivity must pass before the notification appears. A shorter delay (e.g., 10 seconds) works for quick support prompts, while a longer delay (e.g., 60 seconds) avoids interrupting users who are still reading. You can type the amount of delay you want or use the plus, minus buttons for increments of 10.

chevron-rightvolume Play soundhashtag

Toggle a sound effect that plays when the idle notification appears. This adds an audible cue alongside the visual notification, useful for visitors who have scrolled away or switched tabs.

chevron-rightarrow-progress Advanced settingshashtag

Automatically start a workflow when the idle threshold is reached. Instead of just showing a notification, the agent can proactively send a message, ask a question, or begin a guided flow — turning inactivity into an opportunity to re-engage the visitor. Select the workflow you want to trigger from the dropdown.

Avatars

Avatars give the conversation a human feel and reinforce brand identity.

  • Agent Avatar: Upload an image, select from your Media Library, or provide a URL for the icon that appears next to the agent's messages

  • User Avatar: Same options for the visitor's icon

Both are optional. If no avatar is set, the widget displays a default icon. Any new image you upload is automatically saved to your Media Manager for reuse across other deployments.

Colors

Match the widget to your brand palette. Each field accepts a hex color value or use the color picker to select one visually.

Setting
What It Controls

Main Color

The widget header and primary accent

Main Font Color

Text in the header and primary UI elements

Hyperlink Color

Clickable links inside messages

Chatbot Bubble Color

Background of the agent's message bubbles

Chatbot Bubble Text Color

Text inside the agent's message bubbles

User Bubble Color

Background of the user's message bubbles

User Bubble Text Color

Text inside the user's message bubbles

circle-info

Test color combinations for accessibility. Ensure sufficient contrast between bubble background and text colors so messages remain readable.

Actions

Actions control how the widget behaves before and during a conversation.

Action Layout determines how the agent presents interactive elements like buttons:

  • Stacked: Buttons arranged vertically

  • Carousel: Buttons displayed in a horizontal scrollable row

  • Flow: Buttons follow the workflow's native layout

Bubble Action controls what happens to the bubble when the page loads (Bubble mode only):

The widget stays collapsed until the visitor clicks it. Use this for pages where the chat should be available but not intrusive.

Additional toggles:

chevron-rightpaperclip-vertical Hide Upload Buttonhashtag

Prevents visitors from uploading files. Enable this if your agent does not process attachments.

chevron-rightface-smile Hide Emoji Buttonhashtag

Removes the emoji picker from the input bar.

chevron-rightcomment-dots Hide Typing Indicatorhashtag

Hides the "typing..." animation while the agent processes a response.

chevron-righttable-cells-large Enable Menu Buttonshashtag

Adds persistent buttons to the widget that trigger specific workflows, regardless of where the user is in the conversation.

Custom

Toggle Enable Custom Settings to pass additional configuration as raw JSON. This is an advanced option for developers who need to inject custom attributes or override default behavior beyond what the visual settings offer. A validation check ensures the input is valid JSON before you can save changes.

Below is a reference of all available custom settings you can pass to the widget. Each entry includes a comment describing its functionality followed by the corresponding JSON object.

circle-exclamation

Best Practices

  • Match your brand: Use your brand colors, fonts, and a recognizable avatar so the widget feels native to your site, not bolted on

  • Start with Bubble mode: Most websites benefit from a non-intrusive floating widget. Reserve Embedded mode for dedicated support or help pages

  • Use Chat Prompt over Automatic Pop-out: A subtle prompt message respects the visitor's attention more than a full widget opening unprompted

  • Keep start up notifications concise: One short message with a clear call-to-action outperforms a wall of text

  • Preview before deploying: Always use the eye icon to test changes before updating the snippet on your live site

circle-check

Last updated

Was this helpful?