BotChata
Get started

How to Add an AI Chatbot to TYPO3 — the Quick Way (One TypoScript Line)

↑ Part of AI chatbot for your website

In short: You create an AI agent in BotChata, let it index your website, and add a single script tag to your TYPO3 site — either through one line of TypoScript (site-wide) or a TYPO3 HTML content element (single page). From then on, the chatbot answers visitor questions around the clock — using only your own site's content, in 40+ languages. GDPR-compliant, hosted in Germany (EU).

Start free — no credit card · Live in 5 minutes · Free plan forever

Who this is for: TYPO3 sites are usually maintained by an agency or in-house integrator. The site-wide method below is a single TypoScript line — hand it to whoever manages your TYPO3 template. The per-page method needs no code at all.

What You Need (Prerequisites)

Part 1 — Set Up BotChata (about 3 minutes)

Step 1: Create an account and an agent

Sign up at botchata.net and open the dashboard. Go to "AI Agents" → "New Agent", give it a name (e.g. your company name), and confirm.

The free start needs no credit card — just your email. (You can optionally activate the 7-day Premium-features trial later with a card; not needed for this guide.)

Step 2: Let it index your website

On the agent, open the "Links / Sources" tab and click "Add source". Enter your website URL and choose "Add entire website".

BotChata reads every reachable page and turns it into the knowledge base. For ~50 pages this takes 1–3 minutes. The status changes from "Indexing" to "Ready".

Why this matters: the bot answers only from your indexed content. If an answer isn't on your site, it says so honestly — instead of making something up. That protects your credibility.

Step 3: Quick test

Switch to the "Overview" tab and ask the bot a few typical customer questions in the live preview. If the answers are accurate, you're ready to embed.

Step 4: Copy the embed code

Open the agent's install / embed view and copy the script tag. It looks like this:

<script
  src="https://botchata.net/api/widget.js"
  data-api-key="YOUR_KEY"
  data-api-url="https://botchata.net/api"
  defer
></script>

The defer attribute makes the widget load asynchronously so it won't slow down your load time (Core Web Vitals). The widget runs in an isolated Shadow DOM — it can't interfere with your TYPO3 template.

Part 2 — Add the Code to TYPO3 (about 2 minutes)

✅ Method A (recommended, site-wide): one line of TypoScript

Add the script to your site's TypoScript setup — in the Template module (Web → Template → Info/Modify → Setup) or, better, in your site package's setup.typoscript:

page.includeJSFooter.botchata = https://botchata.net/api/widget.js
page.includeJSFooter.botchata.external = 1
page.includeJSFooter.botchata.defer = 1
page.includeJSFooter.botchata.data-api-key = YOUR_KEY
page.includeJSFooter.botchata.data-api-url = https://botchata.net/api

Or, if you prefer to inject the exact tag verbatim:

page.footerData.1746 = TEXT
page.footerData.1746.value (
  <script src="https://botchata.net/api/widget.js" data-api-key="YOUR_KEY" data-api-url="https://botchata.net/api" defer></script>
)

Clear the TYPO3 caches (Flush frontend caches) and the widget appears on every page.

This is the clean, update-safe way for a maintained TYPO3 site. Give the snippet to your integrator if you don't manage TypoScript yourself.

Method B (no code, single page): an HTML content element

If you only want the chat on one page and don't want to touch TypoScript:

  1. Edit the page → Add content element → "Special" → "Plain HTML".
  2. Paste the BotChata script into the HTML field.
  3. Save and clear the cache.

Method B only affects the page it sits on. For a site-wide floating widget, use Method A.

Step 3 — Check That It Works (Verification)

  1. Flush the frontend caches, then open your site in a new private/incognito window.
  2. The BotChata bubble appears in the bottom-right.
  3. Click it and ask a real question about your offering.
  4. The bot should answer within seconds with content from your website.

See the widget? You're live. 🎉

GDPR Note

Common Problems (Troubleshooting)

ProblemFix
The widget doesn't appear.Flush all TYPO3 caches (frontend + general), then the browser cache. Check the TypoScript is in the active template/root line.
TypoScript line has no effect.Make sure your root template "Includes" the site package setup, and the constant/setup is on the correct root page. Use the TypoScript Object Browser to confirm page.includeJSFooter is set.
The bot answers "I don't know".That page may not be indexed. In BotChata, check under "Sources" and re-index (one click).
The widget clashes with the design.The Shadow DOM should prevent this. If it still happens, adjust position/z-index in the Widget Builder (Business plan and up).
Answers in the wrong language.BotChata auto-detects the visitor's language (40+ languages). Test with a question in a fresh window.

FAQ

Does BotChata need a TYPO3 extension? No. A single script tag is enough — added via one line of TypoScript (site-wide) or a Plain HTML content element (single page). No extension to install.

Do I need a developer? For the site-wide method you need access to TypoScript — usually your integrator handles it (it's literally one line). The single-page HTML element needs no code.

Is this GDPR-compliant? Yes. Hosted in Germany (Hetzner), DPA included, no AI training on your data, controllable via your consent extension. See the GDPR note above.

Does the bot make up answers? No. It answers only from your indexed website content. If information is missing, it says so honestly instead of guessing.

What does it cost? The free start costs $0 (100 messages/month, no card). Paid plans start at $29/month — fixed price per plan, no per-message credits.

Will the widget slow down my site? No. It loads asynchronously (defer / includeJSFooter) in an isolated Shadow DOM and doesn't block rendering.

Start Now

Add an AI chatbot that knows your content to your TYPO3 site in minutes.

Start free — no credit card

100 messages/month free. GDPR-compliant, hosted in Germany.