Product · Voicotopia

The phone rang eleven times today. You answered four.

The other seven were not bad customers — they were customers who called while you were with somebody else. Voicotopia answers in the caller's own language, books or moves the appointment, and messages them afterwards. It is set up by the owner of the business, not by a developer.

The two laws

Everything else in the product follows from these

A voice agent that improvises a price, or that quietly loses a caller when a provider goes down, is worse than no voice agent. Both failures are designed out rather than warned about.

1 · Never invent

A reply may state a price, a policy or a confirmation only when it is grounded in a knowledge item the owner approved, or in a system action that actually completed. The citation is kept on the turn record, so any answer can be traced back to what authorised it.

When there is no grounding, the agent says it does not know. It then records the question for the owner and offers the caller a callback — so the gap becomes something the owner can fix, instead of something a customer was told incorrectly.

2 · Never drop a lead

Every failure path ends the same way: a callback task and a follow-up message. A provider outage, exhausted credits, a silent caller, a calendar that will not answer, a transfer nobody picks up — each of them still leaves a lead you can ring back.

Underneath sits capture-only mode, which takes a name and a number with no dependency on speech recognition, no language model and no speech synthesis. When everything clever is unavailable, the simple thing still works.

What it does on a call

It takes actions, not messages

Voicotopia answers incoming calls and places outgoing ones. It works out what the caller actually wants, then does it: book, reschedule, cancel, transfer, arrange a callback, or simply capture the details when the request is something a person should handle.

Afterwards it does the part most businesses never get to. The call is summarised, the caller gets a follow-up on WhatsApp or SMS, and the owner gets a notification and a digest.

Language is per caller, not per business

A call is handled in English, Hindi or Bengali — detected during the conversation rather than chosen in advance by a setting. The owner reads everything back in English regardless, which matters when your customers and your staff do not share a first language.

How it is built

Failover at every layer

A turn runs through a LangGraph state machine: load the context, transcribe, detect the language, check whether the caller actually said anything, compose a grounded reply, speak it in a locked persona voice, and persist what happened.

Models are resolved in order — a tenant's own override, then their tier profile, then the default, and finally an emergency profile. Several providers sit behind that resolver with circuit breakers, metering and credit checks, so one provider having a bad afternoon changes the cost of a call rather than ending it.

Multi-tenant to the row. Separation is enforced by PostgreSQL row-level security, not by remembering to add a WHERE clause. One tenant's knowledge, calls and recordings are unreachable from another's session.

Pricing

One credit is one rupee

Calls cost what the underlying providers charge, marked up at a published multiple rather than an invented per-minute rate. You can read the arithmetic, which is the point.

ItemWhat it means
1 credit₹1. Credits are deducted as a call runs, not estimated afterwards.
IndiaCharged at three times the provider's own cost for the call.
Everywhere elseCharged at five times provider cost, which is where international telephony actually sits.
Starting voucher500 credits, so the first calls are real calls rather than a demo.
Out of creditsCapture-only mode takes over. The lead is still recorded; it is never simply dropped.

Also in the product

The parts that are not the pitch

Configured by the owner

Knowledge, hours, personas and escalation rules are set from a dashboard by a non-technical owner. Nothing about running it assumes a developer is available.

Operator console

A live view of calls as they happen, with a test call you can place against your own configuration before any customer ever reaches it.

Questions become knowledge

Every question the agent could not answer is recorded for the owner. The knowledge base grows from real calls instead of guesses about what people will ask.

A widget too

The same agent can answer from a widget on your own site, so a visitor who will not telephone still gets a reply from the one approved source of truth.

Retention you control

Scheduled jobs purge and reconcile on your terms, and a deletion request is a job that runs rather than a promise somebody made.

Watched from the inside

We run Voicotopia ourselves and watch its provider spend from the same console as every other product we operate.

Place a test call before a customer ever does

Voicotopia is live, and a new account arrives with enough credit to hold real conversations rather than a scripted demonstration.