Dashboardet dækker de fleste værktøjsbehov uden dette API: Forbindelser
→ Apps forbinder Slack, HubSpot, Salesforce, Google Kalender,
Google Sheets og Cal.com med få OAuth-klik; Forbindelser →
API’er gør ethvert HTTP-API til en agenthandling (indsæt en cURL-kommando,
og en AI-guide udarbejder værktøjet med en indbygget Testanmodning); og
Forbindelser → MCP tilføjer MCP-servere. Se
Forbindelser. Denne vejledning beskriver det underliggende
rå API bag API-grænsefladen.
Et værktøjs opbygning
To dele:- Schemaet — en funktionsdefinition i OpenAI-stil
(
{type: "function", function: {name, description, parameters}}) der fortæller LLM’en, hvad værktøjet gør, og hvilke argumenter det tager. - Slutpunktet — den URL, ThunderPhones servere kalder, når LLM’en beslutter at bruge værktøjet. Anmodningen er en JSON POST med LLM’ens valgte argumenter som brødtekst.
1. Vælg en lagringsstrategi
Indlejret på agenten
Tilknyt et enkeltstående værktøj til agentens
tools-array. Simpelt, men
ikke genanvendeligt.Gemt integration
Gem værktøjet som en genanvendelig integration
og tilknyt det fra mange agenter. Anbefales til alt, der bruges mere
end én gang.
2. Opret integrationen
id (en UUID).
3. Sandbox-test slutpunktet
Før du tilknytter integrationen til en agent, skal du sende en signeret anmodning fra ThunderPhones servere for at bekræfte forbindelsen:Response
400 code=url_not_allowed.
4. Knyt integrationen til en agent
Tilknyt viaintegration_ids, når du opretter eller opdaterer en agent:
get_weather, når opkalderen spørger
om forholdene” — eller den kan finde dem implicit ud fra
skemabeskrivelserne.
5. Implementer endpointet
Når agenten kalder værktøjet, sender ThunderPhone en signeret POST til dinendpoint_url:
6. Test forløbet
Kør en mikrofonsession mod agenten, og stil det spørgsmål, som dit værktøj håndterer (“Hvad er vejret i 94110?”). Opkaldets transskription viser hele forløbet:GET /v1/calls/{call_id}/transcript;
den rå hændelsesstrøm (med tidsangivelser og lydforskydninger pr. post) findes på
GET /v1/calls/{call_id}/history.
Almindelige faldgruber
Agenten kalder aldrig værktøjet
Agenten kalder aldrig værktøjet
LLM’en beslutter ud fra værktøjets beskrivelse. Hvis opkalderens
spørgsmål ikke matcher beskrivelsen, kalder modellen ikke
værktøjet. Gør beskrivelsen mere præcis (tilføj almindelige
synonymer og formuleringer), eller nævn det eksplicit i agentens
prompt (“Når opkalderen spørger om vejret, skal du bruge
get_weather.”).Værktøjet returnerer for mange data
Værktøjet returnerer for mange data
Svar over 6 kB afkortes i forhåndsvisningen af transskriptionen. Returner
kun de felter, som LLM’en har brug for — ikke hele din række.
Tidsudløb
Tidsudløb
Værktøjsendpoints har en standardtimeout på 10 sekunder. Hvis du har brug for længere tid,
skal du håndtere det asynkront: returner
{"status": "pending", "request_id": "..."}
og vis resultatet via et separat værktøjskald.Versionsstyring
Versionsstyring
Hver
PATCH af en integration opretter en ny revision. Undersøg
GET /v1/integrations/{id}/versions
for at se, hvem der ændrede hvad. Hvis du ødelægger et værktøjs skema, kan du
rulle tilbage manuelt ved at PATCH’e et ældre snapshot tilbage.Næste trin
Reference til integrationer
CRUD, overførsel, versionshistorik.
Specifikation for funktionsværktøjer
Fuld JSON-schema-grammatik og kontrakten for signerede endpoints.
Bekræft signaturer
Anvend mønstret for webhook-signaturer på værktøjsendpoints.
API til transskription + historik
Undersøg hele tur-retur-forløbet for et værktøjskald.