> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anyreach.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Website demo overlay

> Generate a shareable demo that overlays your chat widget on a prospect website.

The website demo overlay renders a copy of any public website and floats your agent's [web widget](/web-widgets/overview) on top of it. Use it to demo your agent on a prospect's own site, or to test the widget against a realistic page before you embed the real script.

The overlay is a presentation layer only. It mirrors or screenshots the target page on demand and caches the result, but it stores nothing else about the site and never feeds your agent's retrieval. If you want your agent to actually *answer from* a website's content, ingest it through a [Knowledge Base](/knowledge-bases/overview) instead.

<Warning>
  This is not knowledge-base ingestion. The overlay only changes what the demo *looks like* — the agent behind it knows nothing about the rendered page unless that content is already in its knowledge base.
</Warning>

## How it renders

The demo loads the target site in one of two ways. By default it mirrors the live page in an iframe. If you pass `screenshot=true`, it loads a cached static image of the page instead.

| Mode                           | What you see                         | When to use                                                                             |
| ------------------------------ | ------------------------------------ | --------------------------------------------------------------------------------------- |
| Mirror (default)               | The live page proxied into an iframe | Most sites. Closest to the real experience.                                             |
| Screenshot (`screenshot=true`) | A cached static image of the page    | Heavy SPAs or sites with strict CSP / framing rules that refuse to render in an iframe. |

Mirror mode is more faithful but depends on the target site allowing itself to be proxied and framed. Sites with strict Content-Security-Policy or single-page apps that break when proxied may render incorrectly. When that happens, switch to screenshot mode — the demo shows a banner inviting you to load a screenshot instead, and you can also set `screenshot=true` on the link directly.

The overlay also self-heals the URL: if `https://` fails to load it retries with `http://` before giving up.

## Get the link from the deployment screen

The shareable link is generated for you on the agent's deployment screen once the web widget is published.

<Steps>
  <Step title="Publish the web widget">
    Open your agent, go to the deployment section, and turn the web widget channel on. The link only appears when the widget is in a published state.
  </Step>

  <Step title="Find Shareable Test Link">
    In the web widget card, locate the **Shareable Test Link** block: "Preview your widget on any website and share the link with your team."
  </Step>

  <Step title="Enter a website">
    Type the website you want to demo on (for example `https://example.com`) into the URL field. The agent's configured company URL is prefilled when available.
  </Step>

  <Step title="Copy and share">
    A read-only link to `/public/cloned-websites` is built automatically. Use the copy button and share it — no login is required to open it.
  </Step>
</Steps>

<Note>
  The generated link normalizes the website to its base domain so it matches the pre-warmed screenshot cache. When the agent's screenshots are ready, the deployment screen adds `screenshot=true` to the link for you so the demo loads instantly.
</Note>

## Link reference

The demo lives at the public path `/public/cloned-websites` and is configured entirely through query parameters.

```
https://app.anyreach.ai/public/cloned-websites?site=example.com&widget_id=<widget_id>&screenshot=true&open=1
```

| Parameter     | Required | Description                                                                                                |
| ------------- | -------- | ---------------------------------------------------------------------------------------------------------- |
| `site`        | Yes      | The website to render. Use the bare domain (for example `example.com`) so it matches the screenshot cache. |
| `url`         | —        | Alternative name for `site`. If both are present, `site` wins.                                             |
| `widget_id`   | —        | The widget to overlay. Without it, the page renders the site but loads no agent widget.                    |
| `screenshot`  | —        | `true` loads a cached static screenshot; any other value (or omitted) uses live mirror mode.               |
| `open`        | —        | Controls whether the widget opens automatically. Defaults to open; set `open=0` to start collapsed.        |
| `signup_cta`  | —        | Pass `signup_cta=1` to show the widget's sign-up call to action.                                           |
| `agent_name`  | —        | Display name passed through to the widget.                                                                 |
| `industry`    | —        | Industry hint passed through to the widget.                                                                |
| `distinct_id` | —        | Analytics identifier passed through to the widget for the demo session.                                    |

<Info>
  If `site` (or `url`) is missing, the page renders a "Missing required query parameter" message. The widget itself only loads once both `widget_id` is present and the page content is ready.
</Info>

## Related

<CardGroup cols={3}>
  <Card title="Web widgets" icon="window" href="/web-widgets/overview">
    Configure and embed the chat widget this demo overlays.
  </Card>

  <Card title="Testing agents" icon="flask" href="/agents/testing-agents">
    Try your agent before sharing a demo.
  </Card>

  <Card title="Knowledge Bases" icon="book" href="/knowledge-bases/overview">
    Ingest website content so your agent can answer from it.
  </Card>
</CardGroup>
