HR Bot for Telegram: How to Set It Up From Scratch
An HR bot for Telegram is an assistant that takes over the routine of hiring: it collects applications, asks candidates questions, filters out those who do not fit, and puts the data into a single table. Instead of manually reading dozens of messages across different chats, the recruiter gets a ready-made list with a short description of each candidate. In this guide we will walk step by step through how to set up an HR bot for Telegram from scratch: from the structure of questions to transferring data into Google Sheets. Even without programming experience you will understand the logic behind this kind of hiring automation.
What an HR bot should do and where to start
Before you set up an HR bot, define which tasks it will cover. Most often these are three things: collecting applications from candidates, initial filtering of candidates by formal criteria, and reminders to the recruiter about the next steps. A clear list of functions immediately shows whether you need a simple form bot or a full recruiting tool with integrations. Also decide whether the bot fully replaces the first interview or only prepares the ground for a conversation with a person. If a company receives 50-200 responses per vacancy each month, the bot saves roughly 8-12 hours of manual work that previously went into reading and sorting messages.
Start with a simple list of vacancies and a conversation script. Sketch on paper which questions the bot asks, in what order, and what it does with the answers. At this stage you do not need code: a builder is enough, for example through BotFather you get a token, and you assemble the logic in a visual editor or hand it to a developer. It is useful to describe right away that the bot answers common candidate questions about the schedule, the work format, and the selection stages. The more detailed the script at the start, the fewer surprises during development. A clear one-page specification saves several days of rework later.
Step 1: collecting applications and the structure of questions
Collecting applications is the foundation of how the bot works. An optimal form contains 6-9 questions: name, vacancy, city, years of experience, expected salary, contact, and one or two role-specific questions. Group the questions from simple to complex so the candidate has time to get engaged. More than 10 questions sharply lower conversion: by our observations, every three extra fields lose up to 15-20% of candidates who abandon the form halfway. So keep only what truly affects the decision, and clarify secondary details during the interview.
Ask questions one at a time and use buttons instead of free text wherever possible. For example, for experience offer the options «up to 1 year», «1-3 years», «more than 3 years». This not only speeds up filling in the form but also gives the bot structured data that is easy to filter later. For contacts and resumes, include a format check so the bot does not accept an empty or clearly invalid line. Also think through a welcome message that briefly explains how long filling in the form will take and what happens next. Be sure to add a confirmation step so the candidate can check the answers before sending.
Step 2: automatic filtering of candidates
Filtering candidates turns raw applications into a shortlist. Give the bot rules: if the expected salary is above the budget, the experience is below what is required, or a key skill is missing, the candidate is marked as «not suitable» automatically. This way the recruiter sees only relevant people and does not waste time on clearly unsuitable applications. The rules are easy to change for each vacancy, so a single bot serves both mass hiring and precise selection. In practice, even 3-4 simple rules remove the larger part of random responses.
I recommend soft filtering rather than hard rejection. Instead of deleting a candidate, the bot assigns them a status or points: for example, full match - 100%, partial - 60%. This way you will not lose a person who is not perfect on paper but valuable by other criteria. The recruiter can always open the «partial match» list and review it manually. Points also help rank strong candidates against each other when there are more of them than vacancies. On average, automatic filtering removes 40-60% of irrelevant applications before a human even sees them.
Step 3: reminders and transferring data to Google Sheets or CRM
Once an application has passed the filter, the data should end up where the team works with it. The simplest option is Google Sheets: each candidate becomes a row with all the fields, a status, and a link to the chat in Telegram. This is set up through a ready-made integration or a small script, and a new row appears in the table within a few seconds after the form is sent. The table is convenient to share with colleagues, filter by status, and build simple statistics by vacancy. The main thing is to agree on the column structure once so the data does not get mixed up between vacancies.
Add reminders so that no candidate gets lost. The bot can message the recruiter if an application has been sitting without a reply for more than 24 hours, or remind the candidate about a scheduled interview an hour before the meeting. For larger teams, instead of a table they connect a CRM where the whole hiring funnel is visible. Such reminders usually cut the time to the first reply to a candidate from several days to several hours. This removes situations where a good candidate waits a week for an answer and goes to a competitor.
Launch, testing and common mistakes
Before launch, be sure to go through the whole script yourself as a candidate. Check every branch: what happens if a person types text instead of pressing a button, sends an empty field, or starts filling in the form a second time. Separately check how it works on a phone, since most candidates fill in the form exactly from a smartphone. Test it with 5-10 acquaintances and gather their remarks - it is usually at this stage that unclear wording and unnecessary questions surface.
Common mistakes: a form that is too long, a missing «back» button, data loss due to the absence of saving, and the bot going silent after submission. Be sure to add a final message like «Thank you, we will contact you within 2 days». After launch, once every two weeks review which question candidates most often stop at, and simplify exactly that step. If you do not want to build all of this yourself, the Devlly team will help design and launch an HR bot tailored to your processes. Write to us, and we will suggest the optimal script for your hiring volume.