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

# Install Live Chat on your website

> Configure a Chat App, allow exact website origins, install the launcher, and troubleshoot access and current reply-delivery limits.

Install the Protodesk launcher using the code for your website's Chat App. You need owner or admin access to manage Chat Apps and access to edit your website.

**Current limitation:** the dashboard's shared reply sender currently rejects external Live Chat replies, including media sends. A visible launcher, working Help tab, or received visitor message does not establish two-way support delivery. Confirm availability with support before using the widget as your only customer-contact channel.

## Set up the correct Chat App

1. Open **Settings → Live Chat**.
2. If there is no Chat App, select **Enable Live Chat**. If only a non-live app exists, the page may offer **Create live app**.
3. If the **Chat App** selector is shown, choose the intended app and check its environment.
4. Turn on the website chat widget and decide whether **Anonymous visitors** may start chatting.
5. Configure the allowed websites below, then select **Save changes**.

The current creation form starts with `https://protodesk.io` as its allowed website. Replace that with your own site's origin before installation; creating an app does not discover your domain automatically.

Keep anonymous access enabled if you intend to use the basic anonymous installer. Turning it off is not the same as connecting your website's login system. Verified customer identity requires a separate developer integration; never put server secrets or identity-signing credentials in the script.

## Allow your website

Under **Website setup → Allowed websites**, enter one exact HTTPS origin per line:

```text theme={null}
https://www.example.com
https://app.example.com
```

An origin is the scheme and hostname, plus a port if the site uses a non-default port. Do not include a path such as `/support`, a query, or a wildcard such as `*.example.com`.

`https://example.com` and `https://www.example.com` are different origins. Add each site that will host the widget, and save the changes. A production live app does not accept insecure HTTP localhost origins; use an appropriate test setup for local development.

## Install the script once

1. Find **Website setup → Installation code**.
2. Select its **Copy** button, not the separate Public Chat App ID copy button.
3. Add the complete script once before the closing `</body>` tag in the website layout that serves the relevant pages.
4. Save and deploy the website change.

The generated installer has this structure:

```html theme={null}
<script
  defer
  src="https://chat.protodesk.io/widget.js"
  data-protodesk-app-id="YOUR_PUBLIC_CHAT_APP_ID"
></script>
```

Use your generated code, not the placeholder above. The Public Chat App ID is an identifier intended for website installation, not a secret API credential. It does not remove the allowed-origin checks.

Appearance is loaded from the saved Chat App settings. You do not need to reinstall the script for routine colour, theme, copy, or position changes. Do replace the installation ID if you deliberately move the website to a different Chat App.

## Check the installed widget

Open the deployed website at an allowed HTTPS origin and refresh it. Confirm the launcher opens in the expected corner. Check a narrow mobile window as well as desktop, and test Help navigation separately if you enabled it.

The settings preview is a preview, not a delivery test. Before promising live support, use a designated test conversation to check visitor submission, arrival in **Threads**, and a customer-visible reply. The current dashboard reply limitation must be resolved or a supported delivery path confirmed before that final check can pass. Do not use a real customer's conversation as a test.

## Troubleshoot a missing or unavailable widget

* **No launcher:** confirm the complete script was deployed once and references the intended app. Check whether a consent manager or browser extension is blocking it.
* **Wrong website or access error:** compare the page's actual origin with the saved Allowed websites list, including `www`, scheme, and port.
* **Chat unavailable:** confirm that the selected Chat App is active and the widget-enabled change was saved. A disabled or archived app is not usable just because its script remains on the website.
* **Blocked script or frame:** ask your website administrator to check Content Security Policy and browser console errors for `https://chat.protodesk.io`. Allow the required script/frame origins without disabling your site's security policy or adding broad wildcards.
* **Anonymous visitor cannot start:** check Anonymous visitors. If it is off, a working verified-identity integration is needed.
* **Preview works but website does not:** the preview does not prove deployed script installation, allowed-origin matching, network access, or reply delivery.

When contacting support, include the page URL without private query parameters, the public Chat App ID, approximate test time, and the visible error. Do not send access tokens, server secrets, or customer message contents unless specifically required through an approved support channel.

Next, see [Customize the Live Chat widget](/guides/customize-the-live-chat-widget) or [Show your Help Center in Live Chat](/guides/show-help-center-in-live-chat).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.