Chat embed cookbook - CodeB native chat inside your app.
CodeB tenants ship a first-class chat surface at chat.html - DMs, group chats and meeting threads, stored per-tenant on the same domain as the softphone and meeting rooms. Embed it in three lines. European Digital Identity Wallet compatible: the visitor signs in through the tenant OIDC provider (or European Digital Identity Wallet via logineu.html) before the chat mounts.
See also: 6 embed recipes
| Integration | Mechanism | Best for | Snippet |
|---|---|---|---|
| iframe embed | chat.html iframe | Zero-code drop-in on any HTML page. | iframe-embed.html |
| Popup window | window.open | Sticky chat button, opens beside app. | popup-open.js |
| React wrapper | iframe component | React SPAs. | chat-embed-react.jsx |
| Vue wrapper | iframe component | Vue 3 SPAs. | chat-embed-vue.js |
| Angular wrapper | iframe component | Angular SPAs. | chat-embed-angular.ts |
| WordPress shortcode | PHP plugin | WordPress sites; no JavaScript wiring. | chat-embed-wordpress.php |
Authentication model
The embedded chat is session-authenticated. When chat.html loads without a valid tenant session cookie, it redirects to /login.html (or /logineu.html for European Digital Identity Wallet sign-in) and returns to chat after successful auth. No Bearer token is passed through the iframe URL.
RASP posture
All chat traffic goes through chat.ashx with IpAllowGate, per-tenant isolation, and loud [CHAT-*] + [CHAT-DIAG] diagnostics at every branch. Cross-tenant access is impossible - messages are keyed by tenant domain.
NIS2 / DORA / CRA
Chat retention, message export and audit trails follow the same per-tenant JSON-in-App_Data pattern as calls. NIS2 incident detection and DORA operational-resilience monitoring flow through the same log pipe consumed by the SIEM cookbook. Chat is filesystem+JSON per tenant, no database.
FAQ
Structured answers embedded in the schema block above.