Ringback AI: en receptionist, der tager telefonen på dansk
Hvordan vi byggede en dansk AI-receptionist: hvad den gør ved et opkald, hvordan den er sat sammen, og hvad der viste sig at være svært undervejs.

Ringback er vores egen platform. Vi har bygget den, vi hoster den, og vi retter i den, når noget viser sig ikke at holde. Den er ikke lavet for en kunde, og der er endnu ingen betalende kunder på den. Det er derfor, den kan bruges som case: vi kan fortælle hele vejen rundt, også de steder hvor det var besværligt, uden at skulle spørge nogen om lov.
Kort fortalt tager den telefonen på dansk, finder ud af hvad opkaldet drejer sig om, foreslår en tid i kalenderen, hvis det er dét, det handler om, og skriver samtalen ned bagefter. Resten af teksten her handler om, hvad der ligger under.
Udgangspunktet
En elektriker på en stige tager ikke telefonen. En klinik midt i en behandling gør det heller ikke. Det ubesvarede opkald bliver sjældent ringet op igen af den, der ringede: han ringer til den næste på listen. Telefonsvareren er svaret, alle har prøvet, og den løser ikke problemet, fordi den ikke kan spørge om noget. Man får et nummer og en halv sætning, og skal så selv gætte resten.
Vi ville se, hvor langt en talende AI reelt kan komme på dét stykke arbejde: tage imod, spørge ind, notere og give videre. Ikke sælge, ikke rådgive, ikke love noget på virksomhedens vegne. Vores vurdering af, hvad den slags kan og ikke kan, står i automatisk telefonpasning: hvad virker, og hvad er hype.
Det, vi byggede
Selve samtalen kører hos en taleplatform, der både lytter, forstår og svarer i ét stræk. Det var et bevidst valg. Hvis vi selv skulle sy talegenkendelse, sprogmodel og stemme sammen, ville vi bruge det meste af tiden på at holde forsinkelsen nede, og det er ikke dér, forskellen ligger for en dansk håndværker. Vi bygger laget udenom: virksomhedens ord, virksomhedens kalender, virksomhedens regnskab over minutter.
- Portalen er en Next.js-app oven på Supabase. Ringback har sit eget databaseprojekt, adskilt fra alt andet vi driver.
- Receptionisten bygger virksomheden selv: hilsen, åbningstider, tone, og en videnbase med det, den må svare på.
- Kalenderen kan kobles til Google Kalender. Et bookingønske fra en samtale lægger sig som forslag, indtil nogen siger ja.
- Telefonilaget ligger bag en udbyder-grænseflade, så nummer og opkald kan flyttes uden at røre resten. Under test kører en attrap i stedet.
- Minutregnskabet tæller forbrug løbende og varsler, før saldoen er brugt op.
Sådan arbejder AI'en i drift
Et opkald er ikke en fri samtale. Det er en tragt med et bestemt mål: at ende med noget, virksomheden kan handle på. Receptionisten oplyser først, at den er en AI, og at der bliver skrevet ned. Så tager den imod, spørger ind til opgaven, henter navn og nummer, og foreslår en tid, hvis kalenderen tillader det.
Når samtalen er slut, laves der ét struktureret resultat: hvad blev der spurgt om, hvad blev der aftalt, hvem ringede. Ud af dét udledes en enkel vurdering af, hvor stærk henvendelsen er, og den bygger på fem synlige signaler: er navnet oplyst, er nummeret oplyst, er opgaven beskrevet, blev der nævnt et tidspunkt eller et omfang, og bad personen om at blive kontaktet. Vurderingen regnes én gang, dér hvor samtalen gemmes, og bliver ikke gættet igen senere ud fra de kolonner, der endte i loggen.
Akutte sager markeres og lægger sig øverst. Alt andet står i rækkefølge med resumé og fuldt transskript, så man kan læse efter, hvad der faktisk blev sagt. Der gemmes ingen lydoptagelse af samtalen. Det er også derfor, hverken vi eller receptionisten siger "optaget": den noterer.


Det, der var svært
Tre ting kostede mere arbejde, end vi havde regnet med. Ingen af dem handlede om at få AI'en til at tale.
Tal bliver læst forkert op
Et telefonnummer, et klokkeslæt og et beløb er cifre på skærmen, men de skal siges vidt forskelligt. Vi målte det op før go-live og fandt ud af, at selv pænt formaterede cifre blev læst med stor variation fra gang til gang. Løsningen blev at oversætte de kritiske oplysninger til danske talord, før de overhovedet når stemmen. Konteksten afgør typen: 2500 Valby er et postnummer, det samme tal med kroner efter er et beløb, og otte cifre i par er et telefonnummer. Ord kan ikke udtales forkert.
Instruktioner der slap ud i teksten
Stemmemodellen tager små tags i teksten, der styrer, hvordan en replik skal leveres. I det første rigtige testopkald stod sådan et tag råt i portalens transskript. Det var aldrig noget, nogen sagde. Nu fjernes de begge steder: både før samtalen gemmes, og igen når den vises, så gamle rækker også ser rene ud. Filteret er med vilje forsigtigt, så en kunde, der faktisk siger noget i en firkantparentes, får sine egne ord med.
Hilsenen tilhører kunden
Virksomheden skriver selv sin velkomst. Den tekst er kundens data, og vi rører den ikke, heller ikke når vi synes, den kunne blive bedre. Samtidig skal opkalderen have at vide, at der tales med en AI, og at der bliver noteret. Vi løste det ved at lægge oplysningen ovenpå ved oplæsning i stedet for at skrive den ind i kundens tekst. Har kunden selv skrevet den, tilføjes der ingenting. Den formulering, der faktisk blev sagt, gemmes ordret, så det kan dokumenteres bagefter.
Hvor den står i dag
Platformen kører. Man kan oprette sig på ringback.dk, bygge sin egen receptionist i portalen, prøve et opkald og se, hvad der lander bagefter. Demo-opkaldet på forsiden er receptionistens egen stemme, uden manuskript og uden klip.
Der er ingen betalende kunder endnu, og derfor står der ingen tal i den her tekst. Det er den ærligste udgave, vi kan give: platformen er bygget, den er i drift, og den venter på de første virksomheder. Vil I se resten af det, vi har bygget, ligger de andre platforme på referencer.
