---
title: "Testing your twin"
description: "The private sandbox that doesn't count against anything."
source: https://hiy.ai/docs/testing
---

# Testing your twin

**The Sandbox** is a private space where you talk to your twin exactly as a visitor would — same answers, same citations, same honest-gap treatment.

## The state line

The line at the top of the Sandbox says what your twin can answer from right now, and it is one of five: **Answering from your material**, **Answering from an older build**, **Training**, **Last train failed**, or **Nothing to answer from yet**. It comes from the same reader the [Train](/docs/training) page uses, so the two pages cannot tell you different things about the same twin at the same moment. **Answering from an older build** is the one worth watching for, and its second half says which of two things is true: either a train is waiting to pick your newer sources up, or some sources are held back from training and no train will ever collect them until you put them back.

## When there is nothing to answer from

If your twin has no material, the Sandbox doesn't drop you into a composer. It says plainly that it has nothing to answer from, and gives you a box to paste your first source into without leaving the page. That's your agent working, not failing — it answers from your material and nothing else, and when a question isn't covered it says so rather than filling the gap with something plausible. It can still say who you are, from your profile; what you think, what you've done and how you work have to come from you.

The sandbox itself is still one button away, so you can watch it decline if you want to. And once your first source is in, it waits for [training](/docs/training) to run before it can be answered from — until then the Sandbox keeps a line above the chat saying so.

## Nothing here counts

Test messages don't use your monthly message allowance, don't appear in Insights or Recent conversations, and don't create entries in your gap queue. Ask the same awkward question twenty times; nothing is recorded. Anything your agent would write to another system — a [Notify or a Call your endpoint action](/docs/actions) — is rehearsed rather than performed, so you can watch an action decide to run without it running.

None of that takes room on the page. The **?** beside the heading carries it — hover it, or tap it on a phone, and the note appears; it goes when you move away, and Escape closes it. There used to be a card above the chat saying the short version and folding the rest away, which spent a whole panel on one sentence and pushed the composer down. Two things stayed on the page rather than moving into the note, because they are the kind of thing you should not have to go looking for: that publishing never waits on this page, and — before you publish — that it works anyway.

The **Channels** workspace has the same rehearsed boundary. Its customer-facing
preview applies your local template draft immediately, so you can change the
greeting, starting points and visitor-facing options while you watch the result.
Trying a question there is still a test: it does not create a message, lead,
gap or usage record. Save draft and Publish are separate steps, so a preview
experiment cannot go live just because you typed into it.

The greeting and starting points in the Sandbox are the ones a visitor gets: if
that agent's first placement has a published [channel template](/docs/channels),
the Sandbox shows the template's, and otherwise the agent's own. A draft you
have not published stays in the Channels editor.

The Sandbox is the one *agent* page with no docked preview beside it. The preview is a private chat you can open next to whatever you're editing while an agent is open — it isn't on Dashboard or Knowledge either, which are about your account rather than one agent — and it isn't here, because this page already *is* that chat and a second one would be the same conversation twice. What this page carries instead is a door to the full-page preview below — the same one the docked preview opens elsewhere.

## The full-page preview

Open it from the expand icon beside this chat, or from the same icon on the docked preview beside any other agent page. The docked preview opens a new tab, preserving the selected channel and leaving your current conversation open. Channels also opens a new tab with a 30-minute appearance snapshot from this browser; the new tab starts its own test conversation. Every preview draws the widget with the chrome a visitor gets — the bubble's launcher and card, or the chat bar's two cards; what the full-tab stage adds is the room around it, and the controls for changing it.

It shows your agent on a plain backdrop at a real device width — the widget, and nothing pretending to be somebody's website behind it — and gives you a floating toolbar to change what's around it without touching your agent or your account:

- **The ground** — four backdrops (Paper, Ink, Wallpaper, Grid) so you can see your widget against something other than an empty page. Your pick is remembered in this browser and comes back the next time you open the preview here, but it's never saved to your agent — open the preview from another browser or device and it starts on Paper again.
- **The host theme** — light or dark, for this tab only. Flipping it never changes your own console's appearance, and it resets the next time you open the preview rather than following you around.
- **The channel** — a bubble in a page's corner, an inline embed in an article, or a full page, matching the channels your agent actually offers.
- **Device width** — desktop, tablet, or phone, so you can check your bubble at phone width without resizing your browser window. It disappears once you're genuinely looking at the preview on a phone, where a width switch would have nothing left to do.
- **X-ray** — off, and it's exactly what a visitor sees, including a Support Agent's handover panel and its lead form. On, it forces sources and full receipts open, which is the same scratchpad view the Sandbox above uses — reach for it when you're checking an *answer* rather than the *experience*.

Reset, an info tip, copy link, and close sit beside them — Escape closes it too. And everything from "Nothing here counts" above still holds here: nothing in the full-page preview counts toward your message limit, reaches Insights, or queues a knowledge gap, and anything that would write to another system is rehearsed rather than performed. That includes the two forms you can fill in yourself — a lead form, and the handover a Support Agent offers when it can't answer or when you ask for a person ("Send to the team"). Both complete the way a visitor's would, and both say underneath that nothing was saved: no lead lands in your list and nobody is emailed, so you can try the handover on your own agent as often as you like.

## It works before you publish

You can test a draft twin, so you can get it right before anyone else sees it. Testing first is a good habit — it isn't a requirement, and nothing on this page has to be finished before you go live.

## What publishing means

**Publishing lives on the Publish page.** The Sandbox used to carry a copy of that
control; it no longer does, so there is one place to go live from and one place
to stop. Testing and publishing are separate acts, and this page is for the
first one.

What publishing means depends on which twin you're looking at:

- **Your public twin** — Goes live at `hiy.ai/your-name` for anyone with the link, and hands you the [launch kit](/docs/sharing) — a QR code and three ready-to-post announcements.

- [A Support Agent](/docs/support-agents) — Starts answering inside your product, but only for visitors your own server vouches for with a signed token.

- [A Team Agent](/docs/team-agents) — Starts answering the colleagues on its reader list. Everyone else still gets a 404.

Publishing never waits on this page. Your index goes live the moment [training](/docs/training) finishes, so a question you haven't asked yet doesn't hold anything up.

## What to look for

- **Does it sound like you?** — If not, do the personality interview.

- **Does it cite real sources?** — If answers are vague and uncited, it needs more of your material.

- **Does it decline what it should?** — Ask it something off-topic and something private. If it happily answers, tighten [What it answers](/docs/what-it-answers).

- **Does it admit gaps?** — Ask something you know you haven't covered. It should say so rather than improvise.

## Keep the ones that matter

A question you asked once tells you about today. [Saved questions](/docs/saved-questions) keep it, record whether it should be answered from your sources or honestly declined, and re-run the whole set after you change anything — so you find out when something drifts instead of hearing it from a visitor.
