# floors.js Documentation

Configure everything from your dashboard.

## Customize your widget

Configure everything easily from your dashboard.

### Setup

- **data-key**  
  Required  
  Your site identifier. Scopes all visitors and rooms to your site.  
  `data-key="flr_..."`

- **data-name**  
  default: page <title>  
  Display name shown in the widget header.  
  `data-name="My Product"`

- **data-open**  
  default: "false"  
  Open the widget panel automatically on page load.  
  `data-open="true"`

- **data-owner-always**  
  default: "false"  
  Always show the owner's avatar in the home room, even when the owner is offline or in another room.  
  `data-owner-always="true"`

### Rooms

- **data-pages**  
  default: auto-detect  
  Comma-separated list of pages that show a visible door in the 3D scene. The widget works on every page regardless.  
  `data-pages="/,/about,/pricing"`

- **data-exclude**  
  default: none  
  Comma-separated paths to hide the widget on. Supports wildcards (*).  
  `data-exclude="/login,/signup,/app/*"`

### Appearance

- **data-accent**  
  default: "#6366f1"  
  Custom accent color for the widget UI.  
  `data-accent="#FF6B00"`

- **data-theme**  
  default: "dark"  
  Default color theme for the widget.  
  `data-theme="light"`

- **data-theme-toggle**  
  default: "false"  
  Show a sun/moon toggle in the widget header so visitors can switch between light and dark mode.  
  `data-theme-toggle="true"`

### Chat

- **data-pinned-message**  
  default: none  
  A message pinned at the top of the chat.  
  `data-pinned-message="Hey, ask me anything!"`

- **data-room-chat**  
  default: "false"  
  Scope chat messages to the current room.  
  `data-room-chat="true"`

- **data-no-links**  
  default: "true"  
  Block messages containing URLs or links in the chat.  
  `data-no-links="false"`

- **data-no-promo**  
  default: "true"  
  Block promotional messages from the chat.  
  `data-no-promo="false"`

- **data-auto-reply-keyword**  
  - **data-auto-reply-message**  
  default: none  
  Auto-reply whisper triggered when a visitor types an exact keyword.  
  `data-auto-reply-keyword="DISCOUNT"`
  `data-auto-reply-message="Here's your code: CHAT25"`

### Visitors

- **data-allow-rename**  
  default: "false"  
  Allow visitors to change their display name after entering.  
  `data-allow-rename="true"`

- **data-private**  
  default: "false"  
  Private mode — visitors are isolated from each other.  
  `data-private="true"`

### Discord notifications

Get pinged on Discord when a visitor sends a message on your site.

### Telegram bot

Reply to your visitors directly from Telegram.  
1. Create a bot with [@BotFather](https://t.me/BotFather) on Telegram and copy the bot token.
2. Open your Dashboard, go to Settings, paste the bot token and chat ID, then hit Connect.
3. Reply to any forwarded message in Telegram — your answer appears instantly in the widget chat.

### Welcome to floors.js - Live Demo

Enter the building to see and chat with other visitors in real-time.

### Are you the owner?

Paste the settings code from your welcome email to verify.

### 3D scene couldn't load

Your browser may not support WebGL. Chat and rooms still work below.
