AI handles the first conversation. Your team receives candidate profiles ready for review
Telegram UserBot with an LLM orchestrator corresponds with candidates from a live account, collects a questionnaire from free text and gives the manager a ready-made card with the Approve / Deny / Follow-up buttons. A person is connected only to the final decision.
Primary selection consumed hours of manual correspondence
In a modeling agency, the funnel of incoming candidates is wide, and the first touch is always a correspondence on Telegram. And all this correspondence is the same: say hello, ask the same questions, ask for a photo, clarify parameters, carefully guide the person to the questionnaire. Manager spends hours a day to conversations, 80% of which come down to the same script.
The problem is not only one of volume. Candidates answer free text and randomly: someone sends everything at once, someone sends half and disappears, someone answers by voice or sends a circle. The manager has to read the dialogue, extract height, age, city from it and collect it into a questionnaire by hand. Some candidates are lost simply because they did not have time to answer in the first minutes, while they are warm.
Another subtlety: correspondence must go from a live account, and not from a “bot with buttons”. The candidate must feel that he is communicating with a person from the agency, otherwise trust in the dialogue drops and the conversion to the application drops.
The task was formulated as follows: remove the entire initial dialogue from the manager, but do not lose the “humanity” of communication and leave only the final decision to people — approve the candidate, refuse or additionally request materials.
AI conducts a dialogue, a person makes a decision
We immediately separated two roles: conversation with a candidate is a job for AI, and a decision on a candidate is a job for a person. The AI should not “decide” anything about the candidate’s fate; his task is to bring the dialogue to a complete questionnaire and transfer it to the manager in a convenient form. This removes the routine and removes the risk that the model “either accepted or rejected someone.”
Grew from this two-tier architecture:
- UserBot — conducts correspondence on behalf of the agency’s live Telegram account. He is the one who says hello, asks questions, responds to messages, and collects the questionnaire.
- AdminBot — a separate bot that delivers a ready-made candidate card with buttons to the manager Approve / Deny / Request and allows you to schedule a call.
The heart of the system is LLM-orchestrator. Instead of a rigid “question → answer” tree, the model makes a structured decision at each step in the format JSON: which template to send, whether to generate a free response, whether to update the candidate’s status, whether to notify the admin - and applies its own logic of reasoning to each decision. This provides a lively dialogue that does not break down from a non-standard answer.
But “alive” does not mean “uncontrolled.” On top of AI we put deterministic engine with FSM and hard guards: Some actions are prohibited at the code level, regardless of what the model decides. For example, terms of cooperation cannot physically be sent until the candidate is approved by a person. AI suggests - the code checks and allows.
What ultimately works
The result is an AI agent that completely handles the initial contact - from greeting to transferring the finished candidate to the manager - and at the same time is indistinguishable in correspondence from a living person.
Dialogue from a live account, like a person
UserBot corresponds with the candidate on behalf of a real Telegram account. In order for this to be read as a live communication, the bot contains imitation of human behavior: reactions 🤍 to messages, “printing” indicator, typing delay approx. 0.05 seconds per symbol with ±30% spread, marking messages as read and disguising them as an iOS client. The candidate sees regular correspondence with the manager, and not a “bot with buttons.”
The questionnaire is collected from free text
Candidates answer as they please - AI parser with a separate extraction prompt pulls out questionnaire fields directly from free text and myself asks for what is missing. There is no need to force a person into a rigid form: he writes naturally, and a structured questionnaire is assembled under the hood.
Candidate card with solution buttons
When the questionnaire is collected, AdminBot sends the manager ready candidate card with three buttons: Approve, Refuse, Additional request. The manager does not read the correspondence sheet - he looks at the collected data and with one click moves the candidate further. This is the very “only the final decision is up to the person.”
Media: photos, mugs, voice, albums
It is critical for an agency to work with media, so the agent is fully processes photos, video circles, albums and voice messages — downloads and stores photos, recognizes attachment types, can send albums and voice messages through internal markers. The candidate can send materials in any convenient format.
The call is scheduled directly from the card
After approval, the manager schedules a call without leaving AdminBot: integration with Google Calendar pulls up free slots, creates an event with link to Google Meet and sets reminders. The candidate receives the meeting time, the manager receives the event on the calendar.
No one gets lost
Candidates who did not answer completely and disappeared, agent he catches up with follow-up after 8 hours and after 2 days — a separate background task checks who is stuck without responding. And when you restart the bot does catch-up of missed messages, so that no candidate is left without a response.
Under the hood
AI orchestration and control
Two-tier bot architecture
Planning, reminders, reliability
The manager only sees ready-made cards
At the output there is an agent, where AI conducts a dialogue from a live account, collects a questionnaire and gives the manager only ready-made cards with solution buttons. The initial correspondence, which used to eat up hours, now happens on its own: the bot says hello, asks questions, responds to messages, accepts photos and voicemails, asks for anything missing and completes the candidate’s application form. A person connects at one point - click Approve, Refuse or Additional request — and upon approval, immediately sets up a call via Google Calendar.
Due to tough guards in the FSM system predictable: AI cannot send conditions “itself” or skip a stage—critical actions are only allowed by the code after a human decision. And follow-up after 8 hours and 2 days plus catch-up when restarting means that no candidate falls out of the funnel due to the fact that they did not answer him in time.
Specific figures for saving a manager’s time and the share of candidates who are brought to the questionnaire are private client data and are provided upon request for a specific project, without fictitious metrics.
If you need the same AI agent - so that it conducts the initial dialogue from a live account, collects structured data and gives ready-made solutions to the team - this is exactly the mechanics that we assemble on a turnkey basis. The logic is transferred to any niche with incoming correspondence: recruiting, sales, support, lead qualification.
Do you need an AI agent who will take over the initial dialogue?
Tell us about your correspondence funnel - we will send you a fixed estimate and deadlines the day before. AI orchestrator, dialogue from a live account, collection of questionnaires and decision cards - we collect turnkey, the source code is yours from day one.
We take on a limited number of projects at the same time - this keeps deadlines realistic.