CatéGPT
Documentation

Widget — embeddable chat & card

Add the CatéGPT assistant to any website. Two ways to show the chat — you can use both. On WordPress, TYPO3 or PrestaShop, the CMS plugins do all of this without touching code.

A · Floating bubbleCatéGPTB · Embedded chat
Two modes: a bubble at the bottom of the page, or the chat directly inside a page.
ℹ️
To get a site key, sign in and open the Embed the plugin page. See also the API documentation.

A · Floating bubble

<script
  src="https://categpt.chat/embed/widget.js"
  data-site-key="cgpt_site_YOUR_KEY"
  data-language="en"
  data-accent="#f9af19"></script>

Paste this at the very bottom of your pages (just before </body>) or via Google Tag Manager.

B · Embedded chat in a page

<div data-categpt-inline
  data-site-key="cgpt_site_YOUR_KEY"
  data-language="en"
  data-height="600"></div>
<script src="https://categpt.chat/embed/widget.js" defer></script>

Paste this block exactly where the chat should appear.

Attributes

AttributeDefaultDescription
data-site-keySite key (required).
data-languagebrowser languagefr, en, de, it, es, pt, pl.
data-accent#f9af19Accent colour.
data-ink#0a1733Ink colour (texts and header).
data-positionrightright or left (bubble).
data-height520Embedded chat height (px).
data-ordobothboth, nom, vom — which feast(s) the chat header announces on a day the Novus Ordo and the Vetus Ordo celebrate different feasts. both names them on two lines, each with its liturgical colour dot and its own permanent link. An unknown value falls back to both.

“Saint of the day” card (free, no account)

Show the saint and feast of the day (liturgical-colour dot, feast name, short excerpt, link to the day's page) on any website. Unlike the chatbot, this card is completely free: no site key, no account.

<script src="https://categpt.chat/embed/saint-card.js" data-locale="en" data-ordo="both" defer></script>
<div data-categpt-saint-card></div>

The <div data-categpt-saint-card> block marks where the card renders; when absent, it is inserted right after the <script> tag. The displayed date follows the visitor's timezone; when the day's data is unavailable the card simply does not appear.

AttributeDefaultValues
data-localefrfr, en, de, it, es, pt, pl.
data-ordobothboth, nom, vom — which ordo(s) the card shows on a day the Novus Ordo and the Vetus Ordo celebrate different feasts. An unknown value falls back to both.

Both attributes go on the <script> tag; every data-categpt-saint-card mount may override them with the same attribute, so one page can carry several cards configured differently.

When the day has Vetus Ordo Missae data (1960 calendar), the card adapts: the two ordos are always presented separately, each with its name, its class (e.g. “3rd class”) and its own permanent link — including when they celebrate the same saint, since they share neither rank nor text. data-ordo narrows it to a single one. Every feast carries its own short description, under its name.

💡
The card feeds on the free feast-of-the-day API — the same one you can call directly.

Security

ℹ️
The publishable key (cgpt_site_…) is locked to the domains you provide: it only works on your sites. For a server-side model, the WordPress plugin can use a secret key (proxy mode) that is never exposed to the browser.

Continuity to categpt.chat

The widget answers concisely and offers to see the full answer and continue the conversation on categpt.chat. The visitor arrives “fresh” (the 3 anonymous questions are not consumed by this handoff).

Billing

Usage-based (prepaid or subscription depending on your contract). Tracking is done in the CatéGPT console.

Privacy

ℹ️
The widget sets no cookie. Questions are kept pseudonymised. The “Powered by CatéGPT” attribution is part of the widget.

Troubleshooting

The widget doesn't appear. Check that the site key is correct and that your site's domain is in the allowed origins for that key.

“origin_not_allowed”. The domain the request comes from isn't allowed for this key — tell the CatéGPT team.

The embedded chat doesn't show. Make sure both the <div data-categpt-inline> and the <script> tag are present, and that your editor didn't escape the HTML (use code / HTML mode).

Nothing happens on click. The key may be suspended or the balance depleted — check in the CatéGPT console.

Go further

Widget · CatéGPT