What Vroxy is
Vroxy is an embeddable support-chat widget for your website. You paste one <script> tag on your site; your visitors get a chat bubble in the corner — your branding, your greeting, your bot prompt — and every conversation lands in your Vroxy workspace.
The bot answers from the knowledge-base docs you publish. Anything it can’t handle is visible to you in the workspace, where you can take the conversation over and reply as a human.
The pieces
Section titled “The pieces”The widget. The chat bubble your visitors see. Installed with one script tag, or with the Rails gem. It renders inside a Shadow DOM, so your site’s CSS can’t touch it and its CSS can’t touch your site. See Installing the widget.
Your workspace. Where you and your team work. Its URL looks like /w/<id>/<your-slug>/… — the id keeps links stable even if you rename the workspace. The sidebar holds, in order:
- Dashboard — activity at a glance.
- Chats — every widget conversation, with the full transcript and an operator reply box. A red dot means someone is waiting for a person.
- Rooms — team chat channels and DMs for your workspace, separate from visitor chats. A red dot means unread messages.
- Feedback — structured feedback items filed from the widget.
- Visitors — everyone who has opened the widget, with their
identify()data and chat history. - Docs — your bot’s knowledge base.
- Tools — custom bot tools that link into or fetch from your own site.
- Errors — exceptions reported from your own app and from the widget.
- Embed — install snippet, API key, identity-verification secret, origin allowlist.
- Settings — branding and bot behavior.
- API tokens — server-to-server keys.
- Members — invite teammates and manage their roles.
Which entries you see depends on your role. The sidebar collapses to an icon rail, and your choice is remembered.
The bot. Answers visitor questions using your published docs plus your own system prompt. It gets the list of your published doc titles up front, then searches your docs and reads the best matches in full before answering. You pick the model (or leave it on the default) on the Settings page.
The operator mobile app. Handle chats and rooms from your phone, with push notifications for new visitor messages and hand-off requests. It’s in development (early access) — ask us in this chat if you’d like in.
How a conversation flows
Section titled “How a conversation flows”-
Boot. A visitor loads a page carrying your snippet. The script resolves your workspace from the public key in its
src, generates (or reads) a 32-character visitor token inlocalStorage, and draws the launcher bubble. If your origin allowlist is populated and the page’s origin isn’t on it, nothing boots. -
Open. The visitor clicks the bubble and sees your greeting. No conversation record exists yet.
-
First message. The conversation is created on the visitor’s first message. From here the widget holds a live WebSocket to Vroxy; if that connection is blocked (some corporate proxies block WebSockets) it falls back to polling every 10 seconds, so replies still arrive.
-
The bot answers. By default the conversation is in bot mode. The bot searches your published docs, may call your custom tools, and its reply appears in the widget as soon as it’s ready.
-
Escalation, when needed. If the visitor asks for a person — or raises something the bot shouldn’t decide — the bot flags the conversation for a human and passes along a one-line reason. The chat joins your workspace queue (a red dot on Chats) and your operators are notified.
-
A human takes over. When you reply from Chats (or the mobile app), the conversation flips to human mode and the bot stands down. The visitor sees a line saying who joined. “Hand back to bot” re-arms it.
-
The chat ends. The visitor can end it, you can close it from the workspace, or it auto-closes after your configured window of inactivity. When a conversation the visitor participated in ends, they’re offered a 0–5 star rating and an optional comment, which shows up on your Chats page.
Conversations survive page reloads in the same browser, so a returning visitor picks up where they left off.
What you configure where
Section titled “What you configure where”Branding and bot behavior — header title, brand color, first-message greeting, bot model, bot system prompt, chat auto-close — live on Settings. Everything about installation — the snippet, your API key, the identity-verification secret, the origin allowlist — lives on Embed.
Settings changes take effect the next time the widget loads on a page; sessions already open keep the branding they booted with.