Add a Voice AI Agent to TYPO3 (2026 Guide)
Add the AnveVoice voice agent to TYPO3 with TypoScript: footerData for a raw script tag, or includeJSFooterlibs with async. Notes on v14 changes.
How to add AnveVoice to a TYPO3 site
TYPO3 adds page assets through TypoScript. The simplest version-proof install is page.footerData, which outputs the script tag before the closing body tag. The alternative, page.includeJSFooterlibs with async, depends on your TYPO3 version because the external property was removed in v14. Steps checked against the official documentation on 2026-10-14.
At a glance
- Where the code goes: TypoScript setup of your site package or root template (page.footerData or page.includeJSFooterlibs)
- Coding needed: A few lines of TypoScript; Admin or integrator access
- Plan limits: None: TYPO3 is self-hosted, but TypoScript access is normally limited to administrators
- Time: About 10 minutes
Before you start
Get your embed ID from app.anvevoice.app (Free plan: $0, 50,000 tokens a month, one bot, no card). You need to be able to edit the TypoScript setup for your site, either in the Template module of the backend (the root template's Setup field) or in your site package's setup.typoscript file. If a developer manages the site package in version control, give them the lines below instead of editing the backend. TYPO3 offers several ways to add JavaScript. The reference documentation lists includeJS, includeJSLibs and their footer variants for files, and footerData for arbitrary output. For a third-party tag with a query string, footerData avoids any file-handling quirks.
- 1. Copy your install tag — Replace YOUR_EMBED_ID with the ID shown in your AnveVoice dashboard (app.anvevoice.app). Optional URL parameters are &position=bottom-left and &theme=dark. Code: <script src="https://anvevoice.app/embed.js?embedId=YOUR_EMBED_ID" async></script>
Method 1: page.footerData (works on every version)
The TypoScript reference describes footerData as working like headerData, but its output goes to the bottom of the page, just before the closing body tag. It takes numeric keys, each holding one content object. Pick a number that no other extension uses; high numbers are a safe choice.
- 1. Open your TypoScript setup — In the backend open Site Management > TypoScript (or the Template module in older versions), choose the root page of your site and edit the Setup.
- 2. Add the footerData entry — Add these lines to the setup of the page object, keeping your existing configuration. Code: page.footerData.1760 = TEXT page.footerData.1760.value = <script src="https://anvevoice.app/embed.js?embedId=YOUR_EMBED_ID" async></script>
- 3. Save and flush caches — Save, then use the lightning icon in the backend toolbar to flush frontend caches (or flush all caches). TypoScript is cached, so the new output appears only after a flush.
Method 2: includeJSFooterlibs with async
The same reference says includeJSFooterlibs places a block at the bottom of the page, just before the closing body tag, and that sub-properties such as async and defer are available as with includeJS. For files on another host the reference documents an external property that skips the file-existence check, but also states that the per-file properties external, disableCompression and excludeFromConcatenation are not available in TYPO3 v14 and above, because TYPO3 no longer supports asset concatenation or pre-compression. So on TYPO3 v12 and v13, set external to 1 alongside async. On v14 and later, drop the external line; do not rely on it. If you are unsure of your version or are planning an upgrade, Method 1 is the safer choice.
- 1. Add the library entry (v12 and v13) — Use a key of your choice and the full URL as the value. Code: page.includeJSFooterlibs.anvevoice = https://anvevoice.app/embed.js?embedId=YOUR_EMBED_ID page.includeJSFooterlibs.anvevoice.external = 1 page.includeJSFooterlibs.anvevoice.async = 1
- 2. On v14 and later — Keep the first and third lines and remove the external line.
- 3. Flush caches — Flush the frontend caches from the toolbar and reload.
TYPO3-specific points
Which TypoScript wins: with several TypoScript templates or site sets, the page object you edit must be the one your frontend renders, usually the page object defined by your site package. If your entry sits in an extension template that is not included, nothing will be output. Multiple sites and languages: TypoScript assigned to one site root applies to that site only, so multi-site installations need the entry on each root, or in a shared site set. Use conditions if the assistant should appear only in some languages or page trees. Content security: if your site sends a Content Security Policy header, add anvevoice.app to its script sources; otherwise the browser will block the tag.
Check that it works
- 1. Open a front-end page in a private window — Use a page from the site root you edited.
- 2. Look for the button — A round microphone button appears bottom-right by default; allow the microphone (HTTPS required) and ask something.
- 3. Look at the source — Search for anvevoice.app/embed.js near the end of the body.
Common problems on TYPO3
- Nothing appears: caches were not flushed, or the TypoScript is in a template that is not active for this page tree.
- The tag is escaped as text: the value was set with a stdWrap that encodes HTML; use TEXT with a plain value as shown.
- Works on v12 but not after upgrading to v14: the external property no longer exists; switch to footerData or remove that line.
- Appears in the head: the entry was put in headerData or includeJSLibs by mistake.
Sources
- TYPO3 TypoScript reference (v13): page properties, includeJSFooterlibs, footerData (https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Setup/Page/Index.html) — checked 2026-10-14
- TYPO3 TypoScript reference (v12): includeJS external and footerData (https://docs.typo3.org/m/typo3/reference-typoscript/12.4/en-us/Setup/Page/Index.html) — checked 2026-10-14
Related
- How to add AnveVoice to a Drupal site
- How to add AnveVoice to a Joomla site
- How to add AnveVoice to an Umbraco site
- How to add AnveVoice to a WordPress site
Try AnveVoice on your site
Free plan: $0, 50,000 tokens a month, no card. Get your embed ID in the dashboard, then paste one tag.