Code-Tools
Führen Sie eigene JavaScript-Logik direkt in der Infrastruktur von ElevenLabs aus.
Code-Tools ermöglichen Ihrem Agenten, eigenes JavaScript in einer isolierten serverseitigen Umgebung auszuführen, ohne dass Sie einen eigenen Webhook-Endpunkt einrichten und hosten müssen. Schreiben Sie die Logik einmal im integrierten Code-Editor, und ElevenLabs führt sie aus, wann immer 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 Funktionskörper, sodass das Tool je nach Aufgabe mehr oder weniger leisten kann:
- Eigene Berechnungen: Wenden Sie Preisregeln, Einheitenumrechnungen, Bewertungslogik oder Datumsberechnungen nur mit den Tool-Aufrufparametern an. Kein Netzwerkzugriff erforderlich.
- Externe APIs aufrufen: Verwenden Sie
fetchfür freigegebene Domains, wobei Workspace-Secrets und Auth-Verbindungen in den Kontext der Funktion eingefügt werden. - 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 je nach Tool-Aufrufparametern 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 eigene Logik sind Webhook- Tools meist einfacher einzurichten. Um Aktionen im Browser oder in der App eines Nutzers auszulösen, verwenden Sie stattdessen Client- Tools.
So funktioniert es
Ihr Code ist ein JavaScript-Modul, das eine einzelne standardmäßige asynchrone Funktion 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 dynamische Zuweisung von Variablen verwendet werden.
Das ctx-Objekt
ctx ist Ihr Zugang zu allem, worauf das Tool zum Zeitpunkt des Aufrufs zugreifen kann. Die vom Agenten bereitgestellten Parameter treffen immer in ctx.args ein; Secrets, Konfigurationswerte und Auth-Verbindungen sind optional und erscheinen nur, wenn Sie sie im Abschnitt Context object des Tools zuordnen.
Nur ctx.args ist für den Agenten sichtbar, wenn er das Tool aufruft. Secrets, Konfigurationswerte und Auth-
Verbindungen werden dem Agenten nie offengelegt.
Parameter konfigurieren
Parameter sind die Werte, die der Agent beim Aufruf des Tools bereitstellt. Sie treffen in ctx.args ein. Definieren Sie sie im Abschnitt Parameters des Tool-Konfigurationsformulars oder im Code-Editor unter dem Tab Params im Untertab Define Params. Jeder Parameter benötigt einen Datentyp, einen Bezeichner und eine Beschreibung, anhand derer der Agent den richtigen Wert aus dem Gespräch bestimmt. Ihr Code liest diesen Wert über den Bezeichner aus, etwa ctx.args.appointment_datetime unten.

Kontextobjekt konfigurieren
Fügen Sie Secrets, Konfigurationswerte und Auth-Verbindungen im Abschnitt Context object des Tools hinzu. Jeder Eintrag benötigt einen Typ und einen Namen. Das Bedienfeld zeigt für jeden Eintrag den exakten Accessor an, etwa ctx.secrets.DEMO_KEY unten.

Netzwerkzugriff
Code, der in der Sandbox ausgeführt wird, kann nur Domains erreichen, die Ihr Workspace ausdrücklich freigegeben hat. Fügen Sie die Domains, die Ihr Code aufrufen muss, in den ElevenAgents Settings unter Code Tool Network Access hinzu. Anfragen an andere Domains schlagen fehl.
Zum Bearbeiten von Code Tool Network Access benötigen Sie Workspace-Admin-Berechtigungen.
Ausführungslimits
- Timeout: Jede Ausführung muss innerhalb des für das Tool konfigurierten Antwort-Timeouts von 1 bis 30 Sekunden abgeschlossen sein.
- 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 Ihrer Agent-Einstellungsseite Add Tool. Wählen Sie Code als Tool-Typ und legen Sie dann einen Namen und eine Beschreibung fest:
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 prüfen.
Authentifizierungsbeispiele
API mit einem Secret aufrufen
Ordnen Sie EXAMPLE_API_KEY im Abschnitt Context object des Tools einem Workspace-Secret zu und fügen Sie dann api.example.com zu Code Tool Network Access hinzu, damit die Anfrage ausgeleitet werden darf. Der referenzierte Wert ist ein Platzhalter: Das echte Secret wird beim Ausleiten in den Header eingefügt und ist für Ihren Code nie sichtbar.
API mit einer OAuth-Auth-Verbindung aufrufen
Ordnen Sie EXAMPLE_CRM im Abschnitt Context object des Tools einer konfigurierten Auth-Verbindung zu. Der referenzierte Wert ist ein Platzhalter: Die echten Zugangsdaten werden beim Ausleiten in den Header eingefügt und sind 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 die Namen und Beschreibungen Ihrer Tools aktualisieren, damit der Assistent klarer versteht, wann er welches Tool auswählen soll. Vermeiden Sie Abkürzungen oder Akronyme, um Tool- und Argumentnamen 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 Angaben er vom Nutzer erfragen muss.
Tool-Parameter intuitiv benennen und detailliert beschreiben
Verwenden Sie klare und aussagekräftige Namen für Tool-Parameter. Geben Sie in der Beschreibung gegebenenfalls das erwartete Format eines Parameters an (z. B. 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 des Assistenten deutlich verbessern. Leiten Sie den Assistenten beispielsweise mit Anweisungen wie den folgenden an:
Geben Sie Kontext für komplexe Szenarien. Zum Beispiel:
LLM-Auswahl
Bei der Verwendung von Tools empfehlen wir intelligente Modelle wie GPT 6 oder Claude Sonnet 5.5.
Die Wahl des LLM ist entscheidend für den Erfolg von Funktionsaufrufen. Einige LLMs haben möglicherweise Schwierigkeiten, die relevanten Parameter aus dem Gespräch zu extrahieren.