agentoom / core-chat-widget
Agentoom Chat Widget package
Requires
- php: ^8.2
- agentoom/core-main: *@dev
- laravel/framework: ^13.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
An embeddable, customizable web chat widget and conversational form UI for Agentoom AI agents.
Important
Post-Splitting Versioning & Pre-Release Notice (v0.8.0)
Version 0.8.0 represents the initial standalone release following the modular package extraction and architectural splitting from the Agentoom core monorepo. This package is currently in a pre-release state undergoing integration testing and requires appropriate validation and test coverage across target environments before being designated as production-stable (1.0.0).
🌟 Overview
The agentoom/core-chat-widget package provides an interactive chat interface that connects external website visitors directly to Agentoom agents. It features real-time message streaming, customizable floating action button (FAB) launchers, prompt suggestion starters, conversational lead forms, automated email submissions, domain origin security, and anti-abuse banning.
- Package Name:
agentoom/core-chat-widget - Version:
0.8.0(Pre-release / Post-split testing) - Namespace:
Agentoom\ChatWidget\ - Service Provider:
Agentoom\ChatWidget\ChatWidgetServiceProvider
🚀 Key Features
1. Embeddable Web Chat Interface
- Drop-in JavaScript Bundle: Embed any agent into external websites with a single
<script>snippet (agentoom.js). - Real-Time Streaming: Live streaming token display powered by Livewire (
WidgetChat), providing natural conversation feedback. - Customizable Appearance: Configurable primary colors, launcher icons, widget position, window dimensions, resizability, and dark mode toggles.
- AI Transparency & Disclosures: Built-in configurable AI warning and disclosure banners to ensure EU AI Act compliance.
2. Conversational Forms & Lead Capture
- Interactive Forms: Integrate structured forms (
Form,WidgetForm) directly into the chat flow. - Form Submission Service: Process lead captures, save records to the database, and trigger automated SMTP email notifications (
FormSubmissionService). - Post-Submission Handoff: Pass form responses back to the agent using customizable after-submit instructions.
3. Prompt Starters & Suggested Actions
- Starter Buttons: Display pre-configured prompt recommendations (
Prompt) to guide user conversations and showcase agent capabilities. - Grouped Prompts: Categorize prompt suggestions by intent or topic.
4. Security & Abuse Protection
- Allowed Domains Whitelist: Restrict widget embedding and API communication to specific authorized domain origins (CORS & frame protection).
- Anti-Abuse Banning: Ban abusive visitors by IP address or user identifier (
ChatWidgetBan), with configurable ban expiry and custom ban messages. - Memory Exclusion: Option to exclude anonymous public widget conversations from persistent long-term agent memory.
5. Multi-Tenant Administration
- Livewire Admin Management: Comprehensive administrative screens for managing widget deployments, customizing styling, previewing live widget instances, and tracking form submissions.
- Multi-Language Support: Fully localized in English (
en), German (de), Spanish (es), French (fr), and Italian (it).
📁 Package Structure
core-chat-widget/
├── database/
│ ├── factories/ # Factories for AgentWidget, Prompt, Form
│ └── migrations/ # Database migrations for widgets, forms, bans, prompts
├── resources/
│ ├── js/
│ │ ├── agentoom.js # Chat widget client embed loader
│ │ └── form-widget.js # Conversational form runtime
│ ├── lang/ # Translations (de, en, es, fr, it)
│ └── views/ # Livewire templates and layouts
├── routes/
│ ├── js.php # Routes serving dynamic JS assets
│ └── web.php # Web & Livewire admin routes
└── src/
├── Ai/Tools/ # Chat widget specific agent tools
├── DataTransfer/ # Import / export section handlers
├── Livewire/ # Livewire components (WidgetChat, WidgetForm, Admin)
├── Models/ # Eloquent models (AgentWidget, Prompt, Form, ChatWidgetBan)
├── Services/ # FormSubmissionService
└── ChatWidgetServiceProvider.php
💻 Embedding the Chat Widget
Add the script tag to your HTML header or body:
<script src="https://your-agentoom-domain.com/js/agentoom.js" data-widget-slug="support-agent-widget" async> </script>
To embed a standalone form widget:
<script src="https://your-agentoom-domain.com/js/form-widget.js" data-form-slug="lead-capture-form" async> </script>