Website chat widget

A website chat that qualifies, books and syncs, around the clock

Create a widget, paste one script tag, and your agent is live on your site. Visitors fill an optional pre-chat form, chat with the same flow, knowledge and tools as your other inboxes, and land in your CRM as tagged contacts with the transcript attached.

A visitor opens the website chat, fills the pre-chat form, asks about classes and gets booked; the visitor is then synced to the CRMacme-studio.comSynced to GoHighLevelJLJordan Lee[email protected] · +44 7700 900123webchatbeginnerNote: chat transcript attachedAcme StudioUsually replies instantlyNameJordan LeeEmail[email protected]Phone+44 7700 900123Start chatProtected by proof-of-workHi Jordan! How can I help?Do you have beginner classes?Yes! Tue & Thu at 6pm. Wantme to book your first one?Thursday pleaseBooked for Thu 6pm. See you!
1script tag to install
5layers of abuse protection
Dailycap on AI spend per widget
AutoGoHighLevel contact sync
Deep dive

A closer look at Website chat widget

01 · Install

One line of HTML, fully branded

Set the appearance, greeting and pre-chat form, then paste the embed code. Conversations form a web chat inbox answered by the widget's agent, visible in the Inbox and Approvals like any other channel.

  • Custom colours, greeting and launcher
  • Pre-chat form: name, email, phone with country validation
  • Visitor details become the contact record
  • Same flows, knowledge, tools and approvals
Pasting one script tag into a site's HTML makes the chat launcher appear with a greetingindex.html1<!doctype html>2<html>3 <body>4 <!-- your site -->567 </body>8</html><script src="…/widget.js" data-key="pk_7f2c…" async>that's the whole installyoursite.comHi! Questions aboutour classes?
02 · Protection

Built to keep bots out and costs down

The widget only runs on sites you allow, enforced with CSP frame-ancestors and origin checks. Starting a chat requires a proof-of-work puzzle and passes a honeypot, with optional Cloudflare Turnstile. Rate limits per conversation, IP and widget are shared across replicas, and a per-widget daily cap bounds AI spend.

  • Allowed sites only
  • Proof-of-work and honeypot, optional Turnstile
  • Per-conversation, per-IP and per-widget rate limits
  • Length caps, spam checks and IP blocking
Bots are stopped at different protection layers around the widget while a real visitor passes throughWrong originHoneypot filledNo proof-of-workToo many requestsvisitor · PoW solved in 0.4 s1. Allowed sites onlyCSP + origin checks2. Proof-of-work + honeypotto start any chat3. Cloudflare Turnstileoptional4. Rate limitsper conversation, IP and widget5. Daily spend capper widget
03 · CRM sync

Visitors become contacts, automatically

Identified visitors can be copied to a GoHighLevel sub-account as tagged contacts, with the chat transcript saved as a note, so your team and your workflows can pick up right where the widget left off.

  • Create or update GHL contacts
  • Tag widget leads
  • Transcript saved as a note
  • Contact fields available in agent instructions
An identified chat visitor is created in GoHighLevel as a tagged contact with the transcript saved as a noteWEB CHAT · JordanHi Jordan! How canI help today?Beginner classes?Tue & Thu at 6pm!Book you in?Thursday pleaseBooked. See you!NEW GHL CONTACTNameJordan LeeEmail[email protected]Phone+44 7700 900123Tagswebchatwidget-leadNoteWeb chat transcript5 messages · booked Thu 6pmready for your workflows
Under the hood

The details

Embed

A single async script tag with your widget's public key.

Appearance

Brand colours, greeting and launcher position.

Pre-chat form

Optional name, email and phone with country validation.

Turnstile

Optional Cloudflare Turnstile on top of proof-of-work.

Visitor blocking

Block abusive visitors by IP from the sessions list.

Analytics

A dedicated web chat view in Analytics.

Use cases

Who it's for

Lead capture

Qualify visitors and book them before they bounce.

After-hours support

Answer from your knowledge base at 2am.

Agencies

One widget per client site, each synced to the client's sub-account.

FAQ

Website chat widget: common questions

Can someone embed my widget on their site?

No. Only allowed sites can load it, enforced by CSP frame-ancestors and origin checks.

How do you stop bots from running up AI costs?

Proof-of-work, a honeypot, optional Turnstile, layered rate limits and a daily cap per widget.

Does the widget use the same agent features?

Yes. Flows, knowledge, tools, approvals and analytics all work the same.

Do visitors need to fill a form?

Only if you turn the pre-chat form on.

Get started

Put it to work on your own inbox

Connect an inbox, describe the job, test it in a sandbox and go live with exactly the autonomy you're comfortable with.