> ## Documentation Index
> Fetch the complete documentation index at: https://docs.assistable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Add website chat and browser voice

> Install Chat widget V2 for an assistant and test website chat and browser voice.

Use **Chat widget V2** to let visitors message an assistant and, when configured, speak to it in the browser. Start with the assistant you want visitors to reach.

Chat widget V2 is available only for accounts with access to that widget type. If it is not offered, follow [Install a text chat widget](/v3/guides/widgets/install-chat) for the **Chat widget** type and its **Get Code** control.

## Before you start

Create and test the assistant in the same subaccount as the widget. For browser voice, publish the assistant's voice agent and host the widget on HTTPS. Have access to your site's custom-code or footer settings.

## Configure and install

1. Open **Widgets**.
2. Select **Create widget**.
3. Choose **Chat widget V2**.
4. Choose a template and complete its creation settings. Creating a matching assistant is optional.
5. Open the created widget.
6. Select the assistant that should answer visitors.
7. Configure the greeting, visible content, and appearance.
8. Optional: Open **Behavior** and enable **Voice calling**. Confirm that the editor shows a connected voice agent.
9. Select **Save changes**.
10. Open **Install**.
11. Select **Copy** under **Embed snippet**.
12. Add the snippet before the closing `</body>` tag, or in the equivalent footer/custom-code area of your site builder.
13. Publish the website changes.

Use the generated snippet with its current identifiers. Make configuration changes in the widget editor.

## Configuration reference

The editor has **Assistant**, **Tabs & content**, **Appearance**, **Integrations & tools**, **Behavior**, and **Install** sections. Templates prefill settings, so check the saved values rather than assuming every widget starts alike. Available templates are **General purpose** and **Support help desk**; **Sales / lead-gen** and **Commerce storefront** are marked coming soon and cannot be selected. Switching or resetting a template replaces prompts, intro, teaser, and home actions.

### Assistant and shared settings

| Control | Meaning |
| - | - |
| Assistant | The assistant that answers this widget. Choices come from the current account. |
| Connect knowledge base | Connect one or more knowledge bases to the assistant. This affects every widget using that assistant. |
| Popup Message | Invitation beside the launcher. Inherits the assistant's value unless **Override** is enabled. |
| Intro Message | First message when chat opens; inherits unless overridden. |
| Fallback Message | Message shown when an AI reply fails; inherits unless overridden. |
| Suggested Prompts | Add, edit, or remove quick-tap suggestions for the widget. |
| Assistant messaging defaults | Opens the assistant's shared defaults. Editing these changes other widgets that inherit them. |
| Integrations & tools | Manage the assigned assistant's tools and connected capabilities. Test destination actions after changing assignments. |

### Tabs, content, and teaser

Show any combination of **Home**, **Messages**, **News**, **Roadmap**, and **Help**, with at least one tab visible. A hidden tab can retain its saved content.

| Area | Complete set of content fields |
| - | - |
| Home | **Header**, **Sub-header**, **Composer placeholder** (80 characters), and home action cards. |
| Messages | Live chat history. |
| News | **Title** (required), **Summary**, **Category** (News, Changelog, or your own label), **Image URL**, **Link**, **Published date**. Up to 50 items. |
| Roadmap | **Title** (required), **Description**, **Status**: Considering, Planned, In progress, or Shipped. Up to 50 items. |
| Help | **Title** (required), **Description**, **Article URL**, **Section**. Up to 50 items. |
| Teaser | **Show teaser bubble** on/off, **Greeting** (80 characters), **Suggestion chips** (one per line; first six nonblank entries are saved). |

Reorder or remove content items in their section. The Help import accepts up to 20 source URLs per import; inspect the resulting article titles and links before saving.

### Home action cards

Every card has a required **Title** and one of three **Mode** values. Common optional appearance fields are **Subtitle**, **Icon**, **Accent color**, **Logo image URL** (replaces the icon), **Card background**, and **Card border**.

| Mode | Additional fields and result |
| - | - |
| Open the chat | Optional **Starter message**. Blank opens chat; a supplied message is sent when the visitor selects the card. |
| Show a form to fill in | At least one form field, a destination under **What should happen with this form?**, **Submit button label**, and **Success message**. |
| Send to another page | Required **URL**. |

Form fields have a label, a **Required** switch, a type, and an optional saved-field mapping. Use the mapping expected by the destination. For example, GHL matching needs `email` or `phone`; naming a field differently does not establish that mapping.

| Form field type | Values and additional controls |
| - | - |
| Short text | Text answer. |
| Long text | Multiline text answer. |
| Email | Email address; invalid email syntax is rejected. |
| Dropdown | One of your comma-separated options. |
| Single choice (radio) | One of your comma-separated options. |
| Checkbox (yes/no) | Boolean answer. A required checkbox must be checked. |
| Smiley rating (1-5) | Whole-number rating from 1 through 5. |
| NPS (0-10) | Whole-number rating; defaults to 0–10. The editor also exposes minimum and maximum overrides. |
| Numeric scale | Whole-number rating; defaults to 1–5, with minimum and maximum controls. |
| Priority (low/normal/high/urgent) | One of those four priority values. |

The form destination selector offers all of these choices:

| Destination | Requirements and result |
| - | - |
| Just collect the answers | Records the submission without sending it to an external destination. |
| Send to GHL (create/update contact + tag) | Connected GHL account, a field mapped to `email` or `phone`, and optional **GHL tag to add**. Verify the contact and tag in GHL. |
| POST to a webhook URL | A public HTTPS **Webhook URL**. Sends JSON with `source`, `subAccountId`, `submittedAt`, and `fields`; `source` is `assistable_widget_form`. An `idempotency-key` header identifies the submission. The request allows eight seconds and does not follow redirects. |
| Create support ticket (Zendesk) | Uses the account's configured ticket routing. Ticketing must be enabled; verify the actual receiving inbox or ticket system. |
| Submit feedback (Gleap) | Records feedback and sends it to Gleap when a Gleap integration is connected. A failed delivery is reported as a failure. |
| Search knowledge base | Searches the assigned assistant's connected knowledge bases using `query`; an assistant with no connected knowledge can return no passages. |
| Check subscription (Stripe) | Connected Stripe integration and a field mapped to `email`; a matching subscription must exist. |
| List invoices (Stripe) | Connected Stripe integration and a field mapped to `email`. |

A success message is not a substitute for verifying the destination. Test each form with valid input, a missing required field, and a destination failure.

### Appearance

| Setting | Choices, limits, or availability |
| - | - |
| Display name | Name shown in the Classic header. |
| Company name | Brand name used by the widget. |
| Header subline | Classic layout only; up to 60 characters. |
| Online indicator | Classic layout only; show or hide the green header dot. |
| Launcher icon | Classic: Chat, Message, Help, Support, or AI. |
| Header & bot avatar / Brand logo | Image URL; the label is **Brand logo** in Voice first. When logo generation is available, choose **Generate a logo**, **Generate new**, **Shuffle color**, **Shuffle shape**, **This widget**, **Assigned assistant**, or **Use custom logo**. |
| AI message avatar | Classic only; optional separate image URL for AI message bubbles. |
| Fallback icon | Classic only; choose from the searchable icon library for use when no avatar is set. |
| Brand color | Choose a swatch or custom color. |
| Teaser bubble color | Classic only; choose a color, **Match brand color**, or **Reset to default**. |
| Widget layout | Classic or Voice first, when voice designs are enabled for the account. |
| Voice design | Orb or Welcome, available in Voice first. Orb places the call button in the avatar; Welcome uses a separate Start talking button. |
| Voice welcome screen | **Welcome heading** (60 characters), **Welcome description** (180), **Launcher label** (24), **Message placeholder** (80). Blank fields use that design's defaults. |
| Mode | Light or Dark. |
| Corner style | Rounded, Soft, or Sharp. |
| Launcher size | Classic only: Small, Medium, or Large. |
| Position | Top left, Top right, Bottom left, or Bottom right. |
| Auto-open on page load | Open immediately or wait for the visitor to open the widget. |

### Behavior

| Setting | Options and requirements |
| - | - |
| Voice calling | On/off. Requires a connected voice agent on the assigned assistant, HTTPS, and microphone permission. |
| Sync conversations to GoHighLevel | On/off. Mirrors visitor and assistant messages into the connected GHL account; does not send the visitor an SMS or email. |
| Human handoff | On/off. When enabled, your team can take over from the inbox. |
| When a human takes over | **Show it** adds the Talk to a human button and Agent joined banner. **Stay silent** displays human replies like ordinary assistant messages without that announcement. |
| Office hours | Optional schedule for human handoff; configure the fields below. |
| Notify your team on handoff | Slack connection status and a link to manage the integration. Requires a connected Slack integration. |
| Pre-chat form | On/off. Choose any of Name, Email, and Phone. |
| Pre-chat heading / subheading | Up to 80 / 160 characters. |
| Button, labels and error text | Customize submit, required error, invalid email error, and the label and placeholder for each of name, email, and phone. Each override allows 120 characters. |
| Notification sound | On/off; Ping, Pop, Subtle, Futuristic, Attention, or Bottle. |
| Persist conversation | Keep chat history across page reloads and visits, or turn persistence off. |
| AI Disclaimer | Optional text near the input, up to 120 characters. |
| Allowed Domains | One website domain per line. Blank allows the widget anywhere. Include each website where you intend to install it. |

Office hours has **Enable office hours**, **Timezone**, a Sunday–Saturday schedule with a start and end time for each enabled day, **When you're closed heading**, **When you're closed message**, and **Collect visitor email when offline**. Use a valid timezone and 24-hour `HH:MM` times; overnight ranges are supported. The initial schedule is disabled, uses the browser's timezone (UTC if unavailable), Monday–Friday 09:00–17:00, and email collection on. Outside enabled hours, the human-contact entry uses the configured offline experience.

After any change, **Save changes** and test the installed widget. The preview does not prove that a connected service received a message or form submission.

## Verify the website

Open the published page in a fresh browser session. Send a business question and confirm the response. Test any required pre-chat information and verify that a tool actually writes the expected record.

If voice is enabled, allow microphone access and complete a spoken exchange. Browser voice happens inside the page; a telephone callback is a separate workflow with its own number and call setup.

## Troubleshooting

* **No widget:** confirm the snippet is on the published page and scripts are not blocked by the site.
* **Wrong assistant:** check the widget's assignment and the subaccount.
* **No voice option:** check voice enablement, assistant publication, HTTPS, and browser permissions.
* **Chat works but an action fails:** review the assistant's tool assignment and the connected integration.

The [Voice Enabled Chat Widget guide](/v3/voice-enabled-chat-widget) covers the configuration options in detail.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.