#Inbox
Invite supervisors from Team in the inbox (Teams 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, at
inbox.vatio.ai/<workspace> — every conversation, replies,
human takeover, ratings, and the agent's tool calls — along with
analytics, what each report became, the
knowledge, whose entries they can edit there, and the
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), and every conversation opened, reply sent and takeover handed back is recorded in the workspace's 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.
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, 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 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.
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, 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 — 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.