Realtime spraakagenten
Conversationele spraakagenten op je eigen backend: ze stellen vast wie er spreekt, lezen echte gegevens uit je database en schrijven terug naar dezelfde systemen die je team gebruikt. Onze hotelagent draait 11 tot 12 servertools op dezelfde databasefuncties als de app. Gepubliceerd als pilot: nog geen live telefoonlijn, en om de beurt, geen full duplex.

Wat het is
Een spraakagent die je klant te woord staat en het werk vervolgens ook doet. Hij stelt vast wie er spreekt, leest echte gegevens uit je database en schrijft terug naar dezelfde systemen die je team al gebruikt. Wij bouwen hem, beveiligen hem en blijven hem daarna beheren.
Deze pagina is geschreven als pilot, want dat is het. Hieronder staat wat al draait, gescheiden van wat nog niet draait.
Wat onze agent al doet
De hotelagent in ons eigen product logt de gast in via spraak, beantwoordt vragen over het hotel, leest de echte kaart van elk restaurant uit de database, neemt roomservicebestellingen op, maakt, wijzigt en annuleert reserveringen voor restaurant en spa, doet triage van een melding door een geclassificeerd ticket te openen in hetzelfde systeem als de app, laat berichten achter bij de receptie en verbindt door naar de receptie zodra de locatie dat aanzet.
Dat zijn 11 tot 12 servertools, aangesloten op dezelfde databasefuncties die de app aanroept. Geen parallelle koppeling, dezelfde bron van waarheid.
Hij verzint niets
De kaart komt uit de database. Heeft een restaurant geen kaart ingeladen, dan zegt de agent dat in plaats van er een te verzinnen, en gerechten die niet bestaan wijst hij af. Hij houdt zich aan echte openingsdagen en reserveringsvensters, en als reserveren niet kan noemt hij de werkelijke tijden in plaats van een algemene foutmelding.
Gecontroleerd op 18 van de 18 gesproken scenario's tijdens een QA-ronde in juli 2026 tegen de draaiende agent in een demolocatie, met audio, transcript, interface en database als bewijs. Een eerdere QA van de preview, juni 2026, kwam uit op 21 van de 24 perfect, zonder kritieke fouten.
De identiteit wordt in het gesprek zelf gecontroleerd
Kamernummer of naam plus een pincode, gehasht en met blokkade na mislukte pogingen, één keer per gesprek gevraagd. De pincode bereikt nooit de spraakleverancier en nooit de logs. De tenant wordt altijd op de server bepaald, nooit uit het model of uit de payload.
Dezelfde agent kent twee sessiemodi: in de app, al geauthenticeerd via een serverkoppeling, waarbij de gast niets hoeft op te geven; en een belmodus met de volledige gesproken verificatie.
De prompt is engineering, geen tekstvak
De systeemprompt van de pilotagent is ongeveer 31.000 tekens en wordt uit de configuratie van de locatie samengesteld door een deterministische compiler, zonder taalmodel erin. Voor livegang ging hij door een adversarial red team van twaalf agents: 4 van de 6 aanvalsvectoren braken het concept, en na het harden kwam 0 van de 6 er nog doorheen. Een aparte audit liep de toolschema's na en liet ze gezond achter, 12 van de 12.
Eén agent per tenant, die zichzelf uitrolt
Voor een locatie met spraak aan maakt een edge function haar agent aan, stelt de prompt samen uit de configuratie van die locatie en wijst de tools toe die haar mogelijkheden toestaan. Dat pad is end to end getest in productie en daarna volledig opgeruimd. Het team van de klant stelt niveau en mogelijkheden in vanuit het platform zelf, en de spraakbackend leest die configuratie alleen via een functie die dichtvalt bij twijfel en die geen gastgegevens en geen pincode teruggeeft.
De scheiding wordt machinaal gecontroleerd, niet met de hand: row level security op de tabellen met een tenant-id, en een wachter die tenants en tabellen zelf ontdekt in plaats van ze op te sommen, draaiend in continuous integration. In augustus 2026 bewaakt hij 81 tabellen met een hotel-id, en die run, over twee echte hotels, vond geen lekkage tussen tenants.
Wat hij nog niet doet
- Geen live telefoonnummer dat gesprekken van echte klanten aanneemt. De beltak is ontworpen, het nummer wacht op regelgevend papierwerk en er is geen echt inkomend gastgesprek gevalideerd.
- Geen beschikbaarheid en geen kamerprijzen uit het PMS. Die laag is niet open, en de beschikbaarheidstool dekt alleen restaurants.
- Geen full duplex. De API's van vandaag werken om de beurt en geen enkele leverancier publiceert officiële end-to-end latency, dus noemen wij er ook geen. We hebben wel een gemeten synthesetijd voor het voorlezen van een geschreven antwoord, maar dat is tekst naar spraak, geen gesprek, en die twee getallen door elkaar halen zou oneerlijk zijn.
- Elke agent die we tot nu toe hebben gebouwd is een hotelagent. Het mechanisme is niet hotelspecifiek. Het bewijs in productie wel.
Een antwoord voorlezen is geen gesprek
Tekst naar spraak leest iets voor dat al geschreven is. Een spraakagent luistert, beslist en roept tools aan op jouw gegevens. Het zijn verschillende producten, ze kosten verschillend geld, en we houden hun cijfers uit elkaar.
De stack
De conversatiemotor van ElevenLabs voor de agent, de stem en de transcriptie, met het taalmodel erin. Onze eigen backend op Supabase, met edge functions en databasefuncties met beheerde rechten. Geheimen in een vault, nooit in de repository.
Het platform waarop deze agent draait, staat in productie met echte gasten in twee hotels, één daarvan sinds augustus 2026. Dat zijn cijfers van het platform, niet van het spraakkanaal, en we presenteren ze niet als spraakresultaten.
Bewijs
Vragen, beantwoord
Kan een spraakagent onze telefoon aannemen?
Hoe voorkomen jullie dat hij dingen verzint?
Werkt dit alleen voor hotels?
Wat is het verschil met een chatbot die praat?
Zijn onze gegevens veilig als de spraakleverancier ertussen zit?
Start de motor
Vertel ons in een paar korte vragen wat je bouwt. Een senior engineer antwoordt binnen twee werkdagen schriftelijk met een eerste inschatting van scope, planning en prijs.
