La dashboard copre la maggior parte delle esigenze relative agli strumenti senza questa API: Connessioni
→ App collega Slack, HubSpot, Salesforce, Google Calendar,
Google Sheets e Cal.com in pochi clic OAuth; Connessioni →
API trasforma qualsiasi API HTTP in un’azione dell’agente (incolla un comando cURL
e una procedura guidata AI crea una bozza dello strumento, con una Richiesta di test integrata); e
Connessioni → MCP aggiunge server MCP. Vedi
Connessioni. Questa guida riguarda l’API
sottostante all’interfaccia API.
Anatomia di uno strumento
Due elementi:- Lo schema — una definizione di funzione in stile OpenAI
(
{type: "function", function: {name, description, parameters}}) che indica al LLM cosa fa lo strumento e quali argomenti accetta. - L’endpoint — l’URL che i server di ThunderPhone richiamano quando il LLM decide di usare lo strumento. La richiesta è un POST JSON con gli argomenti scelti dal LLM come corpo.
1. Scegli una strategia di archiviazione
In linea sull'agente
Collega uno strumento monouso all’array
tools dell’agente. Semplice, ma
non riutilizzabile.Integrazione salvata
Archivia lo strumento come integrazione riutilizzabile
e collegalo a più agenti. Consigliato per tutto ciò che viene usato più
di una volta.
2. Crea l’integrazione
id restituito (un UUID).
3. Testa l’endpoint nella sandbox
Prima di collegare l’integrazione a un agente, invia una richiesta firmata dai server di ThunderPhone per confermare la connettività:Response
400 code=url_not_allowed.
4. Collega l’integrazione a un agente
Collegala tramiteintegration_ids quando crei o aggiorni un agente:
get_weather quando il chiamante chiede
delle condizioni meteorologiche” — oppure può individuarle implicitamente dalle
descrizioni dello schema.
5. Implementa l’endpoint
Quando l’agente richiama lo strumento, ThunderPhone invia un POST firmato al tuoendpoint_url:
6. Testa il ciclo
Avvia una sessione microfono sull’agente e poni la domanda gestita dal tuo strumento (“Che tempo fa a 94110?”). La trascrizione della chiamata mostra l’intero ciclo:GET /v1/calls/{call_id}/transcript;
il flusso di eventi non elaborato (con tempistiche per voce e offset audio) è disponibile in
GET /v1/calls/{call_id}/history.
Problemi comuni
L'agente non richiama mai lo strumento
L'agente non richiama mai lo strumento
L’LLM decide in base alla descrizione dello strumento. Se la domanda del chiamante
non corrisponde alla descrizione, il modello non richiamerà
lo strumento. Rendi la descrizione più precisa (aggiungi sinonimi e formulazioni
comuni) oppure menzionalo esplicitamente nel prompt dell’agente (“Quando il
chiamante chiede del meteo, usa
get_weather.”).Lo strumento restituisce troppi dati
Lo strumento restituisce troppi dati
Le risposte oltre 6 kB vengono troncate nell’anteprima della trascrizione. Restituisci
solo i campi necessari all’LLM — non l’intera riga.
Timeout
Timeout
Gli endpoint degli strumenti hanno un timeout predefinito di 10 secondi. Se ti serve più tempo,
gestiscilo in modo asincrono: restituisci
{"status": "pending", "request_id": "..."}
e rendi disponibile il risultato tramite una chiamata separata allo strumento.Versionamento
Versionamento
Ogni
PATCH dell’integrazione crea una nuova revisione. Controlla
GET /v1/integrations/{id}/versions
per vedere chi ha modificato cosa. Se comprometti lo schema di uno strumento, puoi
ripristinarlo manualmente applicando di nuovo tramite PATCH uno snapshot precedente.Passaggi successivi
Riferimento delle integrazioni
CRUD, trasferimento, cronologia delle versioni.
Specifiche degli strumenti funzione
Grammatica completa dello schema JSON e contratto dell’endpoint firmato.
Verifica le firme
Applica il modello di firma webhook agli endpoint degli strumenti.
API di trascrizione + cronologia
Esamina l’intero ciclo di una chiamata a uno strumento.