So funktioniert es
- Sie definieren Tools mit einem Schema (welche Argumente das Tool akzeptiert)
- Sie geben eine
endpoint-Konfiguration an (wo ThunderPhone Ihre API aufruft) — oder lassen sie weg, um Tool-Aufrufe über den Webhook Ihrer Organisation zu erhalten - Während eines Anrufs entscheidet die KI anhand des Gesprächs, wann ein Tool verwendet werden soll
- ThunderPhone ruft Ihren Endpunkt mit den Tool-Argumenten auf
- Die API-Antwort wird an die KI zurückgegeben, um das Gespräch fortzusetzen
Funktionstools sind der Weg, Ihre eigene API einzubringen. ThunderPhone
bietet außerdem plattformverwaltete Tools, die keinen Endpunkt benötigen:
App-Verbindungen (HubSpot, Salesforce, Slack,
Google Calendar, Google Sheets, Cal.com),
API-Verbindungen und
MCP-Server.
Tool-Schema
Jedes Tool folgt dieser Struktur:Funktionsdefinition
Endpunktkonfiguration
Die
endpoint-Konfiguration wird nicht an das KI-Modell gesendet — sie wird nur von ThunderPhone verwendet, um den Tool-Aufruf auszuführen.Zwei Aufrufpfade
Welche Anfrage Ihr Server erhält, hängt davon ab, ob das Tool einenendpoint hat:
Beide Pfade sind blockierend — die KI wartet mitten im Satz auf das
Ergebnis — mit einem Timeout von 20 s. Halten Sie Handler schnell. Eine
Mischung ist möglich: Bei einem Anruf, dessen Organisation eine Webhook-URL hat, werden
Tools mit einem
endpoint direkt aufgerufen, während die übrigen auf den Webhook zurückfallen.
Direkte Endpoint-Aufrufe
Wenn die KI ein Tool aufruft, das einenendpoint hat, sendet ThunderPhone
eine Anfrage an Ihre URL:
Anfrage-Header
endpoint.headers werden immer
unverändert eingeschlossen, zusätzlich zu zwei Headern im ThunderPhone-Namespace:
X-ThunderPhone-Signature— HMAC-SHA256 der exakten Anfrage-Body- Bytes, mit Ihrem Webhook-Secret der Organisation als SchlüsselX-ThunderPhone-Call-ID— Die ID des aktuellen Anrufs
Content-Type: application/json wird gesetzt, sofern Ihre endpoint.headers
es nicht überschreiben — ein benutzerdefinierter Content-Type hat Vorrang.
Anfrage-Body
BeiPOST / PUT / PATCH enthält der Body nur die Tool-
Argumente (ohne Wrapper), kanonisch serialisiert (sortierte Schlüssel,
kompakte Trennzeichen):
GET / DELETE werden die Argumente als Abfrageparameter
gesendet und der Body ist leer — die Signatur wird dann über die leere
Byte-Zeichenfolge berechnet. Siehe
Webhook-Signaturen überprüfen.
Antwort
Geben Sie eine JSON-Antwort mit dem Tool-Ergebnis zurück:{"data": "<text>"}
verpackt; Zeitüberschreitungen und Verbindungsfehler werden der KI als Fehler
gemeldet, damit der Agent sich entschuldigen und fortfahren kann, statt zu
blockieren.
Versand im Webhook-Modus
Tools ohne einenendpoint werden an die Legacy-Webhook-URL Ihrer
Organisation als signierte Anfrage telephony.tool (Telefonanrufe) oder
web.tool (Web-Aufrufe) gesendet. Anders als die
Audit-Benachrichtigungen, die nach der Ausführung an
Webhook-Endpoints zugestellt werden, ist diese Anfrage die Ausführung —
Ihre HTTP-Antwort ist das Tool-Ergebnis.
web.tool enthält origin_domain anstelle von from_number /
to_number. Antworten Sie mit dem Tool-Ergebnis als JSON — derselbe
Antwortvertrag wie bei direkten Endpoint-Aufrufen. Die Anfrage wird wie jeder
andere Webhook mit dem Webhook-Secret der Organisation über den unverarbeiteten
Body signiert.
Abonnierte Webhook-Endpoints erhalten zusätzlich
nach jeder Tool-Ausführung eine nicht blockierende Benachrichtigung
telephony.tool / web.tool nach der Ausführung (unabhängig davon,
über welchen Pfad sie ausgeführt wurde), einschließlich der Antwort des
Tools — nützlich für Audit-Trails. Siehe den
Ereigniskatalog.Signaturüberprüfung
Direkte Tool-Aufrufe werden genauso signiert wie Webhooks:- HMAC-SHA256 über die exakten Bytes des Anfragebodys (das kanonische JSON — sortierte Schlüssel, keine zusätzlichen Leerzeichen)
- Mit Ihrem Organisations-Webhook-Secret als Schlüssel
GET- /DELETE-Tools signieren die leere Byte-Zeichenfolge
Beispiel: Vollständiger Buchungsablauf
Hier ist eine Reihe von Tools für ein vollständiges Terminbuchungssystem:Best Practices
Klare Beschreibungen verfassen
Klare Beschreibungen verfassen
Das Feld
description hilft der KI zu verstehen, wann das Tool verwendet werden soll. Beschreiben Sie konkret, was es tut und wann es geeignet ist.Fehler zuverlässig behandeln
Fehler zuverlässig behandeln
Geben Sie Fehlermeldungen zurück, die die KI verstehen kann:
{"error": "No slots available for that date"} statt allgemeiner 500-Fehler.Antworten kurz halten
Antworten kurz halten
Geben Sie nur zurück, was die KI benötigt, um das Gespräch fortzusetzen. Große Nutzlasten verlangsamen die Antwortzeiten.
Pflichtfelder sinnvoll einsetzen
Pflichtfelder sinnvoll einsetzen
Markieren Sie Felder nur dann als
required, wenn es wirklich notwendig ist. Die KI fragt den Nutzer nach erforderlichen Informationen, bevor sie das Tool aufruft.Verwandte Themen
App-Verbindungen
Von der Plattform verwaltete Tools für HubSpot, Salesforce, Slack, Google
Calendar, Google Sheets und Cal.com — kein Endpoint erforderlich.
MCP-Server
Binden Sie einen MCP-Server an und lassen Sie den Agenten dessen Tools aufrufen.
API-Verbindungen
Wiederverwendbare REST-Integrationen, die Sie an Agenten anbinden können.
Webhook-Signaturen verifizieren
Ein Verifizierungshelfer für Webhooks und Tool-Aufrufe.