Almaty Marathon

An AI agent that runs the first line of support for one of the largest running events in Central Asia. Participants write into WhatsApp and Instagram with the same questions every day — when does it start, what are the rules, how do I pay, where do I pick up the pack — and the team behind the marathon could not keep up. The agent answers nine out of ten of those messages on its own. The tenth one — a refund request, a complaint, a VIP, a sensitive case — gets picked up by a human with a clean summary already in their inbox.

~2 130 participant conversations handled
9 / 10 resolved by the agent alone
24/7 coverage across WhatsApp and Instagram
Almaty Marathon AI agent chatting with a participant on WhatsApp
Telegram escalation alert sent to a manager with a conversation summary
Problem

A call centre that could not keep up with the room.

A marathon at this scale pulls thousands of participants writing in at the same time across several channels. The call centre never had a chance to be fast on the easy stuff, which meant the difficult cases — complaints, refunds, conflicts — landed on already overloaded operators.

The goal was not to replace the team. It was to take the predictable ninety percent off them so the remaining ten could be handled properly.

  • Participants write in waves across WhatsApp and Instagram and expect a fast answer.
  • Most questions are the same: schedule, rules, documents, registration, payment.
  • Critical cases — refunds, complaints, VIPs — get lost in the volume.
  • The team needs 24/7 coverage without growing the operator headcount.
Incoming volume on the marathon support channels
Solution

Automate the first line. Hand off the cases that need a human.

The agent picks up every message across WhatsApp Business API and Instagram (via Meta Business Suite) and answers from the marathon's knowledge base — rules, schedule, registration, payment, documents.

A second layer watches for cases that need a person: complaints, threats, VIPs, refunds, withdrawals, anything that looks unusual. When one shows up, the agent stops, summarises the conversation, attaches the reason, and pings the responsible manager on Telegram or WhatsApp. The human walks in with context, not from zero.

Flow from a participant message to either an AI answer or a human handoff

Answer the predictable questions

Start times, rules, documents, registration, payments, organisational details — the agent answers from the marathon's own knowledge base.

Spot the cases that need a human

Complaints, threats, conflicts, VIPs, refunds, withdrawals, repeat contacts — the agent recognises them and stops automation.

Hand off with a summary

The manager gets the reason for the escalation plus a short recap of the conversation, so the takeover is one step instead of a re-investigation.

Subscribe managers once

A manager confirms themselves once via a code phrase or a one-time link. After that they're on the alert list and get notifications automatically.

Run on every channel that matters

WhatsApp Business API for the main participant flow, Instagram via Meta Business Suite, Telegram for the team side.

Technical work

Multi-channel agent with strict escalation rules.

The agent runs on Python with Google ADK as the multi-agent layer — agent logic, conversation scenarios, routing of complex cases, prompt architecture all live there. The knowledge base is the marathon's FAQ, rules and registration policies.

On the quality side we treat support like a moving target: we collect reference conversations, build datasets from the best operator replies, and run an AI Judge that scores the agent's answer against the reference. The point is not "AI sounds smart" — it is "AI sounds like the team that already does this well".

Python backend with Google ADK for the multi-agent layer.
Prompt architecture: system prompts, conversation scenarios, escalation rules, behaviour limits.
Three live channels: WhatsApp Business API, Instagram via Meta Business Suite, Telegram bot for the team.
Manager subscription via code phrase or one-time confirmation link.
AI Judge — reference conversations and a scoring loop to keep replies close to a real operator.
Python backendGoogle ADKWhatsApp Business APIInstagram · Meta Business SuiteTelegram botKnowledge base ingestion

What changed

The call centre stops drowning in repeat questions

Roughly nine out of ten participant conversations close inside the agent. Operators only see what actually needs them.

Critical cases land in the right inbox

Refunds, complaints, conflicts and VIPs are detected and routed to the responsible manager with a summary attached.

24/7 coverage without growing the team

Participants get an answer at any hour, in any channel, without the marathon hiring a night-shift operator.

Tell us what you're building.

Start with a few details

We reply within one business day. Then Azamat joins every first call personally, so you get an honest scope, budget, and fit from the person responsible for delivery.

Brief (optional)