> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thunderphone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 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 compleet platform voor het bouwen, uitvoeren en verbeteren van
AI-spraakagenten. Deze pagina is het overzicht: elk concept dat je tegenkomt, elk
in een korte sectie, met het dashboardonderdeel en de API erachter.
Lees het één keer door en kom terug wanneer een term toelichting nodig heeft.

De zijbalk van het dashboard weerspiegelt deze structuur:

<CardGroup cols={2}>
  <Card title="Kern" icon="cube">
    [Agenten](#agents), [telefoonnummers](#phone-numbers),
    [webwidgets](#web-widgets), [oproepen](#calls),
    [kennisbanken](#knowledge-bases).
  </Card>

  <Card title="Betrokkenheid" icon="megaphone">
    [Live monitoring](#live-monitoring) en uitgaande
    [campagnes](#campaigns).
  </Card>

  <Card title="Verbindingen" icon="plug">
    [Apps, API's, MCP-servers en VoIP-providers](#connections) die je
    agenten kunnen gebruiken.
  </Card>

  <Card title="Kwaliteit en testen" icon="flask">
    [Simulaties](#simulations), [experimenten](#experiments),
    [problemen](#issues), [rapporten](#reports),
    [observability](#observability).
  </Card>

  <Card title="Organisatie" icon="building">
    [Team en rollen](#team-and-roles), [API-sleutels](#organizations),
    [meldingen](#alerts), [facturering](#billing).
  </Card>

  <Card title="Gebeurtenissen" icon="bolt">
    [Webhooks](#webhooks) en [functietools](#function-tools) voor
    je eigen code.
  </Card>
</CardGroup>

***

## Organisaties

Een **organisatie** is de eenheid voor tenancy. 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. Dankzij die koppeling is de REST API zo eenvoudig:
je zet nooit een organisatie-ID in URL-paden, omdat je sleutel die al identificeert.

**In het dashboard:** de organisatieswitcher (onderaan de zijbalk) en
instellingen voor **Organisatie** — tabbladen voor Algemeen, Sleutels, Meldingen,
Factureringsinstellingen en Factureringsgeschiedenis.

**In de API:** [`/v1/orgs`](/api-reference/organizations),
[`/v1/developer/api-keys`](/api-reference/developer-api-keys).

***

## Agenten

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

* Een **prompt** die bepaalt wat de agent zegt en hoe deze zich gedraagt —
  inclusief oproepacties zoals doorschakelingen, toetsenbordinvoer 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** plus een **primaire taal** en optionele **aanvullende
  talen** — de agent schakelt automatisch wanneer een beller van taal wisselt.
  Zie [Ondersteunde talen](/nl/guides/supported-languages).
* Gekoppelde mogelijkheden: [verbonden apps](#connections),
  [API-verbindingen](#connections), [kennisbanken](#knowledge-bases),
  [MCP-servers](#connections) en inline
  [functietools](#function-tools).
* Gedragsinstellingen: spreekvolgorde, bevestigingsmodus, achtergrondtrack,
  wachttime-out.

Bewerkingen in de builder worden **automatisch opgeslagen als concept**; niets
gaat live totdat je op **Implementeren** klikt. Elke implementatie wordt
vastgelegd in het tabblad **Geschiedenis** van de builder, zodat je elke vorige
versie kunt bekijken en herstellen.

**In het dashboard:** **Spraakagenten** → de agentbuilder
(`/dashboard/agents`). Zie
[Bouw je eerste spraakagent](/nl/guides/build-an-agent).

**In de API:** [`/v1/agents`](/api-reference/agents) — CRUD,
dupliceren, doorschakelen, versiegeschiedenis en prompthulpmiddelen.

***

## Telefoonnummers

Een **telefoonnummer** behoort tot een organisatie en routeert inkomende oproepen naar een
agent (en kan uitgaande oproepen verwerken). Twee bronnen:

* **Demonummers** — echte Amerikaanse nummers die vanuit de pool van ThunderPhone worden
  ingericht, binnen enkele seconden actief. Alleen inkomend, ze beantwoorden met een korte gesproken
  disclaimer en het dashboard beperkt een organisatie tot 10 van deze nummers. Perfect voor
  een eerste test; niet voor productie.
* **VoIP-nummers** — meegenomen van je eigen provider via een
  [VoIP-verbinding](#connections). Twilio en Telnyx maken rechtstreeks verbinding
  (Telnyx heeft een begeleide configuratie); SignalWire en Vonage volgen binnenkort —
  vandaag bereik je ze via handmatige SIP-configuratie, die elke
  SIP-trunk accepteert. Na import en verificatie ondersteunen VoIP-nummers inkomende
  en uitgaande oproepen.

In 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](/nl/guides/get-a-phone-number).

**In de API:** [`/v1/phone-numbers`](/api-reference/phone-numbers),
[`/v1/voip-connections`](/api-reference/voip-connections),
[`/v1/phone-number-labels`](/api-reference/phone-number-labels).

***

## Oproepen

Elke inkomende oproep, uitgaande oproep, simulatie en widgetsessie
wordt een **oproepenlogboek**. Een oproep bevat het volledige transcript met rolaanduidingen,
de gestructureerde gespreksgeschiedenis (inclusief toolaanroepen), een opname, het
factureringstotaal en optionele AI-beoordelingen en probleemrapporten.

Terwijl een oproep **live** is, kun je deze openen en **meeluisteren** — je neemt
stil deel en niemand in het gesprek hoort je. Zodra je meeluistert, kun je
**fluisteren**: typ een instructie die tijdens het gesprek rechtstreeks naar je agent
gaat; de beller hoort deze nooit en de agent volgt deze live op.

**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](/nl/guides/review-calls).

**In de API:** [`/v1/calls`](/api-reference/calls) — lijst, transcript,
geschiedenis, audio, beoordeling, export;
[`/v1/issue-reports`](/api-reference/issue-reports).

***

## Webwidgets

De **webwidget** geeft bezoekers van je site een gesprek via de microfoon
met een agent — geen telefoonnummer nodig. Deze authenticeert met een
**publiceerbare sleutel** (`pk_live_...`) die via oorsprong is beperkt tot je
toegestane domeinen, waardoor deze veilig is in client-sidecode.

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](/nl/guides/dynamic-call-config)). 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 insluitfragment. Zie
[Een webwidget maken](/nl/guides/embed-a-web-widget-dashboard).

**In de API:** [`/v1/publishable-key`](/api-reference/publishable-keys),
[`/v1/mic-session`](/api-reference/mic-sessions) en de
[Widget SDK-documentatie](/nl/widget/overview).

***

## Kennisbanken

Een **kennisbank** is een verzameling documenten die je agent tijdens een gesprek kan
doorzoeken om antwoorden te onderbouwen — upload bestanden rechtstreeks of importeer ze uit
Google Drive en koppel de kennisbank vervolgens in de
builder aan een agent. De agent bevraagt deze met een ingebouwde zoektool wanneer het
gesprek daarom vraagt.

**In het dashboard:** **Kennis** (`/dashboard/knowledge`) voor de
documentbibliotheek; de sectie **Kennis** van de builder om er een aan
een agent te koppelen. Zie
[Je agent een kennisbank geven](/nl/guides/knowledge-base).

***

## Verbindingen

Verbindingen zijn de manier waarop agents de buitenwereld bereiken. 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 vervolgens tools per bewerking
  (een Slack-bericht plaatsen, een HubSpot-contact updaten of invoegen, een Cal.com-slot boeken…)
  in voor elke agent. Zie [Apps verbinden](/nl/guides/connect-apps).
* **API's** (`/dashboard/api-connections`) — verander elke HTTP-API in een
  agentactie. Plak een cURL-opdracht en de AI-wizard maakt een concept van de tooldefinitie,
  of bouw deze handmatig; met de knop **Testaanvraag** voer je een
  sandboxaanroep uit voordat je uitbrengt. Zie
  [API-verbindingen](/nl/guides/api-connections) — de dashboardweergave van
  [`/v1/integrations`](/api-reference/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](/nl/guides/mcp-servers).
* **VoIP** (`/dashboard/voip-connections`) — providerreferenties voor
  [je eigen telefoonnummers gebruiken](#phone-numbers). Zie
  [Een VoIP-provider verbinden](/nl/guides/voip-providers).

**In de API:** [`/v1/integrations`](/api-reference/integrations) en
[`/v1/voip-connections`](/api-reference/voip-connections); zie ook
[Een toolintegratie bouwen](/nl/guides/build-tool-integration).

***

## Campagnes

Een **campagne** plaatst op grote schaal uitgaande oproepen: upload een CSV met
contacten, kies de agent en het afzendernummer, en stel het belvenster in
(dagen en uren, met tijdzoneondersteuning), evenals gelijktijdigheid en het
opnieuw-beleid (maximaal aantal pogingen en welke uitkomsten — geen antwoord,
voicemail, mislukt — opnieuw worden geprobeerd). De campagne doorloopt de lijst en registreert elke oproep
in Oproepgeschiedenis.

**In het dashboard:** **Campagnes** (`/dashboard/campaigns`). Zie
[Een campagne voor uitgaande oproepen uitvoeren](/nl/guides/outbound-campaigns).

**Voor eenmalige programmatische oproepen:** de
[API voor uitgaande oproepen](/nl/guides/place-outbound-calls).

***

## Live monitoring

**Live** toont elke lopende oproep binnen de organisatie en laat je
elke oproep openen om [in realtime mee te luisteren en in te fluisteren](#calls). Het is
het toezichtsscherm: bekijk hoe een nieuwe prompt zijn eerste echte
verkeer verwerkt, of houd een actieve campagne in de gaten.

**In het dashboard:** **Live** (`/dashboard/live`). Zie
[Live oproepen bekijken en begeleiden](/nl/guides/monitor-live-calls).

***

## Simulaties

Een **simulatie** is een AI-beller die een echt gesprek voert met je
agent — dezelfde telefonieroute, echt transcript, echte beoordeling — zodat je
kunt testen voordat (en nadat) je uitbrengt. Richt deze op een agent of een telefoonnummer,
schrijf zelf het scenario voor de beller of **genereer scenario's met
AI** op basis van de prompt van de agent (inclusief edge cases, als je daarom vraagt),
en bekijk de oproep live.

Scenario's worden gegroepeerd in **suites** die een minimale slagingskans
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 agentbuilder. Zie
[Een oproep simuleren](/nl/guides/simulate-a-call).

**In de API:** [`/v1/test-calls`](/api-reference/test-calls) en de
suite-runner — zie [Een agent end-to-end testen](/nl/guides/test-agents).

***

## Experimenten

Een **experiment** voert A/B-tests uit op agentconfiguraties met live verkeer:
definieer varianten (verschillende prompts, engines of instellingen), verdeel
het verkeer ertussen en vergelijk de 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 agentbuilder. Zie
[Experimenten (A/B-testen)](/nl/guides/experiments-ab-testing).

***

## Problemen

Een **probleem** is een gemarkeerd probleem bij een specifieke oproep — gemeld door een
menselijke beoordelaar of gedetecteerd door AI-beoordeling. Problemen hebben een ernstniveau,
bron en status, en de pagina Problemen is de triagewachtrij: filter,
inspecteer de betreffende oproep en volg oplossingen.

**In het dashboard:** **Problemen** (`/dashboard/issues`), plus markering per oproep
in Oproepgeschiedenis. Zie [Problementriage](/nl/guides/issues).

**In de API:** [`/v1/issue-reports`](/api-reference/issue-reports).

***

## Rapporten

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

**In het dashboard:** **Rapporten** (`/dashboard/reports`). Zie
[Rapporten](/nl/guides/reports).

***

## Observability

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

**In het dashboard:** **Observability** (`/dashboard/observability`).
Zie [Observability](/nl/guides/observability).

***

## Meldingen

Een **meldingsregel** bewaakt een metriek (succespercentage, foutpercentage,
gemiddelde score, oproepvolume, regressies in suites) binnen een tijdvenster en
wordt geactiveerd wanneer deze je drempelwaarde overschrijdt. Meldingen gaan naar e-mail en
Slack, en activeren een `alert.triggered`-event naar je
[webhookeindpunten](/nl/webhooks/endpoints).

**In het dashboard:** **Organisatie → Meldingen**. Zie
[Meldingen](/nl/guides/alerts).

***

## Webhooks

ThunderPhone stuurt **HTTP POST-webhooks** naar je server wanneer er dingen
gebeuren tijdens en na een oproep. Twee leveringsmodellen:

* **Webhookeindpunten** (aanbevolen): beheer meerdere URL's via
  [`/v1/developer/webhook-endpoints`](/nl/webhooks/endpoints) met
  geheimen per eindpunt en gebeurtenisabonnementen per eindpunt.
* **Verouderde webhook met één URL**: één URL per organisatie. Beheerd via
  [`/v1/webhook`](/api-reference/organizations#legacy-single-url-webhook)
  of onder **Organisatie → Algemeen**. Behouden voor achterwaartse compatibiliteit.

Events zijn verdeeld in twee categorieën:

* **Blokkerende events** verwachten dat je server reageert met configuratie
  die de lopende oproep vormgeeft — de
  [inkomende-oproepevents](/nl/webhooks/call-incoming)
  (`telephony.incoming` / `web.incoming`). Je hebt maximaal 10 seconden
  om te reageren; bij een time-out handelt de statisch toegewezen agent de
  oproep af.
* **Niet-blokkerende events** zijn fire-and-forgetmeldingen, die opnieuw worden geprobeerd
  met exponentiële backoff — zie
  [leveringssemantiek](/nl/webhooks/overview).

Elk verzoek bevat een HMAC-SHA256-handtekening in
`X-ThunderPhone-Signature`. Zie
[Handtekeningverificatie](/nl/webhooks/overview).

***

## Functietools

Een **functietool** is een HTTP-eindpunt dat je agent 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 bieden ook **ingebouwde belmogelijkheden** — de oproep doorverbinden,
toetsenbordinvoer (DTMF) versturen, de oproep beëindigen, in de wacht staan — die
je inschakelt met gewone promptregels in plaats van tooldefinities.

**In het dashboard:** de sectie **API-verbindingen** van de builder (zie
[Verbindingen](#connections)).

**In de API:** [`/v1/integrations`](/api-reference/integrations) en
de [Functietools-specificatie](/nl/tools/overview).

***

## 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;
via het menu ⋯ in een ledenrij kun je rollen wijzigen of iemand verwijderen. Eenmalig
inloggen kan organisatiebreed worden geconfigureerd — zie [SSO](/nl/guides/sso).

**In het dashboard:** **Organisatie → Algemeen**. Zie
[Nodig je team uit](/nl/guides/invite-your-team).

**In de API:** [`/v1/members`](/api-reference/members),
[`/v1/invites`](/api-reference/invites).

***

## Facturering

ThunderPhone is **vooraf betaald**. Elke organisatie heeft een saldo in USD; oproepen
schrijven dit af tegen het minuuttarief van de agent (enginepakket plus toeslagen —
de builder toont het totaaltarief live terwijl je instellingen wijzigt, en
[premiumtalen](/nl/guides/supported-languages) voegen 2¢/min toe). Wanneer het
saldo nul bereikt, worden inkomende oproepen geweigerd en geven uitgaande oproepen
`402 Payment Required` terug.

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

**In het dashboard:** **Organisatie → Factureringsinstellingen** en
**Factureringsgeschiedenis**. Zie
[Geld toevoegen en automatisch opwaarderen inschakelen](/nl/guides/billing-and-topups).

**In de API:** [`/v1/billing`](/api-reference/billing).

***

## De copilot in de app

Het dashboard bevat een ingebouwde **copilot** — vraag bijvoorbeeld "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 [De copilot in de app vragen](/nl/guides/ask-the-copilot).

***

## Alles samenbrengen

<CardGroup cols={2}>
  <Card title="Snelle start met het dashboard" icon="wand-magic-sparkles" href="/nl/quickstart-dashboard">
    De wizard in vijf stappen: agent → facturering → nummer → simulatie → beoordeling.
  </Card>

  <Card title="Snelle start met de API" icon="terminal" href="/nl/quickstart">
    Dezelfde eerste oproep in vier REST-aanroepen.
  </Card>

  <Card title="Het dashboard gebruiken" icon="table-columns" href="/nl/guides/build-an-agent">
    Bouw een agent, voeg saldo toe, verkrijg een nummer, simuleer en beoordeel oproepen.
  </Card>

  <Card title="Tools en gegevens koppelen" icon="plug" href="/nl/guides/connect-apps">
    OAuth-apps, aangepaste API's, MCP-servers en VoIP-providers.
  </Card>

  <Card title="Analyseren en verbeteren" icon="chart-line" href="/nl/guides/reports">
    Rapporten, observeerbaarheid, experimenten, problemen en meldingen.
  </Card>

  <Card title="Team en account" icon="users" href="/nl/guides/invite-your-team">
    Uitnodigingen en rollen, API-sleutels, beveiliging en SSO.
  </Card>

  <Card title="Kookboek voor ontwikkelaars" icon="phone-arrow-down-left" href="/nl/guides/handle-inbound-calls">
    De API-recepten: inkomend, uitgaand, dynamische configuratie, tools, testen.
  </Card>

  <Card title="Webhookhandtekeningen verifiëren" icon="shield-check" href="/nl/guides/verify-webhook-signatures">
    Voer de HMAC-controle één keer correct uit en hergebruik deze overal.
  </Card>
</CardGroup>
