Paste one <iframe> tag → your website has an AI team.
No Login for Visitors
Anonymous visitors chat immediately — no signup, no account, no friction
Full Chat Experience
File uploads, Markdown rendering, and real-time streaming — the same chat UX as the Junis app
Origin Whitelist
The widget only loads on domains you explicitly allow
Built-in Rate Limits
Each visitor gets a 24-hour message limit (default 20, adjustable 1–500)
What are the two embed modes?
The embed widget is independent of your organization’s public visibility (
is_public). A fully private organization — one that never appears in the showcase — can still serve an anonymous widget on its own website.How do I enable the anonymous widget?
Widget settings live in Organization Settings → Publish tab and require the OWNER or ADMIN role.1
Switch to Public Anonymous
In the Publish tab, set the embed mode to Public Anonymous. This allows visitors to chat without a Junis account.
2
Add Allowed Domains
Add the exact origin of each website that will host the widget — scheme plus host, for example:
3
Copy the iframe code
Copy the generated snippet and paste it into your website’s HTML:
Your AI team is live on your website.
How do billing and rate limits work?
- Billing goes to the organization owner. Anonymous visitors never pay — every message a visitor sends is billed to your organization, exactly like your own usage.
- Per-visitor message limit. Each visitor can send a limited number of messages per 24 hours — default 20, adjustable between 1 and 500 in the Publish tab. This caps your worst-case cost per visitor.
- Returning visitors continue their conversation. When a visitor comes back, the widget resumes their previous session instead of starting from scratch.
Can I restrict what the widget can do?
Yes. You can block specific tools for widget conversations at the organization level, so anonymous visitors get answers without triggering sensitive or expensive capabilities (for example, tools that write to internal systems). Your members’ normal chat sessions are unaffected.Widget vs. team link — what’s the difference?
Use the widget to put your AI team on your website. Use the team link to share a login-gated page hosted on Junis.
Why does the widget say my domain is not allowed?
The widget verifies the parent page’s origin as reported by the visitor’s browser against your allowed-domains list. If a whitelisted site is still blocked, check these in order:- Origins must match exactly — scheme, subdomain, and port all count.
https://www.example.com,https://example.com, andhttp://example.comare three different origins; whitelist each one you actually serve the widget from. - Nested iframes — the origin that is verified is the widget’s immediate embedding frame. If your page builder or preview tool wraps the widget in its own iframe, whitelist that innermost frame’s origin, not just your site’s.
- Very old browsers — browsers that expose neither
location.ancestorOriginsnor a referrer cannot prove where the widget is embedded, so those visitors are blocked by design. All current Chrome, Edge, Safari, and Firefox versions are supported.
The origin check is enforced when the visitor’s session is created — it cannot be satisfied by the iframe’s own network headers (those always point to the widget itself), so simply proxying or copying the iframe tag onto an unlisted site will not work in a browser.
Next Steps
Organization Wiki
Give your widget answers from your team’s shared knowledge base
Agent Orchestration
Design the AI team that powers your widget
Tools & Capabilities
Control which tools your agents can use
Team Management
Manage roles — widget settings require OWNER or ADMIN
Questions? Contact us at contact@junis.ai for help setting up your embedded AI team.
