Nivara Desk

Widget

One script tag on a tenant’s own site. A visitor asks a question without an account first, and it is answered before anyone is asked to read it.

The launcher is on this page

Bottom-right corner, reading Chat with support. It is the real build, running in this page’s document inside a shadow root — the same file a tenant loads, carrying the same Snippet. Ask it something the help centre covers, like how do I change my billing contact?

What happens when you send one

  1. The sessionThe Widget mints an anonymous session against the API, judged on this page's origin against the tenant's allowlist. No account, no email, no password.
  2. The TicketYour message opens a real Ticket, on the same queue a human agent works from. Nothing about it is a simulation.
  3. The Turnnivara-ai retrieves from the tenant's own help centre, and a gate decides whether what came back is worth answering with. If it is, the answer types itself in.
  4. Or a personIf the gate is not confident, nothing is guessed at you. The Ticket goes to the staff queue with a note explaining why, and you are told a person has it.

What a tenant pastes

Two values and nothing else to do. The tenant id is public by design — it grants nothing on its own, because the request is judged on the origin, which no script can forge.

<script
  src="https://nivara-web-nextjs.vercel.app/widget/widget.js"
  data-tenant-id="5eed0000-0000-4000-8000-000000000001"
  defer
></script>

On somebody else’s page

This page is served from the application’s own origin, so it cannot demonstrate the one thing the Widget most needs to be true: that it works, and stays contained, on a site nobody here controls. That is what the demo host is for — a genuinely foreign origin carrying a deliberately hostile stylesheet, where the Widget is judged the way a tenant’s visitor would judge it.

Open the demo host