Skip to main content

Demo links

A demo link is a temporary address that opens a conversation with one of your agents in the recipient’s browser. They click it and talk. No account, no API key, no setup on their side — which makes it the fastest way to show an agent to a prospect, a colleague or a client. Open the agent and use Share. The panel asks for two things:
  • Link lives for — 1 hour, 24 hours, 7 days (the default) or 30 days.
  • Calls allowed — how many conversations the link may start in total. The platform default is 25, and the ceiling is 200.
You can also prefill the agent’s variables, so the demo talks about a particular client rather than reciting a generic script. The recipient sees those values on the page and can correct them before starting.
Only a published agent can be shared. A link to an unpublished agent cannot place a call at all, so the platform refuses to create one — while you can still publish the agent and try again.

What the recipient sees

The page opens with the agent’s name, a short form with the call details, and a Start call button. Starting the call asks the browser for the microphone; if there is no microphone, or permission is denied, the visitor can continue in chat without audio. The demo link page: the agent's name, the call details form, the Start call and Chat without audio buttons If the agent declares no variables, the form says so plainly — there is nothing to fill in, and the visitor can start right away. Variables are filtered against the agent’s published version: only names the agent actually declares are accepted, and anything else the page sends is dropped. The browser can fill in the contract, never extend it. When a link is no longer usable, the page says so in one neutral sentence and asks the visitor to request a new link. Expired, revoked, used up and disabled all look the same from the outside — the reason is visible only to you, in the Share panel. A demo link is a credential handed to someone outside your organization, so its blast radius is limited by design:
  • One link, one agent. It cannot reach anything else in your organization.
  • A call ceiling and an expiry, both enforced atomically — a link cannot overrun its cap under concurrent use.
  • One conversation at a time. While a call is running, the link is busy and the next visitor is asked to try again in a minute.
  • Revocation at any moment. Revoking is immediate and cannot be undone: whoever holds the link can no longer call.
Treat the link itself as the credential. The Share panel can show the same address again — that is deliberate, so you can re-send a link you already handed out — which also means anyone who can open that panel can read a live link. For the same reason the whole demo-links section is closed to the member role, reads included. See Roles and access.
Each link in the panel shows its state: active, expired, revoked, or calls used up. The Share panel: link lifetime, call ceiling, and the list of issued links with their states

Demo calls in the history

A conversation from a demo link lands in History as an ordinary call, and you find it there with the All channels → web filter. A demo runs in the recipient’s browser, so the platform records it on the web channel rather than phone.
The web channel is not only demos. It also holds conversations from the widget on your site and from your own code on the browser SDK — everything that arrives from a browser rather than over a telephone line. If you use both, the channel filter narrows the list to browser calls but will not separate a demo from a widget call; filter by agent as well, since a demo link is always issued for a single agent.
They are ordinary calls in every other respect: transcript, analytics, recording and reports all work as usual — so a demo that went badly can be reviewed like any other conversation.

Embedding the conversation in your own site

A demo link is a ready-made page. When you want the same conversation inside your own product instead, use the browser SDK, published as @hubtalk-ai/web-sdk — a thin wrapper over the web call endpoint of the Web API.