There's a moment, about two seconds into any call with Priya, when new joiners forget they're talking to software. Her mouth moves when she speaks. Her voice carries warmth and rhythm, not the flat cadence of a text-to-speech demo from ten years ago. She answers questions about things that are specific to MITS, not generic filler. It feels, for lack of a better word, present.
That feeling is not one system. It's four separate services, built by four separate companies, none of which were designed to talk to each other, stitched into a single live conversation with no visible seams. Understanding how that actually works is a small masterclass in modern applied AI, and it's a lot more interesting than "we added a chatbot."
The Voice: ElevenLabs
Priya's voice comes from ElevenLabs, running as a full conversational AI agent rather than a simple text-to-speech box. It handles three jobs at once: listening to what the new joiner says (speech-to-text), reasoning about what to say back, and generating the spoken reply (text-to-speech). At the start of every call, the system injects the candidate's context directly into ElevenLabs' system prompt, their name, their role, their department, their start date, so the very first sentence out of Priya's mouth is personal rather than generic.
The Face: D-ID
The voice alone would be enough for a phone call. But MITS wanted a video call, so a second service, D-ID, takes ElevenLabs' audio output and maps it onto a real-time, lip-synced avatar streamed over WebRTC, the same peer-to-peer video technology that powers most modern video calling. D-ID doesn't generate speech itself, it listens to the audio and animates a face to match it, frame by frame, live.
This is also where one of the more thoughtful engineering decisions shows up. D-ID's streaming avatar is billed by the minute it's active, so MITS built HR the ability to toggle it on or off mid-call. Turn it off, and the joiner sees a static image of Priya with an animated audio waveform instead, ElevenLabs keeps talking uninterrupted, the WebRTC stream simply closes. At an estimated 20 to 25 onboarding calls a month, roughly three minutes of avatar time each, that's 60 to 75 streaming minutes monthly, comfortably inside a $35-a-month commercial plan with room to spare. Good architecture and good unit economics turned out to be the same decision.
THE BRAIN: GPT-4o
Underneath both the voice and the face sits OpenAI's GPT-4o, doing the actual thinking: extracting a candidate's role and start date from an uploaded Word document or PDF during setup, personalizing each segment's script, reasoning through open Q&A, and writing a structured summary after the call ends. It's the layer nobody sees directly but that everything else depends on.
The Bridge: Azure Communication Services
Holding the whole thing together is Azure Communication Services, or ACS, which creates the actual three-party call session, issues short-lived, scoped tokens for the joiner, the HR participant, and the AI, and routes the real-time audio stream that ElevenLabs listens to. It's the plumbing, invisible when it works, and everything else in the call depends on it working.
Why It Matters That None of This Is One Product
None of these four services were built to work together. ACS doesn't know ElevenLabs exists. ElevenLabs has no concept of D-ID's avatar stream. GPT-4o just answers whatever it's asked. Making them behave like a single coherent colleague required MITS to build the orchestration layer itself, sequencing service calls, handling failure states, keeping audio and video in sync, all wrapped in a clean separation of interfaces (IAcsClient, IElevenLabsClient, IDIdClient, IOpenAiClient) so that any one piece could be swapped out later without rewriting the rest.
That's the part that doesn't show up on a call. But it's the reason the call feels like one thing instead of four.
---
MITS Global Consulting builds enterprise technology the way it builds client relationships: with real engineering discipline underneath. Explore more at https://www.mitsit.in/ or get in touch at https://www.mitsit.in/contact-us/
MITS AI Onboarding · part 2 of 6Part of a 6-part series on the MITS AI Onboarding project.
