Annot8

Live chat

Real-time conversations with visitors on your site, answered from a dashboard inbox.

Live chat adds a Messages tab to the widget. Visitors write, your team answers from the dashboard, and the conversation is real-time in both directions — typing indicators, read state, and all.

It's a Pro feature. Turn it on in Project → Settings → Features.

On a production host the whole widget panel is hidden unless Show widget in production is also on. If you want live chat on your live site — which is usually the point — you need both toggles.

The visitor side

The Messages tab shows the conversation history for that visitor, identified by a persistent per-browser id so they can close the tab and come back to the same thread.

Configurable in Live chat → Settings:

SettingEffect
Welcome messageThe first thing a visitor sees when they open Messages
Offline messageShown when nobody on the team is available
Require emailAsk for an email address before the first message
Email follow-upsOffer visitors an opt-in to get replies by email (on by default)
Show agent avatarWhether replies carry the responder's avatar
Sound notificationsPlay a sound on a new message
Colour and positionChat-specific appearance overrides

Team availability

Set a timezone and per-day hours in the settings. Availability drives two things: the offline message, and — if you use it — when the AI agent steps in.

The agent side

Project → Live chat is the inbox. Conversations carry:

FieldNotes
StatusActive, waiting, resolved, archived
AssigneeAny workspace member
VisitorName and email when given, plus country, city, device, browser, OS
PageWhere the conversation started
Unread countMessages your side hasn't read
Rating1–5, with optional written feedback

You can send attachments in both directions.

The inbox has views for Unassigned, Mine, Open, Waiting, Snoozed, and Resolved conversations.

Internal notes

Switch the composer from Reply to Note to write something only your team sees — context for a colleague, a link to the related bug. Notes are never shown to the visitor, never emailed to them, and never given to the AI agent.

Saved replies

Save the answers you send most in Live chat → Settings → Saved replies, each with a title and an optional shortcut. In the composer, type / to search them and insert one; you can edit it before sending.

Snooze

Snooze a conversation to take it out of your queue until later: for 1 hour, 4 hours, until tomorrow at 9am, or until next Monday at 9am. It comes back when the time is up, or straight away if the visitor writes again. Snoozed conversations wait in the Snoozed view.

Email follow-ups

Reply emails are opt-in for each visitor. When Email follow-ups is on and a visitor starts a chat with an email address, the widget shows an unticked Email me replies if I leave this page checkbox. Only visitors who tick it get follow-up emails. A visitor who leaves it unticked, or gives no email, is never emailed.

For a visitor who opted in, a team reply they haven't read in the widget a couple of minutes later is emailed to them, with a link back to the page to continue the conversation. While the chat is open the widget reminds them ("If you leave, we'll email replies to…"). At most one email is sent per conversation every 10 minutes, and every email carries an unsubscribe link and one-click unsubscribe headers. Visitors can't reply to the email itself — they continue in the widget.

Turning Email follow-ups off removes the checkbox and stops follow-up emails for every conversation. Internal notes and AI replies are never emailed.

Ratings

A visitor can rate a conversation after it resolves, optionally with a comment. Ratings live on the conversation, so you can go back and read the ones that went badly rather than just watching an average.

Live chat or feedback?

They answer different questions and it's worth keeping them apart:

  • Live chat is a conversation with a person, happening now. It's synchronous and it expires — nobody wants an answer three days later.
  • Feedback is a report about the page, anchored to an element, that gets triaged and fixed. It's asynchronous by design.

The widget offers both, and visitors do pick correctly most of the time when your welcome message makes the distinction clear.

Next

On this page