From one centre's voicebot to an AI phone assistant for many facilities.
The voicebot that answers a diagnostic centre's missed calls worked, and a second centre wanted it. Instead of copying it, we turned it into a product: Dianix, an AI phone assistant for many clients and centres, each with its own message.
Dianix grew out of the voicebot for missed calls we built for a diagnostic centre. We rewrote it as a platform: each client has a subdomain, centres are recognised by the number called, each centre edits its own message without touching the call flow, and front desks see only their centre's requests. The new system runs alongside the old one, and a number moves between them in a minute.
Context
The first voicebot answers when a diagnostic centre's line is busy or the centre is closed: it collects name, number and reason, saves the request and alerts the front desk, which calls back. It worked, and a second centre in the same group asked for the same service.
The problem
The first system was built for one centre: the message lived in the code and calls in a single dashboard. To serve many centres, and many clients, the data had to be separated, each centre had to edit its own message without being able to break the call flow, and all of it without stopping the system in production.
What we did
- 01
Clients and centres
Each client has a dianix.it subdomain; its centres are data inside the client, recognised by the number called. Whoever runs several centres uses one login, and isolation between centres lives in the data and the roles, not in domains.
- 02
A message per centre, a fixed flow
Welcome, opening hours, services, report information and privacy are structured fields, editable from the panel. The skeleton of the conversation, namely steps, data collection and closing, stays in the engine and cannot be changed from the interface: there is no free prompt field.
- 03
Four roles
The front desk sees and handles its own centre's calls, the centre manager edits its message, the client administrator manages all its centres, users and privacy. Centres and numbers are created by us.
- 04
The call
Calls come in from Telnyx to a Node.js WebSocket bridge connected to OpenAI's realtime model. When the call ends the Laravel application saves the request with the status to call back, called back or no answer, and emails the centre through Amazon SES.
- 05
Next to the old system
The new system runs in parallel with the first one. A number moves from one to the other by changing the application assigned to it in Telnyx: one minute, no deploy, and it moves back the same way.
How it went
The second centre is testing the new system, while the first stays on the old one until the new one is verified. The client panel is in development. Dianix has its own website: dianix.it.
Tools
FAQ
Does the AI phone assistant replace the front desk?
No. It answers when the line is busy or the centre is closed, collects name, number and reason and passes the request to the front desk, which calls back.
Can each centre change what the assistant says?
Yes, in the fields provided: welcome, opening hours, services, reports and privacy. The call flow stays the same for everyone, so an edit cannot break data collection.
Are calls recorded?
Audio is not kept. What remains is the request with the data collected and its status, visible only to the people working at that centre.