Platform Guide

Everything SwiftChat can do — from adding your first site and fetching its brand, to customising the widget, publishing a Help Center and managing plans.

Overview

SwiftChat is a self-hosted AI customer-support platform: a RAG engine trained on your content, an embeddable chat widget, a public Help Center, human handoff and lead capture — managed from one dashboard.

Adding a site

From Sites → + Add, choose one of three modes:

While creating, click Fetch brand info to preview detected branding — or skip it and it fetches automatically on create.

Brand detection

Brand detection reads the site's real homepage (rendered through a headless browser for SPAs) and extracts:

On an existing site, use Fetch Brand in the site actions row. The preview shows exactly what will be applied before you confirm. Applying writes the favicon, primary colour, avatar, Help Center locale and quick prompts — it replaces the current values for those fields.

Embedding the widget

Copy the embed snippet from the site's Embed tab and paste it before </body> on any website, SPA or store:

<script src="https://your-host/widget/chatbot.js"
        data-site-id="YOUR_SITE_ID"
        data-api-url="https://your-host"></script>

All configuration is managed from the dashboard — no code changes or redeploys needed on the target site.

Website crawling

The crawler follows links within your domain, respects robots.txt and sitemaps, and stores each page's text for retrieval.

Online shops: product cards

For e-commerce sites, the crawler builds a product catalog automatically — from schema.org Product data, Open Graph product tags, or (for custom shops) product pages and listing cards with a title, price and image. When a reply mentions a product by name, the widget renders a product card (photo, name, price) that opens the product page on click. Re-crawl after adding products; disable under Behavior → Show product cards if unwanted.

Documents & text

Add Docs accepts PDF, DOCX, TXT, MD, CSV, PPTX, XLSX and HTML (up to 50 MB each). Files are parsed, chunked and indexed for retrieval. Free-text blocks and the shared Business information block work the same way — one edit re-indexes automatically.

Video knowledge Advanced

Paste a video URL in the upload modal and SwiftChat pulls its text into the knowledge base:

The transcript becomes a normal knowledge document — the bot can answer anything covered in the video, with the video listed in Knowledge.

Q&A overrides

Fix a single answer without touching the rest of the knowledge base. Add a question and its correct answer; it takes priority over generated responses. Manage them under Q&A in site settings — useful for pricing, policies and anything the bot gets wrong.

Business info

A reusable context block (address, hours, policies, tone of voice) injected into every conversation — set once per site, applies to all answers.

Appearance

The Appearance tab customises everything visual, with a live on-page preview:

Launcher & behaviour

Visibility rules

Show the widget only where it belongs: page-URL targeting, device targeting (desktop/mobile) and schedule windows (e.g. business hours). Off-hours visitors can see an offline form instead.

Custom CSS / JS

Inject your own CSS and JavaScript into the widget from Appearance → Advanced — deep integration without forking the widget code.

Help Center portal

Each site can publish a full knowledge base: categories with icons, articles with rich content, and AJAX live search. Visitors browse it inside the widget's Help tab or on the public portal at /hc/your-site.

See it live on our own portal: agent.swiftapps.cloud/hc.

Templates

Two layouts ship with the portal: Classic (hero search header) and Documentation (sidebar navigation). Switch any time in Help Center settings — visitors can preview both on the SwiftChat Help Center.

Custom domain Advanced

Serve the portal on your own subdomain, e.g. help.yourcompany.com. Create a DNS record pointing to your SwiftChat host, then set the custom domain in Help Center settings — the portal serves at the domain root.

Inbox & analytics

Conversations lists every chat with the full transcript; Analytics shows chat volume, top questions, satisfaction ratings and feedback trends per site.

Human handoff

When AI confidence drops or a visitor asks for a human, the conversation enters the Handoffs queue. Agents claim threads, see the full AI transcript and reply live. Handoff requires assigned agents — the Live Agent button hides automatically when none are configured. Off-hours requests become offline email tickets.

Lead capture

Visitor emails are captured inside the widget and listed under Leads with the conversation they came from — exportable to CSV and webhook-able for CRM sync.

Notifications

Per-site OneSignal configuration (kept private — never exposed in the public widget config) delivers browser push on new leads and handoff requests. Email notifications cover the same events.

Team & agents

Invite agents and assign them to sites. Agents see only their assigned sites' conversations and handoffs; account owners keep full control.

Platform & users

Master admins manage every account under Platform: create/edit users, set plans, suspend accounts, and delete users with the choice to transfer their sites and agents to the master account or remove everything. The same section configures landing-page content (ad slots, demo site, booking embed).

Plans & billing

Yearly billing saves ~17%. VAT applies at the legal rate. Stripe price IDs are configured through environment variables.

PWA & install

The dashboard and landing are installable Progressive Web Apps (manifest + service worker). Serve over HTTPS and use the browser's Add to Home Screen — bottom-nav mobile layout included.

Deployment

Docker-first: the Dockerfile produces a single all-in-one image (backend + frontend + crawler + headless browser). Required environment:

MONGODB_URL=mongodb://mongo:27017
MONGODB_DB=sitechat
JWT_SECRET=<random 32+ chars>
SITE_URL=https://your-host
MASTER_ADMIN_EMAIL=you@company.com
CRAWLER_JS_RENDER=true

docker-compose.yml adds MongoDB and optional Ollama; on Coolify deploy via the Dockerfile plus a separate MongoDB resource with MONGODB_URL pointing at it.

Missing something? The Help Center at /hc has bite-sized versions of these guides for your own visitors — and the in-widget Help tab serves the same articles during chats.