If you edit your own HTML files, you can place your agent on any page you choose. You need the one tag NetShow gives you and a small text file that proves the site is yours. These steps fit a site on your own server, shared hosting, or a static host that serves ordinary files. Publish your agent first; Publish it shows that step. A private agent cannot answer visitors on your site.
The names of any hosting menus in this guide are the platform's own as of September 2026 and may move. If your host's controls look different, search its help for “upload files,” “site root,” “hidden folders,” or “Content-Security-Policy.”
Put the tag in your pages
Open your agent's website embed page from its Deploy page. Under Paste this tag into your website, press Copy code. Keep the copied tag unchanged: its values identify your agent and its door. Put it just before </body> in each HTML page file where the agent should appear. If all those pages include the same footer file, put the tag once in that shared footer instead.
Here is the shape of a small page after insertion. your-agent is only an example; paste the actual tag from your own page, including any extra attributes it contains.
<!doctype html>
<html lang="en">
<head><title>Our site</title></head>
<body>
<h1>Welcome</h1>
<script src='https://app.netshow.ai/js/ns-chat-widget.js' charset='utf-8' data-agent='your-agent' data-agent-slug='your-agent' data-api='https://app.netshow.ai/api/door/your-agent/chat' data-name='Your agent' data-welcome='Hello' data-theme='netshow' data-tracker='' data-domain-config='' data-livechat='' data-door-lane='1'></script>
</body>
</html>
Upload the changed HTML files to your host and load one of those pages in a browser. The tag goes on your website, rather than in the NetShow dashboard. Before verification, the bubble may appear but tells visitors the door is closed instead of answering.
Publish the check file
Under Add your website and verify it, enter your full HTTPS site address in Website address, then press Request this site. Use the address the browser finally shows. For example, if the bare domain redirects to www, request the www address. If both bare and www addresses answer, add each one.
Open Verify ownership and activate chat beside the requested address. It shows the exact text your site must serve. At the top of your site, beside its home page file, make a folder named .well-known. Inside it, make a plain text file named netshow-origin.txt. Put only the exact text shown on the NetShow page in that file, then upload it to your host. In a browser, open https://your-address/.well-known/netshow-origin.txt; you should see that same text directly. The check does not follow redirects, so the requested address and the file's address must match exactly.
If the browser shows 403 or 404, your host may be hiding folders whose names start with a dot. Ask the host how to serve /.well-known/, then retry the file address. Once it opens, press Verify and activate. The address must be active before the agent can answer there. If your host cannot serve that file, use the Hosted Share Link on the Deploy page as a link or button to your agent's own page instead.
If your site sends a security policy
If your server sends a Content-Security-Policy header, allow https://app.netshow.ai in script-src for the copied script and in connect-src for the agent's chat door. The widget file also loads a NetShow script for its optional stage layer and may load an agent face from the same app host. If your policy sets img-src, allow https://app.netshow.ai there for that face. If you already allow other image hosts for your own site, keep those entries.
The widget also recognizes https://claude.netshow.ai as an alternate NetShow script and API host; allow it in script-src and connect-src only if your copied tag names it. For a tag that carries a realtime voice mint URL, the widget can connect to https://api.openai.com; add that host to connect-src when that voice path is offered. Audio returned by the agent's door can use a local blob: URL; allow blob: in media-src if your policy sets it. The widget can open an agent panel from https://app.netshow.pro when that optional panel is offered, so a policy with frame-src must allow that host for the panel. Check your actual copied tag and browser policy errors before changing a policy that has more specific rules.
What visitors meet, and how to remove it
The page shows a bubble in its corner. Where the agent has its own face, the widget uses it. A visitor can open the agent and choose Talk; the microphone asks for access only after a tap. The agent's display stays as configured. A visitor without a microphone or speaker can use the small chat menu.
To take the agent off a page, remove the tag from that HTML file or shared footer and upload the change. On the embed page, use the Withdraw control beside the address to withdraw that site's permission to answer. Removing the tag takes away the bubble; withdrawing the address closes the door even if an old page still contains the tag.