# Embedded mode

Normally Touchpoint shows up as a launch icon in the bottom right corner of your webpage and then as floating UI on top of your existing content (in text and voice mode covering up a substantial portion of your UI).

However, this may not be suitable for every app: sometimes you may want to control both the layout as well as the exact way the application is opened. Embedded mode is designed to solve this problem.

<pre class="language-html"><code class="lang-html">&#x3C;!doctype html>
&#x3C;html lang="en">
  &#x3C;head>
    &#x3C;meta charset="UTF-8" />
    &#x3C;title>Touchpoint&#x3C;/title>
  &#x3C;/head>

  &#x3C;body
    style="
      background-image: url(https://platform.nlx.ai/onboarding-bg/voiceplus.webp);
      background-size: cover;
      color: white;
    "
  >
    &#x3C;div style="width: 40vw; height: 80vh; margin: auto; padding-top: 10vh">
<strong>      &#x3C;nlx-touchpoint
</strong><strong>        id="touchpoint"
</strong><strong>        style="display: block; height: 100%"
</strong><strong>      >&#x3C;/nlx-touchpoint>
</strong>    &#x3C;/div>
    &#x3C;script type="module">
      import "https://unpkg.com/@nlxai/touchpoint-ui/lib/index.js?module";

      document.addEventListener("DOMContentLoaded", () => {
<strong>        touchpoint.touchpointConfiguration = {
</strong><strong>          config: {
</strong>          applicationUrl: "REPLACE_WITH_APPLICATION_URL",
          headers: {
            "nlx-api-key": "REPLACE_WITH_API_KEY"
<strong>            },
</strong><strong>            languageCode: "en-US",
</strong><strong>          },
</strong><strong>        };
</strong>      });
    &#x3C;/script>
  &#x3C;/body>
&#x3C;/html>

</code></pre>

This will result in the following:

<figure><img src="https://3978076094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2VnkvXtkrR2qhkVBmB1l%2Fuploads%2FEQMp0tE2dIuzREw525z0%2FScreenshot%202025-11-25%20at%2016.54.16.png?alt=media&#x26;token=fd2f9be6-b0fd-40e5-85f3-b8ce8226302e" alt=""><figcaption></figcaption></figure>

As you can see, we have complete control via HTML on where and when the touchpoint UI will be rendered.
