Magnum HR Agent

AI for mass hiring across a retail network with hundreds of stores. The agent picks up the candidate the moment they reply on HeadHunter and walks them through a short interview on WhatsApp. The real work is not the chat. It is matching the person to the closest store, dealing with addresses written in any form, and keeping all of it inside an HR process the team already runs.

WhatsApp chat between the Magnum HR agent and a candidate
Magnum HR agent admin panel with vacancies and branches
Problem

Too many candidates, not enough recruiters.

HeadHunter brings in a steady flow of applicants. The HR team cannot reply to all of them in time, so part of the pipeline drops out before anyone even reads it. Candidates wait, get an offer somewhere else, and the role stays open.

On top of that, every candidate has to be sent to a specific store. Doing this by hand for a network this size is slow and accidental — the right person ends up assigned to a store on the other side of the city.

  • Hundreds of applications arrive faster than recruiters can respond.
  • Repetitive intake questions eat hours of recruiter time every day.
  • Branch assignment is manual, so the closest store is often missed.
Magnum HR pipeline overview with applications, intake and branch routing
Solution

The first hour of recruiting, automated end to end.

Applications land in Skills, the internal HR system. From there the agent takes over: it messages the candidate on WhatsApp through Infobip, runs a short intake, and proposes the nearest store with an open role. Recruiters only see candidates who are already triaged.

The whole flow is built around the recruiter, not around the model. HR keeps a panel where they can edit vacancies, salaries and store data without engineering.

Magnum HR agent flow from application to store assignment

Pick up the candidate

A HeadHunter reply flows into Skills, and the agent opens a WhatsApp conversation within minutes instead of hours.

Run the intake

A short, structured conversation: age, education, salary expectation, location, plus anything specific to the vacancy. Same questions every time, no drift.

Find the closest store

Free-text addresses are turned into coordinates, then matched against the network. The agent suggests stores the candidate can actually reach.

Hand off cleanly

Triaged candidates show up inside Skills with their intake data and proposed store, ready for the recruiter to take the next step.

Stay editable

An admin panel lets HR change salaries, branches and vacancy parameters without touching code.

Technical work

A geocoder we had to build because the address field is anything but an address.

People write where they live in whatever form feels natural: a district name, a village, a microrayon, half an address, sometimes slang. A plain string search does not work. So we built a small geocoding layer on top of Yandex Maps that turns any of that into coordinates and matches the candidate against the nearest store.

We started on 2GIS and moved away — the API was expensive once we hit real volume. Store coordinates are cached locally so the same point is not re-geocoded twice. The WhatsApp side runs through Infobip with webhook-driven dialog state on our backend.

Custom geocoding over Yandex Maps: free-text address in, store match out.
Store coordinates cached locally to keep API costs bounded under load.
Skills integration for application intake and recruiter handoff.
WhatsApp via Infobip with webhooks driving the conversation state.
Light eligibility logic (16–60 years old) — the agent triages, recruiters decide.
Admin panel for vacancies, salaries, branches and routing rules.
Python backendWhatsAppInfobipYandex Maps APISkills HR systemCustom admin panel

What changed

Candidates get a reply in minutes, not days

The first conversation happens before the application has a chance to go cold, so fewer candidates drop out between apply and intake.

Recruiters stop running intake by hand

Same questions, same structure, ready data inside Skills. The HR team spends time on decisions, not on copy-pasting the same prompt.

Branch matching actually matches

Geocoding makes "closest store" a property of the system, not a guess. Candidates are offered roles they can realistically take, which raises the chance they show up on day one.

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)