Opens in a new tab
Home / Case studies / Retail & E-commerce · Chatbots & Voice

A voice agent that answers customer calls and recommends the right product

A production-grade conversational voice agent that customers can access through a regular phone number in order to check the status of their orders and receive personalized product recommendations — an actual telephony system designed for concurrent, natural conversations rather than a scripted IVR.

Client Industry
Retail & e-commerce · online store operations
Key Challenge
Slow, low-concurrency phone support for orders & product help
Core Tech Stack
LiveKit WebRTC · Twilio · STT/TTS · RAG · Python
Deployment Model
Concurrent isolated agent workers on LiveKit Cloud

SoftmaxAI has developed a production-quality conversational voice agent which customers can access by dialing a regular telephone number in order to check the status of their orders and receive personalized product recommendations — this is a true telephony system, not a pre-programmed IVR. Twilio receives the incoming call over the public switched telephone network (PSTN) and connects it to a LiveKit WebRTC agent worker, the interaction being powered in real time by speech-to-text, language understanding, retrieval-augmented grounding, and function calling to enable a natural conversation. Each caller is assigned a separate worker within an isolated environment so that the conversations remain independent and reliable even when there is a high volume of calls underway — and a swappable text-to-speech module is used to speak each response back to the caller.

The challenge

Phone support could not keep pace with demand.

  • Calls took too long to resolve. Checking an order or finding the correct product involved a slow back-and-forth, and each minute spent on the line meant that a customer was waiting rather than making a purchase.
  • Concurrency broke the phone system. Traditional call handling was unable to handle many callers at the same time without having to greatly increase the number of staff and costs — the peaks in demand were simply too much for it to cope with.
  • Scripted IVR menus frustrate callers. Rigid press-one decision trees are unable to carry on a natural conversation or give an answer to an open-ended product question as a person can.
  • Answers had to reflect reality. Any suggestion regarding a product or update to an order had to be based on the current catalog and actual order data and not invented by the model.
System Architecture Diagram

How the data flows.

The agent operates as a collection of concurrent and separate workers — the data flows from the incoming phone call, first through the telephony component and then via a real-time WebRTC worker, into grounded LLM reasoning and function calling, and then back to the caller by voice.

Architecture diagram: an inbound customer call over the PSTN enters Twilio telephony, which bridges into a LiveKit WebRTC agent worker performing real-time speech-to-text. The worker prompts an LLM that applies retrieval-augmented grounding and function calling, invoking an order-status API and a product-catalog vector store, then voices the reply back to the caller through text-to-speech — with each caller served by an isolated worker on LiveKit Cloud.
The approach

A real telephony agent, specified before it was built.

  • Spec before code. In accordance with the SoftmaxAI Method, we prepared and approved a specification that outlined all the conversation flows, the order-lookup integrations, and the way in which the recommendations had to be based on the actual catalog before writing a single line of production code.
  • Worker-per-caller isolation. When an inbound call comes in, it is assigned a specific agent worker within a separate LiveKit room, which ensures that the concurrent conversations remain independent, reliable, and easy to reason about when under load.
  • Grounded reasoning, live actions. By referencing the product catalog, retrieval-augmented generation ensures that answers are based on factual information, while real-time function calling retrieves the order status when required, thus keeping the responses factual rather than invented.
  • Human-owned quality. The senior engineers were in charge of the design and quality decisions, and they assessed the RAG grounding and function calling against realistic call scenarios until the behavior had become reliable before the system went live.
Functional outcomes

What the build made possible.

  • Natural conversation over a normal phone line. When customers dial a regular number, they talk normally; the agent then listens to them, understands what they say, and responds to them by speaking rather than by sending them through a menu tree.
  • Self-service order status. The agent checks the order-status API in real time as the conversation is taking place and responds to the question 'where is my order' without involving a human.
  • Catalog-grounded product recommendations. Retrieval-augmented grounding compares the caller's stated need with the current product catalog so that the recommendations correspond to the products that are actually available.
  • Reliable concurrency by design. Because each caller is assigned their own isolated worker, a large number of customers can be served at the same time without the conversations interfering with one another or deteriorating when there is a high volume of callers.
  • A swappable, future-proof voice stack. Since speech-to-text and text-to-speech are modular in design, the voice or supplier can be changed without the need to re-engineer the conversation logic.
Under the hood

Core tech stack.

Voice AILiveKit WebRTCTwilio telephonySpeech-to-textRAG groundingFunction callingConcurrent call handlingPython
The SoftmaxAI Method

Every build runs the same four stages — spec approved before code.

01 / SPECSpec

A written specification that has been approved by the client prior to any coding taking place — covering the architecture, the edge cases, and the acceptance criteria.

02 / BUILDBuild, with agents

The engineers arrange for the AI agents to carry out the specification in parallel, taking weeks rather than quarters.

03 / VERIFYVerify

The evaluations, tests, and security checks are carried out together with the build, and humans examine every decision that is important.

04 / SHIPShip & improve

The system has been deployed to your GCP or AWS, complete with monitoring, production evaluations, and retraining loops.

Start here

Have an AI idea? Let’s pressure-test it — free.

A 30-minute call with our engineers, not a salesperson. You’ll get an honest feasibility read, a rough architecture, and a clear next step.