Code-Tools
Code-Tools
Führen Sie benutzerdefinierte JavaScript-Logik direkt auf der Infrastruktur von ElevenLabs aus.
Code-Tools ermöglichen Ihrem Agenten, benutzerdefiniertes JavaScript in einer isolierten serverseitigen Umgebung auszuführen, ohne dass Sie einen eigenen Webhook-Endpunkt bereitstellen und hosten müssen. Schreiben Sie die Logik einmal im integrierten Code-Editor, und ElevenLabs führt sie aus, sobald der Agent das Tool aufruft.
Übersicht
Ein Code-Tool ist eine JavaScript-Funktion, die ausgeführt wird, wenn der Agent sie aufruft. Sie schreiben den gesamten Funktionsrumpf, sodass das Tool je nach Aufgabe mehr oder weniger leisten kann:
- Benutzerdefinierte Berechnungen: Wenden Sie Preisregeln, Einheitenumrechnungen, Bewertungslogik oder Datumsberechnungen ausschließlich mit den Toolaufrufparametern an. Kein Netzwerkzugriff erforderlich.
- Externe APIs aufrufen: Nutzen Sie
fetchfür zugelassene Domains; Workspace-Secrets und Authentifizierungsverbindungen werden in den Kontext der Funktion eingefügt. - Mehrere Quellen kombinieren: Rufen Sie zwei oder drei APIs auf und führen Sie deren Ergebnisse zusammen, vergleichen oder gleichen Sie sie ab, bevor Sie eine einzelne Antwort zurückgeben.
- Bedingte Verzweigungen: Führen Sie abhängig von den Toolaufrufparametern unterschiedliche Logik aus, ohne für jeden Zweig ein separates Tool zu benötigen.
- Daten umformen: Geben Sie genau die Struktur zurück, die der Agent sehen soll, statt einer unverarbeiteten Upstream-Antwort.
Für einen einzelnen externen API-Aufruf ohne benutzerdefinierte Logik sind Webhook- Tools meist einfacher einzurichten. Um Aktionen im Browser oder in der App eines Nutzers auszulösen, verwenden Sie stattdessen Client- Tools.
Funktionsweise
Ihr Code ist ein JavaScript-Modul, das eine einzelne asynchrone Standardfunktion exportiert. Die Funktion erhält ein ctx-Objekt und gibt das Ergebnis des Tools zurück:
Der zurückgegebene Wert wird zum Ergebnis des Tools. Er wird an den Agenten zurückgegeben, im Gesprächstranskript angezeigt und kann für die Zuweisung dynamischer Variablen verwendet werden.
Das ctx-Objekt
ctx ist Ihr Einstiegspunkt zu allem, worauf das Tool zum Zeitpunkt des Aufrufs zugreifen kann. Die vom Agenten bereitgestellten Parameter kommen immer in ctx.args an; Secrets, Konfigurationswerte und Authentifizierungsverbindungen sind optional und erscheinen nur, wenn Sie sie im Bereich Kontextobjekt des Tools zuordnen.
Nur ctx.args ist für den Agenten sichtbar, wenn er das Tool aufruft. Secrets, Konfigurationswerte und Authentifizierungsverbindungen werden dem Agenten nie offengelegt.
Parameter konfigurieren
Parameter sind die Werte, die der Agent beim Aufruf des Tools bereitstellt, und sie kommen in ctx.args an. Definieren Sie sie im Bereich Parameter des Tool-Konfigurationsformulars oder im Code-Editor auf dem Tab Params im Untertab Define Params. Jeder Parameter benötigt einen Datentyp, eine Kennung und eine Beschreibung, anhand derer der Agent den richtigen Wert aus dem Gespräch bestimmt. Ihr Code liest diesen Wert über die Kennung, beispielsweise ctx.args.appointment_datetime unten.

Kontextobjekt konfigurieren
Fügen Sie Secrets, Konfigurationswerte und Authentifizierungsverbindungen im Bereich Kontextobjekt des Tools hinzu. Jeder Eintrag benötigt einen Typ und einen Namen. Das Panel zeigt für jeden Eintrag den genauen Accessor, beispielsweise ctx.secrets.DEMO_KEY unten.

Netzwerkzugriff
Code, der in der Sandbox ausgeführt wird, kann nur Domains erreichen, die Ihr Workspace ausdrücklich zugelassen hat. Fügen Sie die Domains, die Ihr Code aufrufen muss, in den Allgemeinen Einstellungen Ihres Workspace unter Zugelassene Domains für Code-Tools hinzu. Eine Anfrage an jede andere Domain schlägt fehl.
Zum Bearbeiten der Liste Zugelassene Domains für Code-Tools sind Workspace-Administratorberechtigungen erforderlich.
Ausführungslimits
- Timeout: Jeder Durchlauf muss innerhalb des konfigurierten Antwort-Timeouts des Tools abgeschlossen sein, zwischen 1 und 30 Sekunden.
- Keine externen Pakete: Code-Tools werden derzeit ohne npm-Abhängigkeiten ausgeführt.
Code testen
Verwenden Sie vor dem Speichern im Code-Editor Run, um Ihren Code mit Beispielparameterwerten auszuführen:
- Params — Legen Sie Testwerte für jeden Parameter fest, den Ihr Tool definiert.
- Output — Sehen Sie das zurückgegebene Ergebnis oder den Fehler, falls die Ausführung fehlgeschlagen ist.
- Logs — Sehen Sie alles, was mit
console.log,console.warnoderconsole.errorgeschrieben wurde, sowie Build- und Ausführungszeiten.
Anleitung
In dieser Anleitung erstellen wir ein Code-Tool, das eine Temperatur umrechnet und einen formatierten, verständlichen String zurückgibt:
Neues Code-Tool erstellen
Wählen Sie im Bereich Agent auf der Einstellungsseite Ihres Agenten Add Tool. Wählen Sie Code als Tool-Typ und legen Sie dann einen Namen und eine Beschreibung fest:
Parameter definieren
Fügen Sie zwei Parameter hinzu, damit das LLM weiß, welche Werte es bereitstellen muss:
Code schreiben
Öffnen Sie den Code-Editor und ersetzen Sie den Standardquellcode durch:
Verwenden Sie Run mit einigen Beispielwerten (z. B. value: 100, from_unit: "C"), um die Ausgabe vor dem Speichern zu bestätigen.
Authentifizierungsbeispiele
Eine API mit einem Secret aufrufen
Ordnen Sie EXAMPLE_API_KEY im Bereich Kontextobjekt des Tools einem Workspace-Secret zu und fügen Sie dann api.example.com unter Zugelassene Domains für Code-Tools hinzu, damit die Anfrage ausgehen darf. Der referenzierte Wert ist ein Platzhalter: Das tatsächliche Secret wird beim ausgehenden Aufruf in den Header eingefügt und ist für Ihren Code nie sichtbar.
Eine API mit einer OAuth-Authentifizierungsverbindung aufrufen
Ordnen Sie EXAMPLE_CRM im Bereich Kontextobjekt des Tools einer konfigurierten Authentifizierungsverbindung zu. Der referenzierte Wert ist ein Platzhalter: Die tatsächliche Berechtigung wird beim ausgehenden Aufruf in den Header eingefügt und ist für Ihren Code nie sichtbar.
Best Practices
Tools intuitiv benennen und detailliert beschreiben
Wenn der Assistent nicht die richtigen Tools aufruft, müssen Sie möglicherweise Tool-Namen und Beschreibungen anpassen, damit der Assistent besser versteht, wann er welches Tool auswählen soll. Vermeiden Sie Abkürzungen oder Akronyme, um Namen von Tools und Argumenten zu verkürzen.
Sie können auch detailliert beschreiben, wann ein Tool aufgerufen werden soll. Bei komplexen Tools sollten Sie jedes Argument beschreiben, damit der Assistent weiß, welche Informationen er vom Nutzer abfragen muss.
Tool-Parameter intuitiv benennen und detailliert beschreiben
Verwenden Sie klare und aussagekräftige Namen für Tool-Parameter. Geben Sie gegebenenfalls in der Beschreibung das erwartete Format eines Parameters an, zum Beispiel YYYY-mm-dd oder dd/mm/yy für ein Datum.
Erwägen Sie, im System-Prompt Ihres Assistenten zusätzliche Informationen dazu bereitzustellen, wie und wann Tools aufgerufen werden sollen
Klare Anweisungen in Ihrem System-Prompt können die Genauigkeit von Tool-Aufrufen deutlich verbessern. Leiten Sie den Assistenten beispielsweise mit Anweisungen wie den folgenden an:
Geben Sie bei komplexen Szenarien Kontext an. Zum Beispiel:
LLM-Auswahl
Bei der Verwendung von Tools empfehlen wir leistungsstarke Modelle wie GPT 5.2, Gemini-2.5-Flash oder Claude Sonnet 4.5 und raten von Gemini-2.0-Flash ab.
Die Wahl des LLM ist entscheidend für den Erfolg von Funktionsaufrufen. Einige LLMs haben Schwierigkeiten, die relevanten Parameter aus der Unterhaltung zu extrahieren.