Zum Inhalt springen
DeutschlandGPT

Chatbot WidgetsBeta

Build a branded chatbot and embed it on your own website with a single script tag

This feature is in beta. It is usable, but details can still change.

A chatbot widget is a branded assistant you build inside DeutschlandGPT and embed on any of your own websites. Visitors chat with it in a small panel; you control how it looks, which model answers, what it knows, who may embed it, and how much it may cost.

Open Chatbot Widgets to create and manage your widgets. This product is available to organizations (not personal accounts).

Chatbot Widgets are a beta feature and are not active by default. Until they are enabled, the "Chatbot Widgets" entry is missing from the sidebar's product switcher and the link above ends on a 404 page — this is not a fault.

Contract-managed organisations switch it on themselves under Settings → Organisation → General → Beta features: joining the beta programme unlocks features that are still being tested, including the embeddable chatbot widget. Business organisations do not have that section — for them, Support enables the product.

Either way, your administrator then grants the "Use chatbot widgets" permission in the role settings.

Create & Configure

Each widget is configured across a set of tabs in the builder. Every change autosaves to a draft — nothing your draft changes is visible to visitors until you publish (see below).

  • Identity — the name, brand color, launcher icon (one of the built-in glyphs, or your own logo as PNG/JPEG/WEBP), welcome message, and starter prompts (suggested questions shown when the chat opens).
  • Brain — the model that generates replies, plus the system prompt: hidden instructions that shape the bot's role, tone, and limits. Visitors never see the system prompt.
  • Behavior — voice input, transcript storage, and (when storage is on) the privacy notice.
  • Knowledge — documents the bot can answer from (see below).
  • Security & limits — the domain allowlist, rate limits, and the monthly budget cap.
  • Publish & versions — publishing and rollback.
  • Install — the embed snippet and a live preview.
  • Analytics — usage, cost, and the most common questions.

Knowledge (RAG)

Upload documents on the Knowledge tab and turn on Knowledge retrieval (RAG). The bot then searches your documents when answering and uses what it finds to ground its reply — shown to the visitor as a brief "searching knowledge" step (a tool call) above the answer.

Uploads are processed in the background: each document moves through extracting and embedding until it reaches Ready. A document with no extractable text shows Ready (empty). Documents stay private to the widget you uploaded them to.

Voice

Turn on Voice input in the Behavior tab to let visitors speak their messages instead of typing. Voice is billed the same way as text (see Billing).

Publish & Versioning

A widget only goes live when you publish it. Publishing takes a snapshot of your current draft and freezes it into an immutable version. The embedded widget always serves the published version — never your in-progress draft — so you can keep editing safely.

To undo a change, open Publish & versions and Restore an earlier version. Your current draft is kept and is not affected by a rollback.

Embed

Once published, open the Install tab and copy the embed snippet. Paste it just before the closing </body> tag on every page where the widget should appear.

The snippet is a single <script> tag pinned to an exact, frozen loader version with a Subresource-Integrity (SRI) hash and crossorigin="anonymous", so the browser verifies the script bytes before running it. The loader injects a sandboxed iframe that hosts the chat. The Install tab also shows a live preview — exactly what your visitors will see.

Domain Allowlist

On the Security & limits tab, list the domains allowed to embed the widget. This is enforced by the browser (via frame-ancestors), so it cannot be spoofed.

  • Only the domains you list may embed the widget.
  • If the allowlist is empty, nobody can embed it — this is fail-secure by design.
  • Add www and apex variants as separate entries if you use both.

How to write an entry

You may enter an address with or without https:// — both work, and paths are stripped automatically:

EntryEffect
example.comcovers http and https (recommended)
https://example.comhttps only
*.example.comall subdomains (not the apex domain itself)
localhost:3000local testing — with the port, exactly as in the address bar

Allowlist changes apply immediately; no re-publish needed.

Pages without a domain (file://)

An HTML file opened straight from disk, and sandboxed iframes, have the origin null, which frame-ancestors cannot express at all. Test over http://localhost instead — or enable Allow null origin, which lets any site embed the widget.

If nothing appears

The loader detects on your own website when the chat was blocked: it shows in place which domain is missing and reports it back. The Install tab lists the affected domains and lets you allow them with one click.

Rate Limits & Monthly Budget Cap

Two controls bound abuse and spend, both on the Security & limits tab:

  • Rate limits cap how many messages may be sent in a window. Per-IP limits (per minute, per day) are best-effort — visitors can rotate IPs — so the per-widget daily ceiling and the budget cap are the real backstops.
  • Monthly budget cap is a best-effort monthly ceiling. Once this month's spend is reached, the widget auto-pauses and visitors see a friendly "unavailable" message. Because cost is known only after each reply finishes, a few in-flight messages may slightly overshoot the cap. Leave it empty for no cap.

There is also a max messages per conversation limit; when reached, the visitor is asked to start a new conversation.

Transcripts & Privacy

Transcript storage is off by default. When you turn on Store transcripts in the Behavior tab:

  • A privacy notice becomes required — you cannot publish without one.
  • Visitors see a consent gate and must accept before any conversation is stored.
  • Storing personal data triggers GDPR obligations: inform visitors via the notice and have a lawful basis.
  • Stored transcripts are retained for a limited period and then automatically deleted.

With storage off, only anonymous aggregates (for analytics) are kept — no message content.

Analytics

The Analytics tab shows conversations, messages, and cost over a selectable time range, a usage chart, and the most common visitor questions. Cost shown here matches what is billed.

Billing

Chatbot widgets are billed pay-as-you-go against your workspace credits. Widget chat and voice are billed at the standard pay-as-you-go chat rate (roughly a 1.15× markup over raw model cost), consistent with embedded chat elsewhere in the product. The monthly budget cap and the rate limits are your tools to keep that spend predictable.

Was this page helpful?