All guides
Customer service // Geron Labs

How an AI sales assistant hands a conversation to a manager

A real DOLOROSA workflow: verify the listed item, pass the conversation to Telegram and stop automatic replies when a manager takes over.

An AI sales assistant needs an explicit rule for when a person takes over. Forward the customer's question, the product and the conversation to a manager. After a human reply, pause automatic responses before generating another message and check again immediately before sending.

We implemented this in DOLOROSA, a resale shop selling individual items on Avito, a Russian marketplace. Product records and stock come from MoySklad, its inventory system. Managers handle conversations in Telegram topics. The buyer stays in the original marketplace chat.

Establish which item and price the customer means

The model receives the listing context rather than an unrestricted search result. Stock for another item of the same model does not prove that this particular resale item is available.

During an early comparison, 14 of 16 listing prices differed from the inventory records. One bag was listed at RUB 69,900 while its inventory card showed RUB 53,000. Passing both numbers without a rule could make the assistant quote an unauthorised discount. We use the marketplace listing for the customer-facing price and the inventory record for availability and condition.

Workflow diagramGERON LABS

A source for every fact

  • Avito

    Listing, price, messages and order status through a separate API.

  • MoySklad

    Product record, stock, description and tasks.

  • Integration service

    Links chat, product and topic; checks duplicates and pauses the agent.

  • Telegram topic

    Context, photos and messages in one place. Staff replies return to Avito.

DOLOROSA workflow diagram. The buyer stays in Avito while staff work in Telegram.

Let the manager reply from the workspace

Each Avito conversation is linked to a Telegram topic. Incoming customer messages, bot replies and order events appear there. Ordinary manager text returns to the linked Avito chat; an internal note uses a separate prefix. A successful send is acknowledged, and failures are visible to staff.

A customer asks about collection, a manager replies in Telegram and Copilot offers a separate draft

Actual DOLOROSA conversation on 11 August 2026, in Russian. The manager replies above. The Copilot panel below is an unsent draft for staff to edit.

Open full-size image ↗

The screenshot shows a manager replying “Yes, of course” to a collection question. The Copilot suggestion is a different message intended for the employee. It is not presented as a reply already delivered to the buyer.

Distinguish the human from the integration

On Avito, outgoing messages from the integration and staff use the same account. The account author ID alone cannot identify a human reply. The service therefore keeps a registry of its own sent message IDs. An outgoing message outside that registry triggers the manager gate. A message sent from the Telegram topic triggers the same pause.

This also handles the race where a manager answers while the model is still preparing text. Checking the gate only when generation starts would allow the older automatic reply to be sent afterwards.

Reserve uncertain decisions for staff

Negotiation, disputes, returns and physical inspection need a person. An empty condition field is not evidence that an item has no defects. If a task for the manager could not be created, the assistant must not tell the customer that the handoff succeeded.

Test a missing product, conflicting prices, a manager reply during generation and a timeout after sending. Track lost or duplicate replies and confirmed order events separately from the number of AI answers.

Read the full DOLOROSA case, then review the sales integration service. For another channel, the same handoff requirements need to be checked against that platform's APIs and permissions.

The implementations behind the guide

Planning a similar workflow?

SYS: COOKIE

We use technical browser storage so the site works correctly. Privacy Policy