The widget is one script tag. It draws a launcher button, and the conversation
itself runs in an iframe on our origin.
Install
Put it before the closing </body> tag on every page you want the agent on.
Your public key is on the agent’s Channels page.
The public key is meant to be visible. It identifies which agent answers
and authorises nothing. It is not your API key — that one can message your
whole contact list and belongs in a server environment, never in HTML.
On Shopify, WordPress or PrestaShop, use the plugin instead. Same widget, no
code, and it can recognise signed-in customers.
Recognising signed-in customers
Add two attributes and your visitors stop being strangers:
The HMAC is what makes it a claim rather than a guess. Without it the id is
treated as unverified and bound to nothing. Full recipe, in Node, Python and
PHP.
What it renders
The widget is the richest channel: cards, carousels, buttons and forms all
render natively. Anything the agent shows here degrades sensibly on WhatsApp and
Telegram rather than arriving blank.
Conversation history
A returning visitor sees their previous conversation. The reference is stored in
their browser, so it survives a page reload and a return visit, and it is
per-browser: the same person on their phone starts a new thread unless they are
signed in and verified.
Branding
Free workspaces carry a “We run on ThinnestAI” line with a link. Paid plans do
not.
Appearance
The launcher button, the agent’s name and its logo are yours to set on the
agent’s Settings page. The logo appears in the widget header and beside every
reply.