
imago-chat-widget.js. Widgeten kopplas till en backend via HTTP-streaming och kräver ingen inloggning för slutanvändare. Du placerar ett eget HTML-element i din markup, laddar ett skript, och allt fungerar direkt.<imago-chat> som webbläsaren känner igen automatiskt när skriptet laddas. Elementet skapar en Shadow DOM-rot och injicerar all CSS inuti den — fullständigt isolerad från resten av din sida.<imago-chat> registreras globalt och aktiveras automatiskt.<imago-chat>-element med dina attribut, och en <script>-tagg som laddar widgetfilen. Placera båda precis före den avslutande </body>-taggen för bästa prestanda och korrekt DOM-initialisering.<script>-taggen till den faktiska URL:en där vi hostar imago-chat-widget.js.<imago-chat
webhook="https://gateway.imagoplatform.io/webhook/ef2f49f5"
theme-color="#226096"
welcome-message="Hej, hur kan jag hjälpa dig att hitta rätt bil?"
title="Bingster Cars"
placeholder="Fråga vad som helst!"
avatar-url="https://media.imagoplatform.ai/Swirl_300x300.png"
auth-token="33SJW0jRl1VH7JMb0giO7CQ1lU2c7T6Ef8r0wzsy"
conversation-starters='["Jag vill ha lägsta ägandekostnad","Jag söker något snabbt och sportigt","Jag behöver en elbil med lång räckvidd","Jag letar efter en SUV för familjen"]'
></imago-chat>
<script src="https://carfinder.imagoplatform.ai/path/till/imago-chat-widget.js"></script><imago-chat> med attribut.<script>-taggen efter elementet.<imago-chat>-elementet. Nedan finns en komplett referens över alla tillgängliga attribut, deras typ, standardvärde och funktion.mode-attributet.mode-attributet används widget-läget automatiskt.<imago-chat>-elementet exponerar en publik metod resetChat() som rensar konversationen och startar en ny session:imago-chat:ready-eventet, som triggar en gång efter att widgeten monterats och som även exponerar resetChat-funktionen via event.detail:resetChat() och eventet imago-chat:ready finns tillgängliga i alla lägen (widget / embedded / frameless), men de är mest användbara i frameless-läget där widgeten medvetet inte renderar någon egen reset-knapp.window.ImagoChatConfig. Detta är praktiskt när du genererar konfiguration dynamiskt på serversidan, eller när du vill hålla konfigurationen samlad i ett JavaScript-objekt snarare än utspridd i HTML-markup.window.ImagoChatConfig före skriptet laddas, annars läser widgeten inte konfigurationen.<script>
window.ImagoChatConfig = {
webhook: "https://gateway.imagoplatform.io/webhook/ef2f49f5",
themeColor: "#226096",
mode: "widget",
welcomeMessage: "Hej! Hur kan jag hjälpa dig?",
title: "Bingster Cars",
placeholder: "Fråga vad som helst!",
avatarUrl: "https://media.imagoplatform.ai/Swirl_300x300.png",
authToken: "33SJW0jRl1VH7JMb0giO7C",
conversationStarters: [
"Jag vill ha lägsta ägandekostnad",
"Jag söker något snabbt och sportigt"
]
};
</script>
<script src="imago-chat-widget.js"></script>window.ImagoChatConfig använder camelCase, t.ex. themeColor, avatarUrl.theme-color, avatar-url. Detta är konsekvent med webbstandarder.window.ImagoChatConfig utan ett <imago-chat>-element i HTML:en skapas elementet automatiskt och läggs till i <body>. Du behöver alltså inte ens ha elementet i din markup om du föredrar den JavaScript-baserade konfigurationen.<imago-chat> läggs till i DOM:en skapas en Shadow DOM-rot med attachShadow({ mode: 'open' }). All widgetens CSS injiceras som en <style>-tagg inuti denna Shadow DOM. Det innebär fullständig bilateral isolation — widgetens CSS läcker inte ut till resten av sidan, och sidans CSS påverkar inte widgeten. Du behöver inte oroa dig för stilkonflikter med ditt befintliga tema eller CSS-ramverk.{
"message": "Användarens meddelande",
"sessionId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-03-19T14:30:00.000Z",
"device": "desktop"
}mobile, tablet eller desktop.application/json. Svar med fälten output, text eller message.begin-, item- och end-events.<imago-chat> som eget HTML-element.<script>-sökvägen är korrekt och att filen är åtkomlig. Öppna webbläsarens utvecklarverktyg (F12) och kolla fliken Network — letar du efter ett 404-svar på skriptfilen? Kontrollera även fliken Console efter JavaScript-fel.document.querySelector('imago-chat').resetChat() på din egen knapp. Se Visningslägen → Frameless-läge.<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Min webbplats</title>
</head>
<body>
<h1>Välkommen till min webbplats</h1>
<p>Innehåll här...</p>
<!-- Imago Car Finder -->
<imago-chat
webhook="https://gateway.imagoplatform.io/webhook/ef2f49f5"
theme-color="#226096"
welcome-message="Hej, hur kan jag hjälpa dig att hitta rätt bil? Berätta vad du letar efter!"
title="Bingster Cars"
placeholder="Fråga vad som helst!"
avatar-url="https://media.imagoplatform.ai/swirl_300x300.png"
auth-token="33SJW0jRl1VH7JMb0"
conversation-starters='["Jag vill ha lägsta ägandekostnad","Jag söker något snabbt och sportigt","Jag behöver en elbil med lång räckvidd","Jag letar efter en SUV för familjen"]'
></imago-chat>
<script src="https://carfinder.imagoplatform.ai/path/till/imago-chat-widget.js"></script>
</body>
</html>html, body { height: 100%; margin: 0; font-family: system-ui, sans-serif; }
body { display: flex; flex-direction: column; background: #f8fafc; }
.site-header {
display: flex; align-items: center; justify-content: space-between;
padding: 1rem 2rem; background: #111827; color: #fff;
}
.site-header h1 { margin: 0; font-size: 1.25rem; }
.reset-btn {
background: #fff; color: #111827; border: none; border-radius: 8px;
padding: 0.55rem 1.1rem; font-size: 0.875rem; font-weight: 600; cursor: pointer;
}
main { flex: 1; min-height: 0; padding: 1.5rem 2rem; }
.chat-frame {
height: 100%; background: #fff;
border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden;
}<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bingster Cars</title>
<style>
/* [CSS här] */
</style>
</head>
<body>
<header class="site-header">
<h1>Bingster Cars</h1>
<button type="button" id="chat-reset-btn" class="reset-btn">Ny chatt</button>
</header>
<main>
<div class="chat-frame">
<imago-chat
mode="frameless"
webhook="https://gateway.imagoplatform.io/webhook/ef2f49f5"
theme-color="#226096"
welcome-message="Hej, hur kan jag hjälpa dig att hitta rätt bil?"
placeholder="Fråga vad som helst!"
avatar-url="https://media.imagoplatform.ai/swirl_300x300.png"
auth-token="33SJW0jRl1VH7JMb0"
></imago-chat>
</div>
</main>
<script src="https://carfinder.imagoplatform.ai/path/till/imago-chat-widget.js"></script>
</body>
</html><script src="https://carfinder.imagoplatform.ai/path/till/imago-chat-widget.js"></script>
<script>
// Koppla värdsidans egen knapp till widgetens publika API.
const btn = document.getElementById('chat-reset-btn');
const el = document.querySelector('imago-chat');
btn.addEventListener('click', () => el.resetChat());
</script>