# Live chat

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

Source: https://docs.annot8.app/docs/chat/overview



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**.

<Callout type="warn">
  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.
</Callout>

## The visitor side [#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**:

| Setting                 | Effect                                                           |
| ----------------------- | ---------------------------------------------------------------- |
| **Welcome message**     | The first thing a visitor sees when they open Messages           |
| **Offline message**     | Shown when nobody on the team is available                       |
| **Require email**       | Ask for an email address before the first message                |
| **Email follow-ups**    | Offer visitors an opt-in to get replies by email (on by default) |
| **Show agent avatar**   | Whether replies carry the responder's avatar                     |
| **Sound notifications** | Play a sound on a new message                                    |
| **Colour and position** | Chat-specific appearance overrides                               |

## Team availability [#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](/docs/chat/ai-agent) steps in.

## The agent side [#the-agent-side]

**Project → Live chat** is the inbox. Conversations carry:

| Field        | Notes                                                              |
| ------------ | ------------------------------------------------------------------ |
| Status       | Active, waiting, resolved, archived                                |
| Assignee     | Any workspace member                                               |
| Visitor      | Name and email when given, plus country, city, device, browser, OS |
| Page         | Where the conversation started                                     |
| Unread count | Messages your side hasn't read                                     |
| Rating       | 1–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 [#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](/docs/chat/ai-agent).

## Saved replies [#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]

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 [#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 [#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? [#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](/docs/feedback/inbox)** 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 [#next]

<Cards>
  <Card title="The AI agent" href="/docs/chat/ai-agent">
    Auto-replies, tone, guardrails, and handoff.
  </Card>
</Cards>
