On 4 July 2026 the chat in the corner of lionex.com.ua changed. From the outside it is the same little window with a greeting and buttons. Inside it is the first working instance of LEO Chat, the chatbot platform for online stores we had been building since the start of that month. Three days later the same widget went live on textory.com.ua.
This article explains why we took on yet another bot in a market that already has dozens of them, and what exactly the platform counts when it shows «revenue through the bot».
The question a store usually cannot answer
A store we start website work with almost always already has a bot, or a broadcast service with a scenario builder. And the owner almost always cannot say how many orders came through that bot last month.
They know the subscriber count. They know how many messages were sent. Sometimes they see button clicks. After that the data stops, because the order is placed somewhere else: on the site, in a form, in a phone call with a salesperson. The chain breaks exactly where the money starts, and the decision to keep paying for the bot is made blind.
We closed that chain from the other end. The order has to be placed inside the conversation, delivery and payment included, and every paid order has to leave a trace: after which scenario, after which broadcast, in which channel.
What happens in the conversation
The customer writes to a Telegram bot or to the widget on the site. The bot answers from the store's knowledge base: uploaded files with delivery and warranty terms, site pages, question-and-answer pairs. When the request carries an intent to buy, the bot shows product cards with a button.
Then comes the part all of this was built for. The cart collects several items. Name. Phone number validated in the +380 format. Delivery: for Nova Poshta the bot searches the carrier's live directory for the city and the branch, for courier delivery it asks for the address. Payment: cash on delivery or card through Monobank. At the end, a confirmation, and once the waybill is created its number arrives in the same chat.
The catalogue comes from a Khoroshop or Prom.ua feed, from CSV, or from a scanner that reads product markup on the site and builds the category tree itself. That matters for the next step: the order in the database knows its product, its amount, its payment method and its status. Without that there is nothing to count.
How an order becomes a line in the report
This is the easiest place to lie, so here is the full mechanism.
Every interaction with the bot leaves an event: entering a scenario, passing a node, a broadcast sent, a click on a link from it. Events are written to a separate analytical store on ClickHouse and are not mixed with the operational database. When an order moves to the paid status, the platform looks back over a configured window and attributes it to the last interaction with the bot before payment — a specific scenario, broadcast or channel. This is a last-touch model, and it is called that by name in the settings.
The «revenue through the bot» dashboard then adds those attributions up: by channel, by scenario, by broadcast. Next to it sits the conversation-to-order conversion rate and the scenario funnel node by node, which shows the step where people drop out.
Now the limit we print next to every such report. It shows that an order was paid after a conversation or a broadcast. It does not show that the order would not have existed without the bot. That conclusion requires an experiment with a control group, and a report is not an experiment. So «revenue through the bot» reads as accounting here, not as proof of uplift.
A bot does not create demand. It removes technical loss: the question asked at half past eleven at night and answered the next day, the cart abandoned one step before payment, the broadcast whose effect nobody could see in money. How much of that turns into orders is decided by assortment, prices and how fast people handle the hard cases.
What we measured on our own product
We do not promise growth percentages, so what is left is showing what we measured ourselves, with dates.
On 4 July 2026 we ran the AI module against a reference set: 29 questions the knowledge base has an answer for, and 16 questions outside it. Accuracy on the first group was 89.7%. On the second the bot never invented an answer: in all 16 cases it admitted it did not know and offered to hand over to an operator. That is the result of an evaluation on a specific set, not a property that holds for any question.
The same day we checked the end-to-end chain: a test order from the bot appears on the revenue dashboard with the correct attribution to a scenario within 60 seconds. Onboarding from an empty account to a published bot took up to 15 minutes on demo data on 4 July 2026.
On 17 August 2026 we checked that the platform does not lose messages. On a test stack under a load of 300 messages per second for a minute, we killed the engine at the twentieth second, and in later runs restarted the NATS queue and Redis. After each run we reconciled the counters: how many messages were acknowledged at the entry point, how many reached a scenario, how many nodes were executed. In all three cases: zero losses and zero duplicates among acknowledged messages. Along the way we found two bugs that could have lost a message, and fixed them before it happened on a live project.
On 18 August we measured throughput: 298 messages per second processed in real time with 64 parallel workers, which is 17,891 messages in a minute. On the default configuration, 159 per second. The full integration suite that day consisted of 585 tests, all passing.
On 7 September 2026, an external measurement from Ukraine: the leo.lionex.com.ua landing page responded in 0.21 seconds at 153 KB of HTML, the client cabinet in 0.18 seconds, the engine in 0.19. The widget script weighs 57 KB, 19 KB compressed. That is the state on the date of measurement, not a promise for tomorrow.
What LEO Chat does not have
There are two live channels: Telegram and the widget on the site. Instagram and Viber are planned. If Instagram is your store's main channel, LEO is not a fit yet, and it is better to know that now.
There are no ready-made integrations with accounting systems or advertising cabinets either — that is a direction of development, not a feature available today. Exchange with external systems is done through webhooks and the public API.
Card payment is enabled on the payment provider's keys held by the store, which makes it a separate connection step rather than a toggle.
The bot does not close complex questions, and it should not. An individual price, a disputed return, a non-standard delivery — that is a person's job. This is exactly why the platform has a shared inbox where the bot hands over the conversation together with the full history, the customer's attributes and their orders.
What to ask any bot vendor
Whether or not you take LEO Chat, there is one question in a vendor conversation that saves a year: how exactly does your report attribute a paid order to an action by the bot, and over what window. If there is no answer, or a subscriber chart is shown instead, then this product has no revenue report, it has an activity report.
The second question: what happens to a message if your service goes down in the middle of a conversation. An answer of «that does not happen» means it was never tested.
What it looks like for us
We use LEO Chat on two of our own sites. On lionex.com.ua the bot answers from a knowledge base about our services and collects enquiries that land straight in our working system. On textory.com.ua it serves the users of Textory, our second product.
This is not a client case study, and we do not present it as proof of revenue. It is a way to see the product through a user's eyes every day and to catch what tests do not catch.
To see how the bot behaves in a conversation, use the chat in the corner of this page: that is it. The product description and cabinet screenshots are on the LEO Chat page, and our other products are in the own products section. To try the platform on your own store, go to leo.lionex.com.ua: pricing there follows the volume of the knowledge base and AI answers, and the current terms are on the product site.
If you need the bot connected to your catalogue, delivery and accounting rather than configured by yourself, send us the task. We reply within two hours and work under a contract. On the delivery mechanics inside an order we have written separately: the Nova Poshta integration and how a checkout with Nova Poshta is built.




