Test your assistant before going live
Test your real assistant — grounded in your real content — from inside your own local or staging app, without spending a single billed conversation. When it answers the way you want, activate it and ship the normal snippet.
Sandbox testing is a preview feature. If the steps below don’t work yet, it isn’t enabled for your environment — ask us to turn it on.
How it works
The sandbox points your assistant at your own dev/staging page with a short-lived preview token. Traffic through that token:
- runs the real answer pipeline — retrieval, grounding, CTAs, language detection — exactly what your visitors will get;
- is never billed, and never mixes into your live analytics, CSAT, or leads;
- reaches your assistant even before you take it live, so you can test end-to-end first.
Steps
1. Generate a preview token
In the dashboard, open your assistant’s Install step and, under Test in your own app, click Generate sandbox snippet. You’ll get an embed snippet that includes a data-olotalk-sandbox-token. The token is scoped to that one assistant and expires after 7 days — regenerate anytime for a fresh one.
2. Drop it into your local or staging app
Paste the sandbox snippet into a page you’re developing — localhost, a preview build, or a staging hostname:
<script
src="https://cdn.jsdelivr.net/npm/@olotalk/assistant-loader@0/dist/loader.iife.js"
data-olotalk-assistant-id="ast_oltk_7Kd2mQxRv9TbNhLpW3Zsy"
data-olotalk-sandbox-token="…"
async
></script>
You don’t need to add your dev/staging hostname to Install domains — the token is what grants access, so it works from localhost and staging out of the box.
3. Test for real
Open the page and chat with the assistant. Ask the questions your visitors will ask; confirm the answers are grounded in your content, that CTAs fire where you expect, and that language detection behaves. Nothing here is billed.
4. Go live
When it looks right, publish the assistant — if your dashboard shows a Go live control, click it. Then embed the normal snippet — without the sandbox token — on your production site:
<script
src="https://cdn.jsdelivr.net/npm/@olotalk/assistant-loader@0/dist/loader.iife.js"
data-olotalk-assistant-id="ast_oltk_7Kd2mQxRv9TbNhLpW3Zsy"
async
></script>
Good to know
- Un-billed, but bounded. Sandbox conversations don’t count toward your plan. They’re rate-limited per assistant so a shared or leaked token can’t run up costs — if you hit the cap while testing, wait a few minutes.
- Isolated. Sandbox chats never appear in your live conversations, analytics, or leads. Once you’ve run some, a separate sandbox test conversations count appears on your billing page.
- The token is a credential. Keep it in your dev/staging embed, not on your production site. It expires on its own; regenerate whenever you need a new one.
- It stops working on your live site — on purpose. Once the assistant is active, the sandbox token is refused from any origin you’ve registered under Install domains, and those visitors get normal live conversations instead. So if a sandbox snippet ever reaches production, your real traffic still answers, still bills, and still shows up in your dashboard — it can’t be silently swallowed as test traffic. Test from
localhostor an unregistered staging host, where the token keeps working. - Bounded by design. Everywhere else the token works from any origin — that’s what lets it run on
localhostand preview builds without allowlisting. It stays bounded because it’s scoped to a single assistant, expires on its own, is never billed, and is rate-limited.
Prefer to test without a token? You can also load the live assistant on a staging or preview page you’ve allowlisted — see Troubleshooting → Test on a preview page. Those conversations count toward your plan like any other traffic; the sandbox above is the un-billed path.