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
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.

Thousands of runners — and every one has a question.

Participant questions in waves before race day
When can I pick up the race kit?Can a friend collect my kit?What time does the 10K start?Will there be a bag drop?Can I transfer my bib to someone else?Do I need a medical certificate?I got sick — can I get a refund?Where can I see the route?Which distances still have spots?Does everyone get a medal?Will there be a 4:30 pacer?Where are the results?Is there parking near the start?What is the minimum age for the kids run?What T-shirt size will I get?Can I defer to next year?
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.

  1. 01

    Answer the predictable questions

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

  2. 02

    Spot the cases that need a human

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

  3. 03

    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.

  4. 04

    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.

  5. 05

    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".

01

Python backend with Google ADK for the multi-agent layer.

02

Prompt architecture: system prompts, conversation scenarios, escalation rules, behaviour limits.

03

Three live channels: WhatsApp Business API, Instagram via Meta Business Suite, Telegram bot for the team.

04

Manager subscription via code phrase or one-time confirmation link.

05

AI Judge — reference conversations and a scoring loop to keep replies close to a real operator.

Stack
Python + Google ADK the multi-agent layer
WhatsApp Business API the main participant channel
Instagram via Meta Business Suite
Telegram team alerts
Knowledge base marathon rules and policies
AI Judge operator-grade answers
Outcome

What changed

01

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.

02

Critical cases land in the right inbox

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

03

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.

Running an event or a service where the same questions arrive in waves?

We help operations teams put a real agent on the first line: WhatsApp, Instagram and Telegram on one backend, with escalation that hands the hard cases to a human together with context.

Brief (optional)