# Inbox

Invite supervisors from **Team** in the inbox ([Teams](https://vatio.ai/docs/team) covers
developers too). They sign in with a code
to their email, plus a passkey or an authenticator code if their account has
[two-step verification](https://vatio.ai/docs/team#two-step-verification-and-sessions), at
`inbox.vatio.ai/<workspace>` — every conversation, replies,
human takeover, ratings, and the agent's tool calls — along with
[analytics](#analytics), [what each report became](#report-a-reply), the
[knowledge](https://vatio.ai/docs/knowledge), whose entries they can edit there, and the
[business](#business) the agent works for. They see that and nothing else: no
deploy, no tools. Remove them from the same page
and the next request they make is refused, including a socket they already had
open.

Invite someone as a **viewer** instead and they read all of that with no reply
box and nothing to edit. Either role can be narrowed to some agents'
conversations ([Teams](https://vatio.ai/docs/team#limiting-someone-to-some-agents)), and every
conversation opened, reply sent and takeover handed back is recorded in the
workspace's [Activity](https://vatio.ai/docs/team#activity).

A supervisor can also connect the workspace's WhatsApp number, or renew its
access, when the number is theirs: see [When your client has the
number](https://vatio.ai/docs/channels/whatsapp#when-your-client-has-the-number).

There is nothing to embed and no token to mint. Being signed in to Vatio, as
someone this workspace has invited, is the whole access model.

Each conversation shows the channel it came through: **Widget** for Vatio's
[widget](https://vatio.ai/docs/channels/widget), **Web** for a page built on the browser SDK, then
iOS, Android, WhatsApp, Instagram and CLI. With more than one in use, the row
above the list filters by channel, and scrolls sideways when they do not fit.

Replying starts **human takeover**, which pauses agent replies on that chat —
from the inbox, or from the WhatsApp Business or Instagram app on your own
account, which reaches Vatio as an echo and counts the same. Hand it back from the inbox when
you are finished, or leave it: a takeover expires **8 hours after the last
thing the person said**, and the agent picks the conversation up again the next
time the visitor writes. The clock restarts on every human reply, so a
conversation somebody is actively holding never expires underneath them.

While it lasts, the conversation shows **Person** in the list and a banner above
the thread says who is handling it and that the agent is paused. Each human
reply says whether it came from the inbox, with the name of whoever wrote it,
or from the channel's own app.

A conversation you open from one of those apps, writing first to someone who
has never written to you, stays yours: the takeover starts when they answer,
however late that is, so the answer reaches you and not the agent. Until then
the chat stays out of the inbox. Whenever the agent does pick a conversation up
again, it knows which earlier replies a person wrote and stays consistent with
them.

To have the agent ask for a person itself, rather than waiting for one to
notice, declare [`handoff`](https://vatio.ai/docs/handoff) on it.

The contact pane beside a conversation is also where the owner and developer
members answer a person who asks for their data or asks to be forgotten:
**Download their data** and **Delete this contact and their data**. See
[Retention and deletion](https://vatio.ai/docs/data).

A message that went out with buttons shows them under it, one under the
other, as the contact saw them: the **Sign in** link, the button to share a
number, a template's buttons, and the three answers to the
[rating question](https://vatio.ai/docs/channels/whatsapp), with the one the contact tapped marked.
The rating itself sits in the thread where the visitor gave it, with their
comment if they left one.

## Search

The box above the conversation list finds a conversation the way a phone's
chat app does. Type a name, an `@username`, an email or part of a number and
the people who match come first; below them, every message that says it,
newest first, with who said it and when. Picking a message opens that person's
thread scrolled to it, however far back it is.

Case and accents don't matter (`envio` finds "Envío"), and several words find
the messages that have all of them. It searches the environment and channel the
list is showing, and only what the thread shows: never tool results or
discarded drafts. Messages are stored encrypted, so each search reads through
the most recent 10,000; when it stops short, **Search older messages** carries
on from there.

## Business

The **Business** page is what the agent knows about the business it works for,
set by the people who run it rather than by the developer: its name, a
description (what it does, where it is, how to reach it), and its
[opening hours](https://vatio.ai/docs/handoff#business-hours) — a time zone and shifts per day, or
someone always available. The agent uses them from the moment they are saved,
in every environment, and gives customers the hours when they ask. The page
also shows, read-only, the conditions the agent hands a conversation over on.

Its **Brand** card is how the business looks to visitors: the logo (the agent's
avatar in the widget and on the chat page), the brand color the widget uses as
its accent, and the "about" the widget shows before anyone writes.

## Analytics

**Analytics** is how the agent is doing over the last 7, 30 or 90 days, for the
environment being viewed:

- Conversations, with the change against the previous period, and how many
  asked for a person.
- Reports not solved yet, and how many were reported and solved in the
  period.
- The share of visitor ratings that were good, with the 👍 😐 👎 counts.
- Conversations per day, stacked by channel.
- The latest open flags and the latest visitor comments, each linking to its
  conversation.

Eval replays are not counted: they are Vatio testing the agent, not visitors.

## Report a reply

On any reply the agent wrote, **Report this reply** asks for **what should have
happened**: a different answer, an action, a tool the agent should have used,
a handover to a person. That note is a test from then on, whether the reply was
on live or on preview: every new version of the agent is asked the same
question and checked against it. Nobody marks a report as solved.

The report's state shows on the reply itself, in the conversation:

| State | Means |
|---|---|
| **Open** | The agent visitors talk to still answers it wrong |
| **Fixed · not published yet** | The next version answers it the way you asked; it is not live yet |
| **Resolved · a1b2c3d** | Live answers it the way you asked, since the version named |

Until the agent's first publish there is no live, so preview is the agent: a
report is resolved as soon as preview answers it right. If a resolved one is
still wrong, rewrite your note in the conversation: a new note is a new
request, and the report is open again. A report without a note cannot be
tested.

## Continuous improvement

**Continuous improvement**, in the inbox's menu, is every report the team made
and what is left to do about them.

At the top, **What's next** says it in one line: how many reports are open,
with the command to hand the developer, `/vatio:vatio-improve`, which they run
in Claude Code inside the agent's repository and which takes every open
report at once; how many fixes are waiting to be published; that a fix broke
something that already worked, so it cannot be published; or that everything
is resolved. Under it, when the last test ran and how many reports passed,
and for the owner and developers a link to **Test**, whose **Run tests**
replays them on preview.

Reports are listed under **Pending** (open, fixed but not published yet, or
broken again), **Resolved** and **All**. Each shows its note and the result
of its latest test, with the judge's reason. **See details** opens the
visitor's message, the reply that was reported, what the agent answered in
the test and the version that fixed it. **See conversation** opens the
thread. **Remove** deletes a report and its test, for everyone but read-only
members.

The workspace's developers get the same command by mail every morning there
are new reports. See [Improve your agent from flags](https://vatio.ai/docs/improve).
