Das Dashboard deckt die meisten Tool-Anforderungen ohne diese API ab: Verbindungen
→ Apps verbindet Slack, HubSpot, Salesforce, Google Calendar,
Google Sheets und Cal.com mit wenigen OAuth-Klicks; Verbindungen →
APIs macht jede HTTP-API zu einer Agentenaktion (fügen Sie einen cURL-Befehl
ein, und ein KI-Assistent erstellt einen Tool-Entwurf mit integrierter Testanfrage); und
Verbindungen → MCP fügt MCP-Server hinzu. Siehe
Verbindungen. Dieser Leitfaden behandelt die zugrunde liegende
API der APIs-Oberfläche.
Aufbau eines Tools
Zwei Bestandteile:- Das Schema — eine Funktionsdefinition im OpenAI-Stil
(
{type: "function", function: {name, description, parameters}}), die dem LLM mitteilt, was das Tool tut und welche Argumente es annimmt. - Der Endpunkt — die URL, die die Server von ThunderPhone aufrufen, wenn das LLM entscheidet, das Tool zu verwenden. Die Anfrage erfolgt als JSON-POST mit den vom LLM ausgewählten Argumenten als Body.
1. Speicherstrategie auswählen
Inline beim Agenten
Hängen Sie ein einmaliges Tool an das
tools-Array des Agenten an. Einfach,
aber nicht wiederverwendbar.Gespeicherte Integration
Speichern Sie das Tool als wiederverwendbare Integration
und verknüpfen Sie es mit vielen Agenten. Empfohlen für alles, was mehr
als einmal verwendet wird.
2. Die Integration erstellen
id (eine UUID).
3. Endpunkt in der Sandbox testen
Bevor Sie die Integration mit einem Agenten verknüpfen, senden Sie eine signierte Anfrage von den Servern von ThunderPhone, um die Konnektivität zu bestätigen:Response
400 code=url_not_allowed zurück.
4. Verknüpfen Sie die Integration mit einem Agenten
Fügen Sie beim Erstellen oder Aktualisieren eines Agenten überintegration_ids hinzu:
get_weather, wenn der Anrufer
nach den Wetterbedingungen fragt“ — oder sie implizit anhand der
Schemabeschreibungen erkennen.
5. Implementieren Sie den Endpunkt
Wenn der Agent das Tool aufruft, sendet ThunderPhone einen signierten POST-Request an Ihreendpoint_url:
6. Testen Sie den Ablauf
Starten Sie eine Mikrofonsitzung mit dem Agenten und stellen Sie die Frage, die Ihr Tool verarbeitet („Wie ist das Wetter in 94110?“). Das Transkript des Anrufs zeigt den vollständigen Ablauf:GET /v1/calls/{call_id}/transcript abrufen;
der Rohdaten-Ereignisstream (mit Zeitangaben und Audio-Offsets pro Eintrag) befindet sich unter
GET /v1/calls/{call_id}/history.
Häufige Fallstricke
Agent ruft das Tool nie auf
Agent ruft das Tool nie auf
Das LLM entscheidet anhand der Beschreibung des Tools. Wenn die Frage des Anrufers
nicht zur Beschreibung passt, ruft das Modell das Tool nicht auf.
Präzisieren Sie die Beschreibung (fügen Sie gängige Synonyme und
Formulierungen hinzu) oder erwähnen Sie es explizit im Prompt des Agenten („Wenn der
Anrufer nach dem Wetter fragt, verwende
get_weather.“).Tool gibt zu viele Daten zurück
Tool gibt zu viele Daten zurück
Antworten über 6 kB werden in der Transkriptvorschau abgeschnitten. Geben Sie
nur die Felder zurück, die das LLM benötigt — nicht Ihre gesamte Zeile.
Zeitüberschreitungen
Zeitüberschreitungen
Tool-Endpunkte haben ein Standard-Timeout von 10 Sekunden. Wenn Sie mehr Zeit benötigen,
verarbeiten Sie die Anfrage asynchron: Geben Sie
{"status": "pending", "request_id": "..."}
zurück und stellen Sie das Ergebnis über einen separaten Tool-Aufruf bereit.Versionierung
Versionierung
Jedes
PATCH einer Integration erstellt eine neue Revision. Prüfen Sie
GET /v1/integrations/{id}/versions,
um zu sehen, wer was geändert hat. Wenn Sie das Schema eines Tools beschädigen, können Sie
es manuell zurücksetzen, indem Sie einen älteren Snapshot erneut per PATCH einspielen.Nächste Schritte
Integrationsreferenz
CRUD, Übertragung, Versionsverlauf.
Spezifikation für Funktions-Tools
Vollständige JSON-Schema-Grammatik und der Vertrag für signierte Endpunkte.
Signaturen verifizieren
Wenden Sie das Webhook-Signaturmuster auf Tool-Endpunkte an.
Transkript- und Verlaufs-API
Prüfen Sie den vollständigen Ablauf eines Tool-Aufrufs.