The voice agent that runs the whole call

A real-time speech model on the line and your production AI agent behind it — one brain answering support questions, analysing sales, troubleshooting devices and taking real, verified actions. In English and Arabic, in the accent you choose.

Try the interactive demo
Full-duplex — interrupt any timeEnglish & Arabic — accent configurable~3s to first speechReal actions with OTP step-upMCP tools & knowledge basesEvaluated on every release
In call
00:42
Wait — how did the Olaya branch do compared to Al Malaz?
Barge-inplayback stops in under a second
Olaya leads this week — SAR 48,200 across 312 transactions. The figures are on your screen.
get_branch_performance · via MCP
~3s first speech~0.9s barge-in verdict0 numbers paraphrased

A live duplex call: barge-in, tool calls and spoken-number safety in action.

Live demo

Talk to it right now

This is a real call: your browser connects to the engine's duplex voice WebSocket and the agent hears you through your microphone. Pick an accent, start the call, and ask anything — the topics on the side are ideas, not buttons.

Voice AgentReady to call

Press start — the agent picks up in a couple of seconds and hears you through your mic.

Things to ask about

Ideas, not buttons — say any of these in your own words on the call.

Product & features
  • What makes WAJ different from other salon software?
  • Does WAJ support memberships and gift cards?
  • Can my staff manage their own calendars?
  • What reports can I get about my business?
Tools & actions
  • What tools can a WAJ agent use on a call?
  • Can an agent open a support ticket or book something while we talk?
  • How do OTP-protected actions stay safe?
Data & analytics
  • What could an agent tell me about my sales and branches?
  • How does live data reach the agent mid-call?
  • Why do exact numbers go to the screen instead of being read out?
The voice tech
  • What happens if I interrupt you mid-sentence?
  • Which languages and accents can you speak?
  • How do you tell real speech from background noise?
Setup & integrations
  • How does the WhatsApp integration work?
  • How do I set up online booking on WAJ?
  • Does WAJ work with my existing POS and payments?
Pricing & getting started
  • How is WAJ priced?
  • How long does setup take?
  • Can I book a demo with the team?
What it does

One agent. Support, analytics and real actions.

The same production agent behind your chat picks up the phone — with everything your business already gave it: tools, data, knowledge and policy.

Support

Answers from your knowledge base

Product and process questions are answered from an embedded, vector-indexed knowledge base — not from the model's imagination. Every answer carries the source it was fetched from.

Analysis

Live business analytics

Sales summaries, branch and terminal performance, payment-method breakdowns — pulled through MCP tools against live data while the caller waits, with figures pushed to the screen.

Troubleshooting

Guided troubleshooting

Step-by-step device and process troubleshooting from your own guides, escalating to a ticket with a technician visit when the steps don't resolve it.

Actions

Takes real, gated actions

Opens maintenance tickets, updates settlement details and more — with OTP verification held server-side, so a sensitive flow can never be talked past the agent.

Conversation

Natural full-duplex conversation

Callers interrupt mid-sentence and are understood. Real speech is distinguished from background noise and "mm-hm" backchannels before the agent yields the floor.

Safety

Never mis-says a number

Spoken output is rendered deterministically: IBANs are masked to their last four digits, long decimals are rounded, tables go to the screen — and the voice reads results verbatim, never paraphrasing.

Under the hood

A realtime voice, your agent's brain

A realtime speech model owns the ears and the mouth over one WebSocket. Your existing agent stays the brain — same prompt, same tools, same telemetry as chat.

1

The call edge

The browser or phone streams raw audio over a single WebSocket. Semantic voice-activity detection ends turns in under a second; deep noise suppression and echo cancellation are built in.

PCM16 audioSemantic VADBarge-inPlayback control
2

The realtime layer

A realtime speech model converses with exactly one tool: ask_agent. Watchdogs recover stalled turns, cancel obsolete answers by name, and re-deliver answers that never reached the caller.

One tool: ask_agentStall recoveryAnswer watchdogRelay mode for protected flows
3

The agent brain

ask_agent runs the identical turn your text chat runs — same profile, prompt, MCP tools, knowledge base, persistence and tracing. Voice and chat share one session history.

Same agent as chatMCP toolsKnowledge baseShared session

Swappable realtime providers

Azure Voice Live — nativegpt-realtime

The model hears and generates speech itself — natural, dialect-aware Arabic and English with no text-to-speech ceiling. This powers our flagship merchant demo.

Azure Voice Live — cascadedSTT → LLM → TTS

Azure speech recognition and neural voices around a fast LLM — in-region, roughly 4× cheaper per minute, with named voices configurable per language.

Gemini Livenative audio

Google's realtime stack — it scored 100% exact transcription in our three-way provider bake-off. Provider choice is a config row, not a rebuild.

Switching provider, model, region, voice or accent is a database row edit in the admin portal — never a redeploy.

Measured, not estimated

Numbers from live calls

Every default in the voice stack is a measurement with a date on it. These are the ones you feel on a call.

~3s
Time to first speech
sentence-streamed answers
~0.9s
Barge-in verdict
after the caller stops speaking
0.87s
End-of-turn detection
650 ms semantic VAD window
100%
Transcription bake-off
best provider, exact-match
What we measureResultWhy it matters
Interrupt cancellation33 msA named cancel stops obsolete audio almost instantly — versus 2.34 s of overhang when unnamed.
Stall recovery~0.4 sA turn that ended on "one moment" is finished, not late — a reprompt lands the owed tool call in 0.37 s.
Answer delivery → first audio0.21–0.33 sThe gap the answer watchdog polices before re-delivering an answer that never made a sound.
In-region embeddings~100 msIn-region versus ~600–800 ms cross-cloud — knowledge lookups stay off the caller's clock.
Streaming headroom~4×28 s of speech forwarded in 6 s — playback pacing, not generation, sets the tempo of the call.
Voice prompt budget−51%The voice persona was compressed from 38.7k to 19k characters with every bilingual rule preserved.
Daily voice budgetper tenantAudio seconds are metered and capped per tenant per day, with concurrency limits per identity and per IP.
Latency telemetry5 stagesEvery turn emits end-of-turn → first-audio, delegate time and more into the observability dashboard.

Figures are live measurements from our duplex voice edge and demo deployments; your numbers depend on region, provider and tools.

Built on the WAJ AI Engine

Configure. Test. Evaluate. Ship.

The voice agent isn't a black box — it's an agent profile in the WAJ AI Engine, with the same lifecycle discipline as every other agent.

1

Configure

Provider, model, voices and accents per language, VAD timing, barge-in, watchdogs, budgets — around 25 live-voice settings on the agent profile, all editable in the admin portal without a deploy.

2

Test

Deterministic voice scenarios place a real duplex call on every deploy and assert the transcript. Unit and turn-invariant suites cover every event ordering a call can physically produce.

3

Evaluate

A goal-driven LLM caller holds whole conversations with the voice agent — in simulation or over real audio — and a judge grades each rubric, with hard latency gates that clock the answer, not the holding line.

4

Optimize & ship

Promote an immutable profile snapshot, compare eval runs across variants, and let the drift check prove the live stack serves exactly the prompt and levers you think it does.

Drive it all over MCP

The engine's admin surface is itself an MCP server: ~48 tools to configure profiles, publish prompts, attach MCP servers and knowledge bases, trigger eval runs, check drift, promote and deploy. Your own agents — or Claude — can build, test and tune voice agents end to end.

update_profilepublish promptstrigger_eval_run · sim/livevoice_scenariosdrift_checkpromote_profilevoice_budgetslive_analytics

Config drift, caught

Silent levers are the failure mode of voice operations — a disabled barge-in or a stale prompt looks fine until a live call. The drift check compares what every profile actually serves against source of truth, and flags incident levers left engaged.

Connected

Tools, MCP servers and knowledge bases

The voice agent binds the same integration surface as every WAJ agent — attach a server in the portal and the tools are live on the next call.

MCP servers

Attach any MCP server and pick a tool subset per agent. Tenant credentials are injected server-side and stripped from the tool schemas — the model never sees a secret.

tool subsetsserver-side credentialsconnection pooling

HTTP action tools

Point-and-click HTTP tools configured in the portal — the ticket and IBAN actions in our demo are exactly this, with OTP step-up held by the server, not the model.

portal-configuredOTP-gatedno code

Knowledge bases

Documents are ingested, chunked and embedded into a vector index; the voice agent searches them mid-call and cites what it fetched.

vector searchtop-6 retrievalin-region embeddings

Memory & data

Long-term user memory, chat history shared between voice and text, and live business data through your systems — each togglable per profile and tuned for voice latency.

shared voice + chat historyper-profile toggleslatency-aware
Bilingual by design

English and Arabic — really Arabic

Not a translation layer: the voice agent is engineered per language down to the holding lines — and the Arabic accent is a setting you choose, not a hard-coded default.

Dialect-aware speech

With the native realtime model the agent speaks natural, colloquial Arabic itself — and the accent is configurable: Gulf, Egyptian, Levantine and more, from the accents Azure Voice Live supports.

Pinned per call

The call language is fixed from your locale — a foreign brand or product name can't drag the agent into another language mid-call.

Everything localised

Holding lines, failure lines, "the figures are on your screen", empathy phrases, even hesitation sounds («ممم»، «طيب») exist per language — no English leaking into an Arabic call.

Parity, enforced

A generative test requires the English and Arabic rule sets to match rule for rule, so a one-sided prompt edit fails before it ships. Arabic speech-recognition variants are normalised, not enumerated.

Hear it in Arabic

This whole page — and the demo call — exists in Arabic with a natural Arabic voice. Switch over and try the same questions.

جرّب النسخة العربية

Put a voice on your operation

A 30-minute call: we dial the live demo agent together, walk through the admin portal, and scope what a voice agent over your data and tools would look like.

Try the on-page demo

No commitment — and bring your hardest support questions.