Set up your public chatbot
The public chatbot is an embeddable chat widget that you can integrate into your website. This guide walks you through the complete setup process.Step 1: Enable public access
Before embedding your chatbot, configure your agent’s public settings.Enable public access
In the settings panel, locate and toggle on the Public Access option to make your agent available for embedding.

Add your domain
Enter the domain where you’ll be embedding the chatbot. This should be your website’s URL (for example, 
docs.yourcompany.com). This ensures the chatbot only loads on authorized domains. You can use http://localhost:port for testing purposes.
Step 2: Embed the widget
Add the Atthene chatbot to your website using the following code.Add the container element
Add this container to your HTMLLoad and initialize the script
Add this script after the container element:YOUR_AGENT_KEY with the Agent Key you copied from the agent settings.
When the page loads, you see the chatbot launcher button and you can open a conversation.
Widget types
Atthene supports two display modes:Floating Button
A collapsible chat widget that appears as a button in the bottom corner of your page (position configurable). Users click to expand the chat interface.

In-Place
The chat interface is rendered directly in the page, always visible and expanded. Ideal for dedicated support pages or embedded chat sections.

type property in your configuration (see Technical configuration below).
Step 3: Configure your chatbot (optional)
You can customize the chatbot’s appearance and behavior by passing additional parameters towindow.atthene.initialize().
Configuration reference
Theinitialize function accepts an AttheneOptions object organized into the following categories:
Technical
Core technical configuration for the chatbot widget:| Property | Type | Description |
|---|---|---|
agentKey | string | Your agent identifier (required) |
connectionKey | string | Deprecated connection key for non-AMAS agents |
elementId | string | ID of the container element (default: atthene-chatbot-root) |
type | 'floatingButton' | 'inPlace' | 'modal' | Chat widget display type - see Widget types for visual examples (default: floatingButton) |
userToken | string | Token for user identification and session management |
Content
Content and messaging configuration:| Property | Type | Description |
|---|---|---|
placeholder | string | Custom placeholder text for the message input field |
welcomeMessage | string | Custom message displayed when chat opens |
disclaimer | string | Legal disclaimer displayed at the start of the chat |
persistentDisclaimer | string | Disclaimer that remains visible throughout the chat |
hintQuestions | string[] | Array of suggested questions to help users get started |
feedbackInputPlaceholder | string | Placeholder for feedback input field |
feedbackInputCaptionText | string | Caption text for feedback section |
Images
Theimages object allows you to customize branding:
| Property | Type | Description |
|---|---|---|
images.assistant | string | URL to custom assistant avatar image |
images.assistantNoBackground | boolean | Whether the assistant image has no background (default: false) |
Styling / Theming
Visual appearance and styling configuration:| Property | Type | Description |
|---|---|---|
launcherTooltip | string | Tooltip text shown when hovering over the launcher button |
launcherRight | boolean | Position launcher on the right side (default: false) |
launcherExtraShadow | boolean | Add extra shadow effect to the launcher button (default: false) |
font | string | Custom font family for the chat widget |
Theme
Thetheme object allows you to customize colors and appearance:
| Property | Type | Description |
|---|---|---|
theme.dark | boolean | Enable dark mode (default: false) |
theme.accentColor | string | Primary accent color (hex format) |
theme.assistantMessage.bg | string | Background color for assistant messages |
theme.assistantMessage.text | string | Text color for assistant messages |
theme.userMessage.bg | string | Background color for user messages |
theme.userMessage.text | string | Text color for user messages |
Audio
Audio features are only available if you have subscribed to the appropriate tier and saved an ElevenLabs API key in the platform settings.
| Property | Type | Description |
|---|---|---|
enableAudio | boolean | Enable audio input/output capability (default: false) |
playAudioByDefault | boolean | Auto-play audio responses when audio is enabled (default: true) |
Voice configuration
ThevoiceConfig object configures audio output voice settings (requires enableAudio: true):
| Property | Type | Description |
|---|---|---|
voiceConfig.model_id | string | Voice model to use (e.g., eleven_turbo_v2_5) |
voiceConfig.voice_id | string | Specific voice identifier |
voiceConfig.speed | number | Speech speed (0.5 to 2.0) |
voiceConfig.stability | number | Voice consistency (0.0 to 1.0) |
voiceConfig.similarity_boost | number | Voice similarity level (0.0 to 1.0) |
voiceConfig.use_speaker_boost | boolean | Enhance speaker clarity |
voiceConfig.style_exaggeration | number | Emotional expression level (0.0 to 1.0) |
Configuration examples
Minimal setup
Just the essentials:Customer support bot
With hint questions and feedback:Fully customized with theming
Complete customization with branding and theme:With audio capabilities
Enable voice interaction:Troubleshooting
- Launcher does not appear: Confirm you added the container element and that
elementIdmatches the containerid. - Loads locally but not in production: Verify your production domain is allowlisted in agent settings.
- Console shows a script error: Confirm the
scriptElement.srcURL is reachable from your site. - Agent Key error: Ensure you copied the full Agent Key without extra spaces or characters.
Next steps
- Monitor performance: Review agent analytics to see how visitors use the chatbot.
- Test thoroughly: Verify the widget works across devices and browsers.
- Iterate on configuration: Tune welcome text, theme, and launcher placement based on user feedback.
- Collect user feedback: Use the feedback feature to continuously improve responses.
