ThunderPhone 2.0 is live.Direct zelf aan de slag, vanaf 2¢/min.Lees de aankondiging

Getting Started

Kernconcepten

Een overzicht van alles in het platform — wat elk object doet, waar het zich in het dashboard bevindt en welke API ermee werkt.

ThunderPhone is een volledig platform voor het bouwen, uitvoeren en verbeteren van spraak-AI-agenten. Deze pagina is de kaart: elk concept dat je tegenkomt, elk in een korte sectie, met het dashboardonderdeel en de API erachter. Lees hem eenmaal door en kom terug wanneer een term uitleg nodig heeft.

De zijbalk van het dashboard weerspiegelt deze structuur:


Organisaties

Een organisatie is de tenancy-eenheid. Elke andere resource — agenten, telefoonnummers, oproepen, sleutels — behoort tot precies één organisatie. Je account kan tot meerdere organisaties behoren; elke organisatie heeft een eigen saldo, eigen sleutels en eigen ledenlijst.

De sk_live_ API-sleutel die je maakt onder Organisatie → Sleutels is gekoppeld aan één organisatie. Die koppeling maakt de REST API zo eenvoudig: je zet nooit een organisatie-id in URL-paden, omdat je sleutel die al identificeert.

In het dashboard: de organisatiewisselaar (onderaan de zijbalk) en instellingen voor Organisatie — tabbladen voor Mijn account, Algemeen, Sleutels, Meldingen, Factureringsinstellingen en Factureringsgeschiedenis. Zie de referentie voor organisatie-instellingen.

In de API: /v1/orgs, /v1/developer/api-keys.


Agenten

Een agent is de AI-configuratie die een oproep uitvoert. Deze bundelt:

  • Een prompt die bepaalt wat de agent zegt en hoe deze zich gedraagt — inclusief oproepacties zoals doorschakelingen, toetsaanslagen en ophangen, die gewone promptregels zijn in plaats van afzonderlijke configuratie.
  • Een enginepakket (spark, bolt, storm-*): Spark is geoptimaliseerd voor kosten, Bolt voor snelheid en Storm voor intelligentie bij complexe prompts.
  • Een stem, een primaire taal en optionele aanvullende talen — de agent schakelt automatisch wanneer een beller van taal verandert. Zie Ondersteunde talen.
  • Gekoppelde mogelijkheden: verbonden apps, API-verbindingen, kennisbanken, MCP-servers en inline functietools.
  • Gedragsinstellingen: spreekvolgorde, bevestigingsmodus, achtergrondtrack, wachttime-out.

Wijzigingen in de builder worden automatisch opgeslagen als concept; niets gaat live totdat je op Uitrollen klikt. Elke uitrol wordt vastgelegd op het tabblad Geschiedenis van de builder, zodat je elke eerdere versie kunt bekijken en herstellen.

In het dashboard: Spraakagenten → de agentbuilder (/dashboard/agents). Zie Bouw je eerste spraakagent.

In de API: /v1/agents — CRUD, dupliceren, doorschakelen, versiegeschiedenis en prompthulpmiddelen.


Stemmen

De stemmenbibliotheek bevat de stemmen die een agent kan gebruiken, hun afspeelbare voorbeelden, compatibele talen, groeperingen op geslacht en accent, en eventuele toeslagen voor premium stemmen/talen. Met een betaalde sampler kun je je eigen frase van 1–500 tekens synthetiseren voordat je kiest.

In aanmerking komende organisaties kunnen ook aangepaste stemmen maken op basis van een kort WAV- of MP3-voorbeeld. Aangepaste stemmen hebben een quotum en een asynchrone aanmaakstatus; zodra ze klaar zijn, verschijnen ze in dezelfde agentkiezer als stemmen uit de bibliotheek.

In het dashboard: Stemmen (/dashboard/voices). Zie Stemmenbibliotheek en aangepaste stemmen.

In de API: /v1/voices, stemvoorbeelden en aangepaste stemmen.


Telefoonnummers

Een telefoonnummer behoort toe aan een organisatie en routeert inkomende oproepen naar een agent (en kan uitgaande oproepen voeren). Twee bronnen:

  • ThunderPhone-nummers — echte Amerikaanse nummers die worden uitgegeven vanuit de pool van ThunderPhone, binnen enkele seconden actief zijn, $1/maand plus een toeslag van 1¢/minuut. Ze starten als alleen inkomend. Een organisatiebeheerder kan uitgaand bellen aanvragen via de pagina Telefoonnummers; ThunderPhone beoordeelt elk verzoek handmatig, en goedgekeurde nummers kunnen bellen en campagnes uitvoeren. Een organisatie kan standaard 25 nummers hebben.
  • VoIP-nummers — meegenomen van je eigen provider via een VoIP-verbinding. Twilio en Telnyx verbinden rechtstreeks met een API-sleutel (Telnyx heeft ook een begeleide configuratie voor nieuwe accounts); SignalWire, Vonage, Plivo en elke andere SIP-trunk verbinden via een SIP- configuratie, een handmatige SIP-configuratie. Na import en verificatie ondersteunen VoIP- nummers inkomende en uitgaande gesprekken.

Met elke nummerregel kun je een routeringsmodus instellen, de inkomende agent kiezen en het nummer labelen.

In het dashboard: Telefoonnummers (/dashboard/phone-numbers). Zie Een telefoonnummer verkrijgen.

In de API: /v1/phone-numbers, /v1/voip-connections, /v1/phone-number-labels.


Oproepen

Elke inkomende oproep, uitgaande oproep, simulatie en widgetsessie wordt een oproeplog. Een oproep bevat het volledige transcript met roltags, de gestructureerde beurtgeschiedenis (inclusief toolaanroepen), een opname, het factuurtotaal en optionele AI-beoordelingen en probleemrapporten.

Wanneer een oproep actief is, kun je deze openen en meeluisteren — je neemt stil deel en niemand in de oproep hoort je. Zodra je meeluistert, kun je fluisteren: typ een instructie die rechtstreeks naar je agent gaat tijdens de oproep; de beller hoort deze nooit en de agent voert deze live uit.

In het dashboard: Oproepgeschiedenis (/dashboard/call-history) voor het archief en details per oproep; Live voor lopende oproepen. Zie Je oproepen beoordelen, beluisteren en begeleiden.

In de API: /v1/calls — lijst, transcript, geschiedenis, audio, beoordeling, export; /v1/issue-reports.


Klantportalen

Een klantportaal is een oproepgeschiedenisweergave met eigen branding en alleen-lezenrechten voor een externe klant. Organisatiebeheerders kiezen de agenten waarvan oproepen worden getoond, voegen e-mailadressen van goedgekeurde kijkers toe, uploaden een logo en accentkleur, en verifiëren optioneel een eigen domein. Portaalbezoekers kunnen oproepdetails, transcripties en beschikbare opnamen bekijken zonder toegang tot het dashboard te krijgen.

In het dashboard: Klantportalen (/dashboard/client-portals). Zie Klantportalen.

In de API: /v1/client-portals voor het beheeroppervlak voor beheerders.


Webwidgets

De webwidget biedt je sitebezoekers een gesprek met een spraakagent via de microfoon — geen telefoonnummer nodig. De widget authenticeert met een publiceerbare sleutel (pk_live_...) die browsers alleen vanaf je toegestane domeinen kunnen gebruiken, waardoor deze veilig is in client-sidecode. De domeinenlijst is geen authenticatie, en de sessie-instellingen die een pagina kan verzenden, staan uit totdat je ze op de sleutel toestaat.

Sleutels werken in een van twee modi: agent (statisch gekoppeld aan één agent) of webhook (je server kiest de configuratie per bezoeker — zie Dynamische configuratie per oproep). Widgetsessies lopen via dezelfde oproepinfrastructuur als telefoongesprekken.

In het dashboard: Webwidgets (/dashboard/web-widgets) — maak widgets, stel de modus en agent in, beheer toegestane domeinen en kopieer het embedfragment. Zie Een webwidget maken.

In de API: /v1/publishable-key, /v1/mic-session en de Widget SDK-documentatie.


Kennisbanken

Een kennisbank is een verzameling documenten die je agent tijdens een oproep kan doorzoeken om antwoorden te onderbouwen — upload bestanden, plak tekst of importeer webpagina's via URL, en koppel de kennisbank vervolgens aan een agent in de builder. De agent bevraagt deze met een ingebouwde zoektool wanneer het gesprek daarom vraagt.

In het dashboard: Kennis (/dashboard/knowledge) voor de documentenbibliotheek; de sectie Kennis van de builder om er een aan een agent te koppelen. Zie Je agent een kennisbank geven.


Verbindingen

Via verbindingen bereiken agents de buitenwereld. Vier soorten, één zijbalkgroep:

  • Apps (/dashboard/app-connections) — OAuth-verbindingen met Slack, HubSpot, Salesforce, Google Calendar, Google Sheets en Cal.com. Maak één keer verbinding en schakel daarna tools per bewerking (een Slack-bericht plaatsen, een HubSpot-contact upserten, een Cal.com-tijdslot boeken…) in voor elke agent. Zie Apps verbinden.
  • API's (/dashboard/api-connections) — maak van elke HTTP-API een agentactie. Plak een cURL-opdracht en de AI-wizard stelt de tooldefinitie op, of bouw deze handmatig; een knop Testaanvraag voert een sandboxoproep uit voordat je deze implementeert. Zie API-verbindingen — de dashboardweergave van /v1/integrations.
  • MCP (/dashboard/mcp-connections) — voeg een Model Context Protocol-server toe via URL en laat de agent de tools gebruiken die deze beschikbaar stelt. Zie Een MCP-server toevoegen.
  • VoIP (/dashboard/voip-connections) — inloggegevens van providers voor je eigen telefoonnummers gebruiken. Zie Een VoIP-provider verbinden.

ThunderPhone biedt ook een eigen MCP-endpoint, zodat een externe MCP-client agents kan weergeven, oproepen en transcripties kan bekijken en oproepen kan plaatsen. Zie ThunderPhone als MCP-server gebruiken.

In de API: /v1/integrations, /v1/mcp-servers en /v1/voip-connections; zie ook Een toolintegratie bouwen.


Campagnes

Een campagne plaatst uitgaande oproepen op schaal: upload een CSV met contactpersonen, kies de agent en het uitgaande nummer, en stel het belvenster (dagen en uren, met tijdzoneondersteuning), gelijktijdigheid en beleid voor opnieuw proberen (inclusief maximaal aantal pogingen en welke uitkomsten — geen antwoord, voicemail, mislukt — opnieuw worden geprobeerd) in. De campagne werkt de lijst af en registreert elke oproep in Oproepgeschiedenis.

In het dashboard: Campagnes (/dashboard/campaigns). Zie Een campagne voor uitgaande oproepen uitvoeren.

Voor losse programmatische oproepen: de API voor uitgaande oproepen.

Livebewaking

Live toont elk gesprek dat binnen de organisatie bezig is en laat je elk gesprek openen om mee te luisteren en te fluisteren in realtime. Het is de toezichtweergave: bekijk hoe een nieuwe prompt voor het eerst echt verkeer verwerkt, of houd een lopende campagne in de gaten.

In het dashboard: Live (/dashboard/live). Zie Livegesprekken bekijken en begeleiden.


Simulaties

Een simulatie is een AI-beller die een echt gesprek voert met je agent — hetzelfde telefonietraject, echt transcript, echte beoordeling — zodat je kunt testen voordat (en nadat) je uitrolt. Richt deze op een agent of een telefoonnummer, schrijf zelf het bellerscenario of genereer scenario's met AI op basis van de prompt van de agent (inclusief randgevallen, als je daarom vraagt), en bekijk het gesprek live.

Scenario's worden gegroepeerd in suites die een minimaal slagingspercentage vastleggen en releases in CI kunnen blokkeren; regressies ten opzichte van de geaccepteerde basislijn worden per scenario gerapporteerd.

In het dashboard: Simulaties (/dashboard/simulations), plus de knop Simulatie in de agentbouwer. Zie Een gesprek simuleren.

In de API: /v1/test-calls en de suite-runner — zie Een agent end-to-end testen.


Validatiesets

Een validatieset zet momenten uit echte gesprekken om in herhaalbare regressiecontroles met één beurt. Elk voorbeeld bevriest de gesprekscontext, relevante audio van de beller, het oorspronkelijke antwoord en het verwachte gedrag. Herhalingen worden uitgevoerd tegen het huidige agentconcept zonder opnieuw een gesprek te plaatsen, en het implementatievenster kan tonen of de nieuwste uitvoering nog steeds met dat concept overeenkomt.

In het dashboard: Validatiesets (/dashboard/validation) voor de organisatiedataset en het tabblad Validatie van de agentbouwer voor uitvoeringen. Zie Validatiesets.

In de API: /v1/validation-sets en de replay-eindpunten voor agenten en voorbeelden op dezelfde referentiepagina.


Experimenten

Een experiment voert A/B-tests uit op agentconfiguraties met live verkeer: definieer varianten (verschillende prompts, engines of instellingen), verdeel verkeer ertussen en vergelijk resultaten per variant. Gebruik dit in plaats van zelf bucketlogica in een webhook te bouwen.

In het dashboard: Experimenten (/dashboard/experiments) en het tabblad A/B in de agentbouwer. Zie Experimenten (A/B-testen).


Problemen

Een probleem is een gemarkeerd probleem in een specifiek gesprek — gemeld door een menselijke beoordelaar of gedetecteerd door AI-beoordeling. Problemen bevatten ernst, bron en status, en de pagina Problemen is de triagewachtrij: filter, inspecteer het problematische gesprek en volg oplossingen.

In het dashboard: Problemen (/dashboard/issues), plus het markeren per gesprek in Oproepgeschiedenis. Zie Problementriage.

In de API: /v1/issue-reports.


Rapporten

Een rapport beantwoordt een vraag in natuurlijke taal over je gespreksgegevens ("Wat waren de drie belangrijkste redenen waarom bellers afgelopen week om een medewerker vroegen?") met een door AI geschreven analyse, beperkt tot de agents en datumbereik die je kiest.

In het dashboard: Rapporten (/dashboard/reports). Zie Rapporten.


Observeerbaarheid

Observeerbaarheid is het metriekoverzicht: gespreksvolume, uitkomsten en kwaliteit in de tijd, filterbaar op agent en tijdvenster, met export voor verdere analyse.

In het dashboard: Observeerbaarheid (/dashboard/observability). Zie Observeerbaarheid.


Waarschuwingen

Een waarschuwingsregel bewaakt een metriek (slagingspercentage, faalpercentage, gemiddelde score, gespreksvolume, suiteregressies) binnen een tijdvenster en wordt geactiveerd wanneer deze je drempelwaarde overschrijdt. Meldingen worden naar e-mail en Slack gestuurd, en er wordt een alert.triggered-event geactiveerd naar je webhookeindpunten.

In het dashboard: Organisatie → Waarschuwingen. Zie Waarschuwingen.


Webhooks

ThunderPhone stuurt HTTP POST-webhooks naar je server wanneer er tijdens en na een gesprek gebeurtenissen plaatsvinden. Twee bezorgmodellen:

  • Webhookeindpunten (aanbevolen): beheer meerdere URL's via /v1/developer/webhook-endpoints met geheimen per eindpunt en gebeurtenisabonnementen per eindpunt.
  • Verouderde single-URL-webhook: één URL per organisatie. Beheerd via /v1/webhook of onder Organisatie → Algemeen. Behouden voor achterwaartse compatibiliteit.

Gebeurtenissen vallen uiteen in twee klassen:

  • Blokkerende gebeurtenissen verwachten dat je server reageert met configuratie die het actieve gesprek vormgeeft — de inkomende-oproepgebeurtenissen (telephony.incoming / web.incoming). Een telefoongesprek wacht maximaal 13 seconden, inclusief één nieuwe poging, en een widgetsessie 10 seconden. Er is geen terugvalagent: zonder bruikbare configuratie wordt het telefoongesprek beëindigd en mislukt de widgetsessie.
  • Niet-blokkerende gebeurtenissen zijn fire-and-forgetmeldingen, die opnieuw worden geprobeerd met exponentiële backoff — zie leveringssemantiek.

Elk verzoek bevat een HMAC-SHA256-handtekening met tijdstempel in X-ThunderPhone-Signature-V2, plus de verouderde handtekening die alleen de body omvat, X-ThunderPhone-Signature. Zie Handtekeningverificatie.


Functietools

Een functietool is een HTTP-eindpunt dat je spraakagent tijdens een gesprek kan aanroepen. Je geeft ThunderPhone een functieschema in OpenAI-stijl plus een eindpunt-URL; de agent bepaalt wanneer deze moet worden aangeroepen, en ThunderPhone doet het ondertekende HTTP-verzoek vanaf zijn servers en geeft het resultaat terug aan de agent.

Agenten beschikken ook over ingebouwde oproepmogelijkheden — het gesprek doorverbinden, toetsenbordinvoer (DTMF) verzenden, het gesprek beëindigen, in de wacht staan — die je inschakelt met eenvoudige promptregels in plaats van tooldefinities.

In het dashboard: de sectie API-verbindingen van de builder (zie Verbindingen).

In de API: /v1/integrations en de specificatie voor functietools.


Team en rollen

Elke organisatie heeft een ledenlijst met twee rollen: Leden bouwen en beheren agenten; Beheerders beheren daarnaast het team en de facturering. Nodig uit via e-mail — uitnodigingen verlopen na 7 dagen en kunnen worden ingetrokken; het menu ⋯ op een ledenrij wijzigt rollen of verwijdert iemand. Single sign-on kan organisatiebreed worden geconfigureerd — zie SSO.

In het dashboard: Organisatie → Algemeen. Zie Nodig je team uit.

In de API: /v1/members, /v1/invites.


Facturering

ThunderPhone is vooraf betaald. Elke organisatie heeft een saldo in USD; gesprekken worden hiervan afgeschreven tegen het minuutbedrag van de agent (enginepakket plus toeslagen — de builder toont het totale tarief live terwijl je instellingen wijzigt, en geselecteerde extra talen voegen 3¢/min toe). Wanneer het saldo nul bereikt, worden inkomende gesprekken geweigerd en geven uitgaande gesprekken 402 Payment Required terug.

Waardeer handmatig op, of schakel automatisch opwaarderen in met een saldodrempel, een opwaardeerbedrag en een optionele maandelijkse bestedingslimiet — zodat een gesprek nooit midden in een zin wegvalt.

In het dashboard: Organisatie → Factureringsinstellingen en Factureringsgeschiedenis. Zie Geld toevoegen en automatisch opwaarderen inschakelen, plus de volledige prijsreferentie.

In de API: /v1/billing.


De Copilot in de app

Het dashboard bevat een ingebouwde Copilot — vraag "hoe doe ik X" en deze geeft antwoord op basis van deze documentatie, biedt stapsgewijze rondleidingen die de daadwerkelijke bedieningselementen uitlichten, en kan alle begeleide rondleidingen opnieuw afspelen. Dit is de snelste manier om een bedieningselement te vinden dat op deze pagina wordt genoemd. Zie Vraag het aan de Copilot in de app.


Alles samenbrengen