Website embed
Put the assistant on your own site with a script tag and an allowed-domain list.
The embed is the fastest way to ship. A small loader script adds a launcher and an iframe; everything else runs inside that frame, so no platform credential ever reaches your page.
Install
- 1
Open Deploy
On your chatbot, go to the Deploy tab.
- 2
Allow your domains
Add each hostname that may use the widget.
www.example.commatches exactly;*.example.commatches its subdomains. A bare entry does not cover subdomains. - 3
Activate the chatbot
The widget loads but will not answer until the chatbot is Active.
- 4
Copy the snippet
Paste it before the closing </body> tag on every page that should show the chat.
<script
src="https://app.example.com/embed/widget.js"
data-chatbot="cb_YOUR_EMBED_KEY"
data-color="#111111"
data-label="Chat with us"
data-position="bottom-right"
async
></script>Script attributes
What protects it
- The embed key identifies a chatbot. It is not a credential and grants nothing beyond chatting with a chatbot you have published.
- The iframe document is served only when the chatbot is active and the requesting page's origin is on the allowed-domain list.
- That decision is carried in a short-lived signed token which the chat endpoint re-checks on every message.
- Application pages refuse to be framed; only the embed route may be.
- Requests are bounded by ceilings keyed on your workspace and chatbot, so a busy page cannot run up an unbounded bill.
Allowed domains are a browser-facing control
Previewing before you publish
Members of the workspace can open the widget from the Deploy tab even while the chatbot is a draft. That preview works only for a signed-in member with edit rights, from the application itself.