> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.6mm.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.6mm.com/_mcp/server.

# Website and App Integration

> Website and App Integration — Open System Settings → Website Integration. Configure the allowed website domains and copy the generated code. The App Key identifies your tenant; it is not a login password or identity-sign

## Copy the tenant integration code

Open **System Settings → Website Integration**. Configure the allowed website domains and copy the generated code. The App Key identifies your tenant; it is not a login password or identity-signing secret. The customer support widget is separate from the Trading Widget SDK.

The following illustrates the supported script attributes. Replace the placeholder with your tenant's App Key and use the script URL generated by your console.

```html
<script src="https://cs.6mm.com/widget/widget.js"
        data-app-key="YOUR_TENANT_APP_KEY"></script>
```

For an existing button:

```html
<button id="support-button">Contact support</button>
<script src="https://cs.6mm.com/widget/widget.js"
        data-app-key="YOUR_TENANT_APP_KEY"
        data-trigger="#support-button"></script>
```

## Visitor identity

| Mode              | Integration responsibility                                                                                           |
| ----------------- | -------------------------------------------------------------------------------------------------------------------- |
| Anonymous visitor | Use the tenant's configured visitor entry; the system identifies the browser visitor                                 |
| Signed-in user    | Generate the identity token on your backend and pass the stable user ID and signed token using the console's example |

The supported signed-in attributes are `data-user-id` and `data-user-token`. Keep the signing secret on your server; do not insert it in HTML, mobile code or an AI prompt. Use the exact token format and lifetime shown in the console.

For an App or WebView, use the entry and integration mode provided for your tenant. Test navigation, authentication, file selection and viewport behavior on the actual device; a website snippet alone does not establish native SDK support.

## Verify the entry

Check allowed domains, language, light/dark theme, opening and closing, a test message, human support and ticket submission. When switching website users, verify the identity passed to the widget belongs to the current user. If the widget does not open, inspect the App Key, script loading, domain settings and tenant service availability.