Näin se toimii
- Määrität työkalut skeemalla (mitä argumentteja työkalu hyväksyy)
- Määrität
endpoint-kokoonpanon (mihin ThunderPhone kutsuu API-rajapintaasi) — tai jätät sen pois vastaanottaaksesi työkalukutsut organisaatiosi webhookissa - Puhelun aikana AI päättää keskustelun perusteella, milloin työkalua käytetään
- ThunderPhone kutsuu päätepistettäsi työkalun argumenteilla
- API-vastauksesi välitetään takaisin AI:lle keskustelun jatkamiseksi
Funktiotyökalut ovat tapa käyttää omaa API-rajapintaasi. ThunderPhone tarjoaa myös
alustahallinnoituja työkaluja, jotka eivät tarvitse päätepistettä:
sovellusintegraatiot (HubSpot, Salesforce, Slack,
Google Calendar, Google Sheets, Cal.com),
API-integraatiot ja
MCP-palvelimet.
Työkalun skeema
Jokainen työkalu noudattaa tätä rakennetta:Funktion määritelmä
Päätepisteen kokoonpano
endpoint-kokoonpanoa ei lähetetä AI-mallille — ThunderPhone käyttää sitä vain työkalukutsun suorittamiseen.Kaksi kutsupolkua
Palvelimesi vastaanottama pyyntö riippuu siitä, onko työkalullaendpoint:
Molemmat polut ovat synkronisia — AI odottaa tulosta kesken lauseen —
ja niiden aikakatkaisu on 20 s. Pidä käsittelijät nopeina. Voit käyttää
molempia: puhelussa, jonka organisaatiolla on webhook-URL, työkalut, joilla on
endpoint, kutsutaan suoraan ja muut palaavat webhookiin.
Suorat päätepistekutsut
Kun tekoäly kutsuu työkalua, jolla onendpoint, ThunderPhone lähettää
pyynnön URL-osoitteeseesi:
Pyyntöotsakkeet
endpoint.headers sisällytetään aina
sellaisinaan sekä kaksi ThunderPhone-nimiavaruuteen kuuluvaa otsaketta:
X-ThunderPhone-Signature— HMAC-SHA256 pyynnön tarkasta runkodatan tavujonosta käyttäen avaimena organisaatiosi webhook-salaisuuttaX-ThunderPhone-Call-ID— Nykyisen puhelun tunnus
Content-Type: application/json asetetaan, ellei endpoint.headers
ohita sitä — mukautettu Content-Type on ensisijainen.
Pyyntödata
KohdissaPOST / PUT / PATCH runko sisältää vain työkalun
argumentit (ilman käärettä), kanonisesti sarjoitettuna (avaimet
lajiteltuina, tiiviit erottimet):
GET / DELETE argumentit lähetetään kyselyparametreina
ja runko on tyhjä — allekirjoitus lasketaan tällöin tyhjälle
tavujonolle. Katso
Webhook-allekirjoitusten vahvistaminen.
Vastaus
Palauta JSON-vastaus, joka sisältää työkalun tuloksen:{"data": "<text>"};
aikakatkaisuista ja yhteysvirheistä ilmoitetaan tekoälylle virheinä,
jotta agentti voi pahoitella ja jatkaa sen sijaan, että se jäisi
odottamaan.
Webhook-tilan reititys
Työkalut, joilla ei oleendpoint-määrittelyä, reititetään
organisaatiosi vanhaan webhook-URL-osoitteeseen allekirjoitettuna
telephony.tool- (puhelut) tai web.tool-pyyntönä
(verkkopuhelut). Toisin kuin auditointi-ilmoitukset,
jotka toimitetaan webhook-päätepisteisiin suorituksen jälkeen, tämä
pyyntö on suoritus — HTTP-vastauksesi on työkalun tulos.
web.tool sisältää origin_domain-kentän kenttien from_number /
to_number sijaan. Vastaa työkalun tuloksella JSON-muodossa — sama
vastaussopimus kuin suorissa päätepistekutsuissa. Pyyntö allekirjoitetaan
organisaation webhook-salaisuudella raa’an rungon perusteella, kuten
jokainen muukin webhook.
Tilatut webhook-päätepisteet vastaanottavat
lisäksi ei-estävän
telephony.tool / web.tool ilmoituksen
jokaisen työkalusuorituksen jälkeen (riippumatta siitä, mitä reittiä
se suoritettiin), mukaan lukien työkalun vastauksen — hyödyllistä
auditointijälkiä varten. Katso
tapahtumaluettelo.Allekirjoituksen vahvistus
Suorat työkalukutsut allekirjoitetaan samalla tavalla kuin webhookit:- HMAC-SHA256 tarkkojen pyynnön rungon tavujen yli (kanoninen JSON — lajitellut avaimet, ei ylimääräisiä välilyöntejä)
- Avaimena organisaatiosi webhook-salaisuus
GET- /DELETE-työkalut allekirjoittavat tyhjän tavumerkkijonon
Esimerkki: täydellinen varausprosessi
Tässä on työkalujoukko täydellistä ajanvarausjärjestelmää varten:Parhaat käytännöt
Kirjoita selkeät kuvaukset
Kirjoita selkeät kuvaukset
description-kenttä auttaa tekoälyä ymmärtämään, milloin työkalua käytetään. Kerro tarkasti, mitä se tekee ja milloin sen käyttö on sopivaa.Käsittele virheet hallitusti
Käsittele virheet hallitusti
Palauta virheilmoituksia, jotka tekoäly ymmärtää:
{"error": "No slots available for that date"} yleisten 500-virheiden sijaan.Pidä vastaukset tiiviinä
Pidä vastaukset tiiviinä
Palauta vain se, mitä tekoäly tarvitsee keskustelun jatkamiseksi. Suuret hyötykuormat hidastavat vastausaikoja.
Käytä pakollisia kenttiä harkiten
Käytä pakollisia kenttiä harkiten
Merkitse kentät
required-kentiksi vain, kun se on todella tarpeen. Tekoäly pyytää käyttäjältä vaaditut tiedot ennen työkalun kutsumista.Aiheeseen liittyvää
Sovellusliitännät
Alustan hallinnoimat työkalut HubSpotille, Salesforcelle, Slackille, Google
Calendarille, Google Sheetsille ja Cal.comille — päätepistettä ei tarvita.
MCP-palvelimet
Liitä MCP-palvelin ja anna agentin kutsua sen työkaluja.
API-liitännät
Uudelleenkäytettävät REST-integraatiot, jotka voit liittää agentteihin.
Vahvista webhook-allekirjoitukset
Yksi vahvistusapuri webhookeille ja työkalukutsuille.