Skip to main content
The Junis embed widget places your organization’s AI team on any website with one iframe snippet. Visitors chat with your orchestrator — with streaming responses, file uploads, and Markdown rendering — without creating a Junis account. Usage is billed to your organization, and per-visitor rate limits plus an origin whitelist keep the widget under your control.
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:
Origins must not include a path — https://example.com/support is invalid. Use * to allow all origins, but only do this if you understand that any website can then embed your widget (and its usage bills to you).
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.
Start with the default limit of 20 messages per visitor and raise it once you have observed real traffic and cost in your usage dashboard.

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.
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:
  1. Origins must match exactly — scheme, subdomain, and port all count. https://www.example.com, https://example.com, and http://example.com are three different origins; whitelist each one you actually serve the widget from.
  2. 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.
  3. Very old browsers — browsers that expose neither location.ancestorOrigins nor 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.