Hoppa till navigering

Anpassning av widget

Lär dig anpassa widgetens utseende efter ditt varumärke och personanpassa agentens beteende från HTML.

Widgetar gör det enkelt att direkt integrera ElevenAgents på vilken webbplats som helst. Du kan anpassa widgeten antingen via gränssnittet eller via våra typsäkra ElevenAgents SDK:er för full kontroll över stil och beteende. SDK-åsidosättningar har företräde framför anpassningar i gränssnittet. Vår widget är multimodal och kan bearbeta både text och ljud.

Du kan även hämta en agents widgetkonfiguration och delningsbara länk från Claude eller en annan MCP-klient via den hostade MCP-servern.

Konfiguration av modalitet

Widgeten stöder flexibla inmatningslägen som passar ditt användningsområde. Konfigurera dessa alternativ i dashboarden under Kanaler → Widget → Gränssnitt.

Multimodalitet stöds fullt ut i våra klient-SDK:er. Läs mer här.

Alternativ för widgetgränssnitt

Tillgängliga lägen:

  • Endast röst (standard): Användare interagerar enbart via tal.
  • Röst + text: Användare kan växla mellan röst- och textinmatning under samtal.
  • Chattläge: Samtal startar i chattläge (endast text) utan röstfunktioner när de initieras med ett textmeddelande.

Mer information om hur du använder chattläge (endast text) via våra SDK:er finns i vår guide för chattläge.

Widgeten använder som standard läget endast röst. Aktivera växlingen för textinmatning för att tillåta multimodala interaktioner, eller aktivera stöd för endast text för helt textbaserade samtal som initieras via text.

Bädda in widgeten

Widgetar kräver för närvarande offentliga agenter med autentisering inaktiverad. Se till att detta är inaktiverat på fliken Avancerat i din agents inställningar.

Lägg till det här kodavsnittet i webbplatsens <body>-sektion. Placera det i huvudfilen index.html så att det är tillgängligt på hela webbplatsen:

Inbäddningskod för widget
<elevenlabs-convai agent-id="<replace-with-agent_7101k5zvyjhmfg983brhmhkd98n6>"></elevenlabs-convai>
<script
src="https://unpkg.com/@elevenlabs/convai-widget-embed"
async
type="text/javascript"
></script>

För ökad säkerhet definierar du tillåtna domäner i agentens Tillåtelselista (på fliken Säkerhet). Detta begränsar åtkomsten till endast angivna värdar.

Widgetattribut

Den här grundläggande inbäddningskoden visar widgeten med standardkonfigurationen som har definierats i agentens dashboard. Widgeten har flera HTML-attribut för ytterligare anpassning:

<elevenlabs-convai
agent-id="agent_id" // Required: Your agent ID
signed-url="signed_url" // Alternative to agent-id
server-location="us" // Optional: "us" or default
variant="expanded" // Optional: Widget display mode
dismissible="true" // Optional: Allow the user to minimize the widget
></elevenlabs-convai>
<elevenlabs-convai
avatar-image-url="https://..." // Optional: Custom avatar image
avatar-orb-color-1="#6DB035" // Optional: Orb gradient color 1
avatar-orb-color-2="#F5CABB" // Optional: Orb gradient color 2
></elevenlabs-convai>
<elevenlabs-convai
action-text="Need assistance?" // Optional: CTA button text
start-call-text="Begin conversation" // Optional: Start call button
end-call-text="End call" // Optional: End call button
expand-text="Open chat" // Optional: Expand widget text
listening-text="Listening..." // Optional: Listening state
speaking-text="Assistant speaking" // Optional: Speaking state
></elevenlabs-convai>

Widgeten renderar markdown i agentsvar. Länkar visas som standard som oformaterad text för att förhindra nätfiske.

<elevenlabs-convai
markdown-link-allowed-hosts="example.com" // Domains where links are clickable (use "*" for all)
markdown-link-include-www="true" // Also allow www variants (default: true)
markdown-link-allow-http="true" // Allow http:// links (default: true)
syntax-highlight-theme="dark" // Code block theme: "dark", "light", or "auto"
></elevenlabs-convai>

Konfiguration vid körning

Ytterligare två HTML-attribut kan användas för att anpassa agentens beteende vid körning. Dessa två funktioner kan användas tillsammans, var för sig eller inte alls.

Dynamiska variabler

Med dynamiska variabler kan du infoga värden vid körning i agentens meddelanden, systemprompter och verktyg.

<elevenlabs-convai
agent-id="agent_7101k5zvyjhmfg983brhmhkd98n6"
dynamic-variables='{"user_name": "John", "account_type": "premium"}'
></elevenlabs-convai>

Alla dynamiska variabler som agenten behöver måste skickas med i widgeten.

Åsidosättningar

Åsidosättningar ger fullständig anpassning av agentens beteende vid körning:

<elevenlabs-convai
agent-id="agent_7101k5zvyjhmfg983brhmhkd98n6"
override-language="es"
override-prompt="Custom system prompt for this user"
override-first-message="Hi! How can I help you today?"
override-voice-id="axXgspJ2msm3clMCkdW3"
></elevenlabs-convai>

Åsidosättningar kan aktiveras för specifika fält och är helt valfria.

Visuell anpassning

Anpassa widgetens utseende, textinnehåll, språkval och mer.

Öppna din agent i dashboarden och gå till fliken Widget för att anpassa utseende, avatar, text, villkor, språkstöd och mer.

Anpassning av widget

Anpassa widgetens färger och former så att de matchar ditt varumärke.

Widgetens utseende


Avancerad implementering

För mer avancerad anpassning bör du använda de typsäkra ElevenAgents SDK:erna med en Next.js-, React- eller Python-applikation.

Klientverktyg

Klientverktyg låter dig utöka widgetens funktionalitet genom att lägga till händelselyssnare. Det gör att widgeten kan utföra åtgärder som:

  • Omdirigera användaren till en specifik sida
  • Skicka ett e-postmeddelande till ditt supportteam
  • Omdirigera användaren till en extern URL

Om du vill se exempel på dessa verktyg i användning startar du ett samtal med agenten i det nedre högra hörnet på den här sidan. Källkoden finns på GitHub som referens.

Skapa ett klientverktyg

Följ guiden för klientverktyg för att skapa ditt första klientverktyg.

Konfiguration av klientverktyg

Exempelimplementation

Nedan följer ett exempel på hur du hanterar verktyget redirectToExternalURL som utlöses av widgeten i din JavaScript-kod:

index.js
document.addEventListener("DOMContentLoaded", () => {
const widget = document.querySelector("elevenlabs-convai");
if (widget) {
// Listen for the widget's "call" event to trigger client-side tools
widget.addEventListener("elevenlabs-convai:call", (event) => {
event.detail.config.clientTools = {
// Note: To use this example, the client tool called "redirectToExternalURL" (case-sensitive) must have been created with the configuration defined above.
redirectToExternalURL: ({ url }) => {
window.open(url, "_blank", "noopener,noreferrer");
},
};
});
}
});

Utforska våra typsäkra SDK:er för implementationer i React, Next.js och Python.