SE AI Chatbot — User Guide

Version 2.0.4 · SE Extensions · March 2026

Table of Contents

  1. Introduction
  2. Requirements
  3. Installation
  4. Quick Start
  5. Dashboard
  6. Settings
  7. Knowledge Base
  8. Chat Logs
  9. Frontend Module
  10. Menu Item (Inline Chat Page)
  11. Licensing
  12. Troubleshooting

Introduction

SE AI Chatbot is an AI-powered chat assistant for Joomla 5 and Joomla 6. It adds a floating chat widget to your website that answers visitor questions using your own documentation as context. The chatbot supports multiple AI providers (Anthropic Claude, OpenAI GPT, Google Gemini, and DeepSeek), includes a built-in knowledge base with automatic web crawling, and provides full GDPR compliance controls.

The extension is distributed as a Joomla package containing two items:

  • com_seaichat — the main component, which includes the admin dashboard, settings, knowledge base manager, chat logs, the frontend chat controller, and a bundled system plugin that injects the chat widget on your pages.
  • mod_seaichat — an optional frontend module that lets you embed the chat interface in any Joomla module position as an inline panel rather than a floating bubble.

Requirements

  • Joomla 5.x or 6.x
  • PHP 8.1 or later
  • MySQL 5.7+ or MariaDB 10.3+
  • The PHP curl extension (for communicating with AI provider APIs)
  • An API key from one of the supported AI providers

Installation

  1. Download the package file pkg_seaichat_v2_0_4.zip.
  2. In your Joomla administrator, go to System → Install → Extensions.
  3. Upload and install the package file.
  4. After installation, the installer will automatically register and enable the bundled system plugin. If the plugin does not activate automatically, see the Troubleshooting section.
  5. Navigate to Components → SE AI Chatbot to access the dashboard.

Quick Start

To get the chatbot up and running as quickly as possible:

  1. Go to Components → SE AI Chatbot → Settings.
  2. Set Enable AI Chat to Yes.
  3. Under Show Widget on These Pages, tick the pages where you want the chat bubble to appear.
  4. Choose your AI Provider (Anthropic is the default).
  5. Paste your API Key and click Test to verify the connection, then click Save Key.
  6. Click Save All Settings at the bottom of the page.
  7. Go to the Knowledge Base view, click Add Documentation Source, and add the URL of your documentation or help pages.
  8. Click Crawl Now to index the content.
  9. Visit your frontend site — the chat bubble should appear in the bottom-right corner.

Dashboard

The dashboard is the landing page when you open the component. It shows:

  • License Status — whether your license is active, expired, or not yet activated.
  • System Status — a set of diagnostic checks confirming that AI chat is enabled, the API key is set, the system plugin is registered, enabled, and that the plugin file exists on disk. If any check fails, a hint is shown explaining what to do, along with a Repair Plugin Installation button that can fix common plugin issues automatically.
  • Statistics — total chats, chats today, active sessions, and the number of knowledge base sources.
  • Recent Conversations — a quick-glance table of the latest chat sessions with user name, first message, message count, status, and date.

Settings

The settings page is divided into several panels. After making changes, always click Save All Settings at the bottom of the page.

Chat Widget

  • Enable AI Chat — the master on/off switch for the chatbot. When set to No, the widget will not appear on any page and the chat API endpoint will return an error.
  • Show Widget on These Pages — a menu item picker that lists all published frontend menu items grouped by menu. Tick the pages where the floating chat bubble should appear. If nothing is selected, the widget will not appear anywhere. Use the Select All and Select None buttons to manage the list quickly.

AI Provider & Model

  • Provider — choose from Anthropic (Claude), OpenAI (GPT), Google (Gemini), or DeepSeek.
  • Model — the model dropdown updates automatically based on the selected provider. Available models include:
    • Anthropic: Claude Sonnet 4, Claude Haiku 4.5
    • OpenAI: GPT-4o, GPT-4o Mini, GPT-4.1 Mini, GPT-4.1 Nano
    • Google: Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash Lite, Gemini 2.0 Flash
    • DeepSeek: DeepSeek Chat (V3), DeepSeek Reasoner (R1)

API Key

Paste your API key into the text field. Use the Test button to verify that the key is valid and that a connection to the provider can be made — the result will confirm the provider name and model. Click Save Key to store it, or include it when you click Save All Settings.

A link below the field takes you directly to the console page of the selected provider where you can generate or manage your API keys.

Important: After testing, always click Save All Settings to persist all your configuration changes.

Appearance

  • Bot Avatar — upload a custom image (JPG, PNG, GIF, WebP, or SVG, max 2 MB) to use as the chatbot's avatar in the widget header and alongside its messages. If no avatar is uploaded, a default robot icon is shown. You can remove the custom avatar at any time to revert to the default.
  • Widget Position — choose whether the floating chat bubble appears in the bottom-right or bottom-left corner of the page.
  • Widget Colour — pick a primary colour using the colour picker or type a hex code directly. This colour is used for the chat header, send button, user message bubbles, and the floating bubble.

Behaviour

  • Max Messages per Conversation — the maximum number of user messages per session (between 2 and 50). After reaching the limit, the AI will suggest the user start a new conversation. The user can click the reset button in the chat header at any time.
  • Chat Header Title — the name shown at the top of the chat panel (e.g. "AI Assistant", "Support Bot", or your brand name).
  • Welcome Message — the first message the chatbot displays when a user opens the chat widget.
  • Input Placeholder Text — the greyed-out hint text shown in the text input before the user starts typing.

Contact Link

Optionally display a link at the bottom of the chat widget that directs users to a human support channel.

  • Contact URL — the link destination. Leave empty to hide the link entirely.
  • Link Text — the label displayed (defaults to "Contact Support").
  • Open In — whether the link opens in a new window or the same window.

GDPR Compliance

SE AI Chatbot includes a built-in GDPR consent gate.

  • Enable GDPR Consent — when set to Yes, visitors are shown a data privacy notice before they can begin a conversation. The chat input is hidden until they explicitly accept.
  • Privacy Policy URL — if provided, the words "privacy policy" in the consent text become a clickable link to this URL.
  • GDPR Consent Text — the full text of the notice. Use the {ai_provider} placeholder anywhere in the text and it will be automatically replaced with the display name of whichever AI provider you have configured (e.g. "Anthropic Claude", "OpenAI GPT", "Google Gemini", or "DeepSeek"). The default text references Art. 6(1)(a) GDPR and explains how data is transmitted and processed.

If a visitor declines the consent notice, the chat is disabled and a friendly explanation is shown. They can close and reopen the widget to be prompted again.

All GDPR-related strings (dialog title, accept/decline button labels, and the unavailable message) can be customised under Widget Text Overrides, and the component ships with translated defaults for English, German, French, Spanish, Italian, Dutch, Portuguese, Turkish, and Arabic.

System Prompt

The AI Instructions text area is the system prompt sent to the AI provider with every request. This controls the chatbot's personality, tone, and behaviour. The default prompt instructs the AI to be helpful, concise, and honest, and to answer based on the provided documentation context.

You can customise this to match your brand voice, add specific rules (e.g. "Always reply in formal English", "Never discuss pricing", "If you don't know the answer, direct the user to our support email"), or provide additional context about your products and services.

Widget Text Overrides

The chat widget's interface text is automatically translated via Joomla language files. The component includes translations for English, German, French, Spanish, Italian, Dutch, Portuguese, Turkish, and Arabic.

If you want to override a specific string regardless of the site language, enter your custom text in the corresponding field. Leave any field blank to use the default translation. The overridable strings are:

  • Status Text (default: "Online")
  • Bubble Tooltip (default: "Chat with AI")
  • New Conversation button
  • Close button
  • Send button
  • GDPR Title, Accept button, Decline button
  • Chat Unavailable title and message
  • Error Prefix and Generic Error Message

Knowledge Base

The knowledge base is what gives the chatbot context to answer questions accurately. When a user sends a message, the chatbot searches the knowledge base for relevant content and includes the best-matching excerpts in the prompt sent to the AI provider. Without knowledge base sources, the AI will only have its general training knowledge.

Source Types

The component supports four types of knowledge base source:

Type

Description

URL

A website URL that will be crawled. The crawler follows internal links to discover and index all reachable pages under that domain.

Text

A block of plain text pasted directly into the admin. Useful for FAQs, policies, or any content not hosted on a webpage.

Joomla Articles

Indexes content from your Joomla articles. You can select specific categories or index all published articles.

SP Page Builder

Indexes content from SP Page Builder pages, if that extension is installed.

Adding a URL Source

  1. Go to Components → SE AI Chatbot → Knowledge Base.
  2. Click Add Documentation Source (or the New toolbar button).
  3. Enter a descriptive Title (e.g. "Product Documentation").
  4. Set Source Type to URL.
  5. Enter the root URL of your documentation (e.g. https://docs.yoursite.com).
  6. Set Published to Yes.
  7. Click Save.
  8. Back on the Knowledge Base list, click Crawl Now next to the source.

The crawler will follow links within the domain, extract text content from each page, split it into chunks, and store it for search. The Chunks column shows how many searchable segments were created.

Adding a Text Source

  1. Click Add Documentation Source.
  2. Set Source Type to Text.
  3. Enter a Title.
  4. Paste your content into the Content field.
  5. Save, then click Process from the list view.

Adding a Joomla Articles Source

  1. Click Add Documentation Source.
  2. Set Source Type to Articles.
  3. Enter a Title.
  4. Optionally select specific Categories to limit which articles are indexed. If left blank, all published articles will be included.
  5. Save, then click Index Now.

Adding an SP Page Builder Source

  1. Click Add Documentation Source.
  2. Set Source Type to SP Page Builder.
  3. Enter a Title.
  4. Save, then click Index Now.

This option is only available if SP Page Builder is installed on your site.

Crawling & Indexing

Each source has a status indicator:

Status

Meaning

Pending

Source has been created but not yet processed.

Crawling / Processing

The source is currently being indexed.

Complete

Indexing finished successfully.

Error

Something went wrong — the error message is shown below the status badge.

You can re-crawl or re-index a source at any time by clicking the action button on the list. This is useful when your documentation has been updated and you want the chatbot to reflect the latest content.

Chat Logs

The Chat Logs view provides a full record of every conversation that has taken place through the chatbot.

Each row shows the user (name and email for logged-in users, or "Guest" for anonymous visitors), the session status, the number of messages exchanged, and the dates the conversation started and was last active.

Click the expand arrow on any row to reveal the full conversation transcript, displayed as a chat-style timeline with user messages on the right and AI responses on the left.

You can filter chat logs by status (Active, Escalated, or Closed) and search by user name, email address, or message content.

Frontend Module

The mod_seaichat module allows you to embed the chat interface directly into any Joomla module position as an inline panel, rather than relying on the floating bubble.

To use the module:

  1. Go to Content → Site Modules and create a new module of type SE AI Chatbot.
  2. Choose a module position where you want the chat to appear.
  3. Configure the module parameters:
    • Display Mode — choose Inline to render the full chat panel embedded in the page, or Bubble to show the floating widget (useful if you want the widget only on specific pages via module assignment rather than the global page selector in component settings).
    • Chat Height — set the height of the inline chat panel (default: 500px).
  4. Use Joomla's standard module assignment to control which pages the module appears on.
  5. Publish the module.

The module inherits all configuration from the main component settings (provider, API key, colours, GDPR, etc.), so there is nothing extra to configure.

Menu Item (Inline Chat Page)

You can also create a dedicated full-page chat experience by creating a Joomla menu item:

  1. Go to Menus and choose the menu you want to add the item to.
  2. Click New and set the Menu Item Type to SE AI Chatbot → Chat.
  3. Give it a title (e.g. "Chat with Us") and save.

This creates a standalone page with the chat panel embedded inline (not as a floating bubble), filling the content area. This is useful if you want a dedicated support page rather than having the widget float over existing content.

Licensing

The component uses a license key for receiving updates. The license status is shown on the dashboard:

  • Active — your license is valid and updates are available. The expiry date is displayed.
  • Expired — the extension continues to work, but you will not receive updates until you renew. Click Check License after renewing.
  • Not Activated — enter your license key in Options (via the Joomla component configuration) and click Activate License.

To enter your license key, go to the Joomla component options page at System → Global Configuration → SE AI Chatbot (or click the Open Options button on the dashboard) and enter it in the license key field.

Troubleshooting

The chat widget does not appear on the frontend

  1. Check the dashboard diagnostics. Open Components → SE AI Chatbot → Dashboard and review the System Status panel. All five checks should show green.
  2. Is AI Chat enabled? Go to Settings and confirm the master switch is set to Yes.
  3. Are pages selected? Under "Show Widget on These Pages", make sure the relevant menu items are ticked. If none are selected, the widget will not appear anywhere.
  4. Is the system plugin enabled? Go to System → Manage → Plugins, search for "SE AI Chatbot", and ensure it is enabled (green).
  5. Is the plugin file present? If the dashboard shows "Plugin file missing", click the Repair Plugin Installation button, or manually copy the plugin files from administrator/components/com_seaichat/plugins/system/seaichat/ to plugins/system/seaichat/.

The chatbot says "AI chat is not configured"

This means the API key is missing or empty. Go to Settings, paste your API key, click Test to verify, then click Save All Settings.

The chatbot says "AI chat is not enabled"

The master switch is off. Go to Settings and set Enable AI Chat to Yes, then save.

API key test fails

  • Verify you have copied the full API key with no extra spaces.
  • Ensure you are using a key that matches the selected provider (e.g. an Anthropic key when Anthropic is selected).
  • Check that your server's PHP curl extension is enabled and can make outbound HTTPS connections.
  • If you see SSL-related errors, your server's CA certificate bundle may be outdated.

The chatbot does not answer from my documentation

  • Check the Knowledge Base view and confirm at least one source has a status of Complete with a non-zero chunk count.
  • If the source shows Pending, you need to click Crawl Now / Index Now / Process to start indexing.
  • If it shows Error, expand the error message for details. Common issues include the target URL being unreachable from your server, or the server not having permission to make outbound HTTP requests.

Chat logs appear empty

  • Ensure conversations have actually taken place on the frontend.
  • If conversations exist but are not displaying, clear the Joomla cache and try again.

GDPR consent screen does not appear

  • Go to Settings and confirm Enable GDPR Consent is set to Yes.
  • Click Save All Settings.
  • Clear your browser's session storage (or open a private/incognito window) to reset any previous acceptance state.

For further support, contact support@se-extensions.com or visit se-extensions.com.

If you have any questions, need a quote or what to chat to me about websites, please fill out the form and I will get back to you as soon as possible or call me on:

07480 477885