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

# Quickstart: Install Sleekplan

> Add the Sleekplan feedback widget to your app, identify your users, and optionally enable Single Sign-On — all in one short walkthrough

This guide walks you through the most common Sleekplan setup path: embedding the JavaScript widget in your app, identifying your logged-in users so feedback is properly attributed, and enabling Single Sign-On if you need it. By the end you'll have the widget running on your site with users identified by email and ID. If the JavaScript widget isn't the right fit, see [Standalone page](/install/standalone) or [Iframe embed](/install/iframe) for the alternatives.

<Steps>
  <Step title="Add the widget snippet">
    Go to [**Settings → Widget**](https://app.sleekplan.com/settings/widget) and copy the snippet shown there.

    ```html theme={"system"}
    <script type="text/javascript">window.$sleek=[];window.SLEEK_PRODUCT_ID=XY;(function(){d=document;s=d.createElement("script");s.src="https://client.sleekplan.com/sdk/e.js";s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})();</script>
    ```

    Paste it immediately before `</head>` in the HTML that loads your app.

    For a detailed walkthrough, see [Install the widget](/install/widget).
  </Step>

  <Step title="Identify your users">
    Passing user identity to Sleekplan ties every vote, comment, and feedback submission to the right person in your system — no separate Sleekplan signup required for your users. Listen for the `sleek:init` event and call `$sleek.setUser()` with the user's details.

    ```javascript theme={"system"}
    window.document.addEventListener('sleek:init', function () {
      $sleek.setUser({
        mail: 'user@example.com',
        id: 'YOUR_INTERNAL_USER_ID',
        name: 'janesmith'
      });
    }, false);
    ```

    Full parameter reference: [User setup](/sdk/user-setup).
  </Step>

  <Step title="(Optional) Enable Single Sign-On">
    SSO is required when you have private boards enabled or when your workspace is configured to require email confirmation before users can interact. To use it, generate a JWT on your server using your Sleekplan SSO secret and pass it as the `token` field inside `$sleek.setUser()`. The token is verified server-side, so your users are authenticated silently without any additional prompt.

    Generate your first token: [Single Sign-On](/authentication/single-sign-on).
  </Step>

  <Step title="Go live">
    Your widget is installed and your users are identified. A few common next steps:

    * Customize button placement and appearance in **Settings → Widget**.
    * Enable in-app changelog announcements so users see new updates inside your app.
    * Configure [Webhooks](/webhooks) to sync feedback events to your other tools.
    * Connect AI clients via the [MCP Server](/mcp-server).
  </Step>
</Steps>

<CardGroup cols={2}>
  <Card title="JavaScript SDK reference" icon="js" href="/sdk/overview">
    Full reference for `$sleek.setUser()`, `addMetadata()`, `resetUser()`, and all other SDK methods.
  </Card>

  <Card title="Troubleshooting" icon="wrench" href="/troubleshooting">
    Widget not showing, users not identified, or SSO failing? Start here.
  </Card>
</CardGroup>
