Case Studies Umumiy_uz Case Study: Odoo Implementation for a Distribution Company in Uzbekistan and +7–9% Profit Growth
This case study shows how we implemented Odoo for Umumiy_uz and unified: product cost & margin visibility, customer hist...
A company in Tashkent sells by phone: a client calls, a manager talks through services, prices and dates. The owner cannot listen to hundreds of calls, and the statuses in amoCRM did not show what was really happening. We built an AI agent that listens to every sales call, scores it against a rubric built from 94 real calls, and sends the owner a report in Telegram. The first data was a surprise: the CRM showed 88.9% of calls answered, the recordings showed about 70%. And 31 of 61 sales calls ended with no next step. Analysing one call costs about $0.06.
The sales team had amoCRM and a cloud phone system that records calls. On paper everything was under control: calls were logged, deals moved through the pipeline. But the owner only saw CRM numbers and had no idea how managers actually spoke to clients, where enquiries were lost or why bookings fell through. Listening to recordings by hand would take dozens of hours a week, so nobody did.
What was needed was not another dashboard but a colleague who listens to everything, scores it honestly and reports only what needs attention.

A call's path: amoCRM → recording → text → score → report to the owner in Telegram.
The agent runs on top of the client's existing systems and changes nothing in them:
We did not invent the scoring criteria. We first analysed 94 real calls from this business and only then built a rubric that reflects how this business actually sells.
One model hears (speech → text), another thinks (scoring and answering the owner), a third speaks (the voice report). If the main model is unavailable, an automatic fallback takes over, and every score records which model produced it.
Managers keep working in amoCRM, the owner reads reports in Telegram. No new dashboards or passwords.
The agent does not take CRM fields at face value: it checks the "answered" status against what is audible on the recording. That is how it found the gap between 88.9% in the CRM and about 70% in the recordings.
Every model request is logged with its token count, the month has a budget cap with alerts, and a kill switch allows an emergency stop.
362 automated tests and 21 checks before every deploy. We also check separately that the report reads well on a phone screen.
The bot answers only its owner — strangers don't even get a reply. Errors are translated into plain language, and alerts arrive only when a call genuinely needs attention.
The CRM was wrong about calls. The "answered" flag did not match reality: some calls marked as answered turned out to be missed on the recording. The agent now always checks against the audio.
The first scoring version was too harsh. Managers got low marks for perfectly normal conversations. We calibrated the rubric on real calls and re-scored 91 recordings — the average became 6.5 instead of 4.4 and started matching the owner's own judgement.
The CRM session could drop. We built in several fallback ways to connect and automatic recovery, and the agent catches up on any calls missed during an outage by itself.
Analysing one call costs about $0.06 in model usage. The budget is capped in advance: an alert fires as spend approaches the cap, and the agent cannot exceed it.
We build these around a specific business's processes. See ourAI CRM Analyzer, AI agents for business and all our AI services. If you are still deciding how to automate your CRM, read our guide to CRM automation and follow-up for sales teams. To discuss your case, get in touch.
Callback
Leave your details and we will contact you shortly.
Become a Partner
Leave your contact details and we will get back to you shortly.
Order Service
Leave your phone number and we will contact you shortly.