TYPO3 chatbot: add an AI assistant to TYPO3
You don’t need a TYPO3 extension for Kyros. You paste one snippet: via TypoScript or the Fluid template for the whole site, or as a Plain HTML content element for a single page. With notes on the Content Security Policy in TYPO3 v12 and v13.
Kyros is not a TYPO3 extension, and there is nothing to install in TYPO3. To add a TYPO3 chatbot with Kyros, you copy a snippet from the “Install the widget” dialog and paste it into TYPO3 once. For the floating chat bubble in the corner of every page, that’s a single line:
<script src="https://kyros.omniratio.de/api/widget?id=…&sig=…&type=chatbot"></script>The other option is the inline frame: an <iframe> that shows the chat in a fixed spot in your page content, such as a contact or help page. You’ll find both codes in the install dialog under “Website / framework” → “TYPO3”. The instructions there read: “Paste it into your Fluid page template just before the closing body tag, or add it via TypoScript (page.footerData). Editors can also use a ‘Plain HTML’ (Reines HTML) content element.”
One addition: a Plain HTML element only affects the page it sits on. If the bubble should appear across the whole site, the snippet belongs in TypoScript or the template. The step-by-step guide below shows how.
What “TYPO3 AI” means here, and what it doesn’t
Kyros is an AI assistant for the people visiting your website. It answers questions from the pages whose URLs you add in Kyros and from Golden answers you write yourself. When an answer draws on your pages, numbered source links (“Further Links”) appear below it. If your content has no answer, the assistant is instructed to say so.
It is not an AI tool for editors inside the TYPO3 backend: it doesn’t write, translate or maintain content in TYPO3, and it needs no access to your backend. If that’s the tool you’re after, Kyros isn’t the right fit. There are content limits too: Kyros doesn’t crawl a whole site or sitemap on its own, and it can’t ingest PDF files. Anything the assistant should know has to be on a web page you add or written as a Golden answer. When editors change a page in TYPO3, Kyros can re-sync it automatically every 6, 12 or 24 hours or weekly.
Three ways to add the chatbot to TYPO3
Which one fits depends on whether the chat should appear on every page and who is allowed to change what in your TYPO3 installation.
TypoScript: page.footerData
For the floating bubble on every page. TYPO3 outputs footerData just before the closing </body> tag. You need access to the TypoScript, ideally in your site package.
Fluid template in the site package
Also for every page: the snippet sits in the page template before the closing </body> tag. A natural choice when your agency or IT team maintains the layout in the site package.
Plain HTML content element
For the inline frame or the chat on a single page. Editors don’t need TypoScript access. The element only affects the page it sits on.
Site-wide: via TypoScript (page.footerData)
Before you touch TYPO3, get the assistant ready in Kyros:
- Create an assistant and add the URLs of the pages it should answer from, one per line. Changes in Studio go live only when you click “Publish.”
- Open “Install the widget,” choose “Floating bubble” and pick “TYPO3” under “Website / framework.” Copy the code.
- Under “Website access,” you set which domains the chat can open on, meaning your TYPO3 site’s domains. On other domains the chat button still shows, but the chat window won’t load.
According to the TYPO3 documentation, whatever you put in page.footerData is output at the bottom of the page, just before the closing </body> tag. That is exactly where the Kyros snippet belongs. Add a text object with the copied code to the TypoScript in your site package:
page.footerData.1790 = TEXT
page.footerData.1790.value = <script src="https://kyros.omniratio.de/api/widget?id=…&sig=…&type=chatbot"></script>The number 1790 is just an example; check that it isn’t already taken in your TypoScript. The TYPO3 documentation describes a site package as a custom extension holding your site’s templates, TypoScript and assets, which makes it the intended place for changes like this. You don’t need an extra extension for Kyros.
page.jsFooterInline is the wrong place: it expects plain JavaScript, and TYPO3 wraps it in <script> tags itself. A complete <script src="…"> tag therefore doesn’t belong there.
Alternative: in the Fluid template
If your agency or IT team maintains the layout in the site package, the snippet can also go into the Fluid page template, before the closing </body> tag. Developers can instead include the script with the <f:asset.script> ViewHelper; TYPO3 renders such scripts in the footer by default.
For one page or as an inline frame: Plain HTML
Editors without access to TypoScript or templates can use the Plain HTML content element:
- In Kyros, open “Install the widget,” choose “Inline frame” and pick “TYPO3” under “Website / framework.” Copy the code.
- In TYPO3, add a new content element on the page you want and open the “Special elements” tab in the wizard.
- Choose “Plain HTML,” paste the code and save the element.
- Reload the page on the frontend and ask the chat a test question.
In a German backend, the tab is called „Besondere Elemente“ and the element „Reines HTML“; in the v13 content type dropdown, the same group appears as „Spezielle Elemente“. Keep in mind that the element only affects the page it sits on. That’s what you want for the inline frame. If you place the floating bubble this way, it also shows up on that one page only. If you can’t find the element, ask whoever looks after your TYPO3 installation.
Content Security Policy in TYPO3 v12 and v13
TYPO3 has had a Content Security Policy (CSP) API since version 12.3. In the frontend, it is off by default in v12 and v13. It is turned on with the feature flags security.frontend.enforceContentSecurityPolicy or security.frontend.reportContentSecurityPolicy, or per site in config/sites/<site>/csp.yaml.
If your site sends a Content Security Policy, it must allow content from kyros.omniratio.de, or the browser blocks the widget. For this, the TYPO3 documentation describes the mutations section in csp.yaml with mode: "append".
The developer tools console shows what is blocked. Test the setting in report mode first: TYPO3 lists violations under Admin Tools > Content Security Policy. Only enforce the policy after that. You can send installation questions via the contact page.
After installing
- The floating bubble appears on the pages your TypoScript or template applies to; the inline frame only on the page with the element.
- You set colors, logo, launcher and position in Kyros, not in TYPO3.
- Under “Code expiry,” you choose whether an embed code never expires or expires after 7, 30 or 90 days or 1 year.
- Chatlogs show what visitors ask and how they rate the answers. With “Revise,” you save a better answer as a Golden answer.
Sources: official TYPO3 documentation
- TypoScript reference: PAGE (footerData, jsFooterInline)
- Site package tutorial
- ViewHelper reference: f:asset.script
- Content element “Plain HTML” (fluid_styled_content)
- Content Security Policy (TYPO3 Core API)
The German labels „Besondere Elemente“, „Spezielle Elemente“ and „Reines HTML“ come from the official TYPO3 translations for v12 and v13. As of October 1, 2026.
For public bodies, universities and mid-sized companies
What the widget brings when you run a TYPO3 site for a public institution or a business.
9 widget languages
German, English, Ukrainian, Arabic, Turkish, Russian, Polish, French and Farsi, with Arabic and Farsi shown right to left.
Easy language switch
Visitors can turn on Easy language (Leichte Sprache); the assistant is then instructed to use short sentences. It doesn’t replace reviewed Easy language texts.
AI notice and privacy panel
Every widget permanently shows “AI-generated — responses may be inaccurate.” Under “Privacy” → “Using our chatbot,” visitors can read how the chat handles their data.
Hosted in Germany
The API and database run in Frankfurt. Each message is also processed by the provider of the AI model you choose, not always in Germany. A DPA (Art. 28 GDPR) is available.
Callback request via Card (Beta)
Kyros has no live chat and no handoff to staff. Instead, an Interactive Card can collect a callback request in the chat; submissions are stored per Card and can be exported as CSV.
Government Site Builder too
Alongside TYPO3, the install dialog has its own guide for the Government Site Builder (GSB), plus guides for HTML, React/Next.js and WordPress.
TYPO3 chatbot FAQ
Is there a Kyros extension for TYPO3?
No. Kyros is not a TYPO3 extension, and you don’t install anything in TYPO3. You copy a snippet from the Kyros “Install the widget” dialog and paste it in: via TypoScript (page.footerData) or the Fluid template for the whole site, or as a Plain HTML content element for a single page. You manage the assistant’s content, look and settings in Kyros.
Which TYPO3 versions does this guide cover?
The steps on this page cover TYPO3 v12 LTS and v13 LTS and are based on the official TYPO3 documentation (as of October 1, 2026). We haven’t checked them for other versions. If you run an older or newer version, please compare the page.footerData, Fluid template and Plain HTML routes with the documentation for your version.
Do I need to change the Content Security Policy in TYPO3?
Only if your site has turned it on. In TYPO3 v12 and v13, frontend CSP is off by default. If it’s active via a feature flag or config/sites/<site>/csp.yaml, it must allow content from kyros.omniratio.de, or the browser blocks the widget. According to the TYPO3 documentation, you do this with an entry under mutations using mode “append.” The developer tools console shows what is blocked; in report mode, TYPO3 lists violations under Admin Tools > Content Security Policy.
How do I add the chatbot without TypoScript access?
Use the Plain HTML content element (German: „Reines HTML“). You’ll find it in the new content element wizard under “Special elements.” Paste the code from Kyros and save. Note that the element only affects that one page, which works well for an inline frame on a contact or help page. For the floating bubble on every page, you need TypoScript or the template, so ask whoever looks after your TYPO3 installation.
What about data protection for a TYPO3 chatbot?
Kyros is hosted in Germany, with the API and database in Frankfurt. Each message is also processed by the provider of the AI model you choose, not always in Germany. A DPA (Art. 28 GDPR) is available, and according to the privacy policy, customer data isn’t used to train AI models. You set retention per assistant, and every widget has a privacy panel. None of this replaces your organization’s own legal assessment.
What does a TYPO3 AI chatbot with Kyros cost?
The Starter plan is €0, permanently, with no credit card required. It includes one assistant with a chat widget and monthly credits. Every message uses credits, and each model shows how many before you choose it. You don’t buy an extension, because you only paste a snippet. Pro and Business plans are available on request.
Further reading
AI assistant for public administration
What the assistant can do for public bodies and municipalities, and where its limits are
Embed the widget
The general guide to the snippet, the inline frame and website access
Chat widget
Colors, logo, launcher, languages and privacy panel at a glance
All install guides
Guides for WordPress, Shopify, Webflow and other systems
Put an AI assistant on your TYPO3 site.
The Starter plan is €0, permanently, with no credit card required. It includes one assistant with a chat widget.