Home · Chatbot for online school and courses
Online school solutions
Chatbot for online school and courses
The school’s bot in Telegram, MAX, VKontakte and on the website issues a lead magnet, warms up to an offer and collects leads for the course, provides links to lessons only to those who have paid, reminds about the webinar and deadline, and responds to students using your knowledge base.
Template "Auto funnel"Funnel and lessons on the link - on FreeNewsletters and AI - from Basic
What does a bot do for an online school?
Lead magnet in exchange for email
A checklist or guide - in exchange for an e-mail with a format check. The bot gives a link to the file, and the owner receives a letter about the lead. Each input has its own label in the link and its own source tag. Basis - template “Issuing a lead magnet”.
Warm-up before the offer and lead
After the guide - benefits through “Pause”, then an offer with the buttons “I want to join the course” and “Not now”. Whoever wants it leaves his phone number, the bot opens a deal in CRM and sends a push to the curator. Those who have deferred are marked with a tag for mailing about the new stream.
Trial lesson and webinar
Sign up for a trial: direction by button, convenient time by text, phone. Registration for a webinar puts a stream tag, and it sends reminders from the Basic one the day before and 15 minutes in advance. The trial time is confirmed by the administrator: there is no calendar.
Lessons via link - for those who have paid
The link t.me/your_bot?start=lesson3 from the letter launches the lesson script. "Condition" checks the tag course-paid: yes - the bot gives a link to the video and synopsis, no - an offer and a button to the payment page.
Homework reminders
Three days after the lesson is issued, the bot checks the tag dz-3-passed and, if there is none, reminds you of the deadline. The mark is placed by the student himself using the “Pass” button or by the curator in “Contacts”.
AI agent for student questions
From Basic “the lesson doesn’t open”, “where are the notes”, “can I reschedule the deadline?” takes an AI agent - according to your knowledge base, up to 15,000 characters. An unsure answer through the “I don’t understand” exit leads to the curator in “Conversations”.
How to launch a bot for school
-
1
Create a bot with an auto funnel
The “Use auto funnel template” button leads to registration: the bot is created immediately with the template enabled, and the editor opens. The bot is already there - “flows” → “All templates and AI” → “Ready template”.
-
2
Rewrite the steps for the course
Hook - a link to the guide, "Pause" - "1 day" instead of 5 seconds, offer - with the buttons "I want to join the course" and "Not now". Add an “Action” step with “Transaction in CRM” and “Notify operator”.
-
3
Connect Telegram and tags
“Channels” → “Telegram” → “Connect”, token from @BotFather. Create links with tags for letters, posts and landing pages in “QR campaigns” - there is also a launch counter for each tag.
-
4
Check in test chat and Telegram
“Check script” opens a test chat without spending the limit, but the buttons in it are not pressed, and “Pause” does not speed up - check the threads and tags in Telegram. Enable new flows with the switch.
Ready-made script: auto funnel
Hook, “Pause”, offer and phone with verification - in one conversation. Pause in the template - 5 seconds: set the day, rewrite the texts for the course and add a tag, deal and notification to the curator.
Auto funnel Value, pause, offer and request in one conversation. Open →School funnel: inputs, tags and course sales
There is rarely only one entrance to the school: someone comes for a guide, someone comes for a trial lesson or webinar. There is a template for each input, and they all live in one bot as separate scripts. Templates are assembled from regular blocks and work on the Free plan.
| Login | Pattern and its steps | What to change for school |
|---|---|---|
| Free guide | “Issuing a lead magnet”: offer → email with verification → link to file | Keep the file on a disk or website: in Telegram, MAX and VKontakte the bot sends only text and buttons |
| “Which course is right for me” | “Quiz-bot”: question with buttons → name → result | In the template, all buttons lead to one step. Divide them according to your steps: for each answer there is a direction tag and its own recommendation |
| Trial lesson | “Sign up for a trial”: direction by button → time by text → phone → “trial” tag and notification | There is no teacher schedule in CHBT: the slot is confirmed by the administrator in “Conversations” |
| Webinar, open lesson | "Registration for the event": name → contact → “You are on the list” | Add an "Action" -> "Add Tag" to the flow, for example web2026-10-03: Reminders will go away |
| Warm-up and sale | “Auto funnel”: hook → “Pause” → offer → phone with verification | Pause in the template - 5 seconds: set “1 day”, add offer buttons, tag and deal |
Entry labels. All templates are launched by /start, and only one included script responds to /start - the one created earlier. Therefore, give each input its own label: in the “Triggers” tab, add “Deeplink” with the label - guide, quiz, trial, web1003 - and the first step is set to “Action” → “Add tag” of the source, for example src-guide. It’s convenient to create links t.me/your_bot?start=tag in “QR campaigns”: there you can see how many times the bot was launched for each tag (launches, not people). A filter by source tag in “Contacts” will show how many people came through each entrance, and tags in cards will show which of them already have course-paid.
Sales chain. Lead magnet issued → “Action”: tag magnet → “Pause” 1 day → “Message” without buttons: “What was useful? Tomorrow I’ll tell you how it works in the course” → “Pause” 1 day → “Message” with an offer and buttons “I want to take the course”, “Tell me more”, “Not now”. “I want to go to the course” → “Data collection”: phone with verification → “Action”: “Transaction in CRM” with the name “Course - {{name}}” at the “New” and “Notify operator” stage. “Tell me more” → course program with text and link. “Not now” → tag postponed: This segment will receive the next stream broadcast.
Two chaining rules. The message before the “Pause” - without the “Leads to the script step” buttons: at this message the script stops and waits for a click, and the “Opens link” button does not interfere. And the one who has not pressed a single offer button does not go further along the chain - the second touch is sent by tag. Payment takes place outside the bot: the “Opens link” button leads to the payment page of your platform, after payment the administrator transfers the transaction to “Paid” and tags the student course-paid. How to divide a funnel into blocks and what to measure in it - in the article about how the bot affects conversion, circuit diagrams - in the article about trigger chains.
Linked lessons and reminders
The main question from schools to the designer is “is it possible to give lessons through a bot?” It’s possible, with a caveat: the bot gives links on the materials, not the videos themselves. Mechanic - "Deeplink" trigger. Link https://t.me/ваш_бот?start=lesson3 in an email, a private course channel, or on the platform, launches a lesson script:
- “Condition” with the “tag” branch
course-paid- given." - For this thread - “Message”: “Lesson 3. Video and notes - by button. Send your homework to the curator by Friday" with the button "Opens a link" to the lesson, then "Action" → tag
lesson-3-issued. - Exit “Otherwise” - “Message”: “The lesson is available to course participants” and the button “Opens a link” to the payment page.
- After the lesson is issued - “Pause” 3 days (its value in seconds: 259,200) → “Condition”: tag
dz-3-passed— “not assigned” → “Message”: “I remind you about your homework for lesson 3 - the deadline is Friday. If you’re stuck, write to the curator” with the “Passed” button that puts this tag.
The label in "Deeplink" is a search pattern, so write it with boundaries: ^lesson3$, otherwise the link from lesson30 will also open lesson 3. The most convenient script for the lesson is: collect the first one, click “Duplicate” in the card menu, change the label and link and turn on the copy - it is created as a draft. The material is also issued using the code word: “Key words” → “summary” and the same “Condition” using the thread tag - how does a code word work.
How a student becomes a “payer.” Tag course-paid set by the administrator: finds the student in “Contacts” by e-mail and adds a tag. To have something to look for, provide a link in your letter of access ?start=welcome: The script will ask for the e-mail used to pay for the course. The tag itself will not be placed from the platform: the incoming webhook creates a separate contact and does not find the student in the messenger - webhook help. You can automate it with the help of your programmer: in the welcome script, “Action” → “HTTP request” will send script variables to his address - among them e-mail, if “Into variable” is filled in “Data collection” - and save the answer to the variable, and “Condition” will send the student to the thread with the “Action” “Add tag”.
Class Reminders — broadcasts using the stream tag, from the Basic. Registration for the webinar has been tagged web2026-10-03; in “Mailouts” → “New Newsletter” create two broadcasts for this tag with “Delayed launch”: the day before at 19:00 - “{{name}}, tomorrow at 19:00 open lesson. The link will come here 15 minutes before the start,” and on the day of the lesson 15 minutes - with a link to the room. How to sort students into streams and segments using tags - in the article about tags as a segmentation system.
- Chains and broadcasts reach only those who have written to the bot at least once: in Telegram and MAX the bot does not write first. Link
?start=welcomein the access letter - a mandatory step after payment. - Newsletter - text only with {{name}}, without pictures and buttons: write the link to the room in the text. “Delayed start” is checked once per minute.
- Audience - any of the tags in the “To” field; The tag cannot be excluded.
- Tags in “Contacts” are edited by the owner and an employee with the “Admin” role - the operator does not edit the card.
- The tag works in Telegram. In MAX, the CHBT launch label is accepted, but it does not make links with the label for MAX; on VKontakte the labels are not readable - there it is more convenient to give lessons by code word.
AI support agent, channels and launch order
AI agent (from Basic, section “AI agents”) answers students in free form. The knowledge base is one text of up to 15,000 characters, it goes entirely to the model with each question, so write briefly: instructions for logging into the platform and typical errors, flow schedule, rules for deadlines and transfers, links to course sections, contacts of the curator. To “Persona”: “You are the assistant curator of the school. Answer only according to the knowledge base. Don’t check or grade homework—offer to send the work to your tutor.” The agent takes into account up to the last 10 messages of the conversation, so “what about the phone?” after the question about entering will understand in context. The model is selected from ten - GPT-5, Claude, Gemini, DeepSeek or Qwen, by default Gemini 3 Flash: the answer on it costs 1 AI credit, more expensive on powerful models.
The agent does not transmit to the curator himself: in the “AI agent” block, enable “Separate output “did not understand”” and connect it to the “Operator” block - the conversation will appear in “Conversations” with history. The exit is triggered when the answer contains two refusal phrases like “I don’t know”, “unfortunately”, “clarify” or one in a very short answer - after the answer has gone to the student. The agent does not respond to the word “curator”: this is a separate flow with the “Keywords” trigger and the “Operator” block. Set the agent to “Reply and continue the script” mode: in the “Stay in conversation with AI” mode, all student messages, including clicking on the lesson link and code words, go to the agent. Create a support script with the “Any message” trigger last - an early script with such a trigger will intercept the code words of later ones. And he is silent while the student is inside another flow - waiting for the end of the “Pause” or pressing a button: at this time, only keywords and links with a tag are triggered, and the text written during the “Pause” sets its continuation again - the reminder can come twice. Where is the border between an agent and a curator - in the article about the first line of support on the AI agent.
Channels. Main - Telegram: links with tags from letters, posts and a closed course channel lead there. MAX and VKontakte are connected in “Channels” and work according to the same flow; VKontakte makes sense if the school community is alive. Placed on the course landing page chat one line of code: a form with an e-mail before the start of the conversation, a proactive message “Do you have any questions about the course?” according to the “Leaving the site” rule (works only on a computer) and the “Leave contacts” button, which creates the “Lead from the site” deal in “CRM”. Lead subscribers from social networks where the bot is not present with a link to the Telegram bot with a source tag.
- Week 1 - lead magnet and sign up for a trial in Telegram.
- Week 2 – webinar registration and reminder broadcasts.
- Week 3 - lessons via link and tag
course-paid. - Month 2 - AI student support agent.
- What is included in each plan - on the page Plans page.
What a bot doesn't do for school
The limits are clear before you launch.
- Does not replace the course platform: does not store videos, does not restrict viewing, does not check homework and does not count progress. The bot is a door to the platform and a communication channel with the curator.
- The bot will not know about a payment made via an “Opens link” button to the platform page — the administrator sets the
course-paidtag and the “Paid” stage. If payments go through your own provider — Prodamus, YooKassa or CloudPayments — the “Payment” block in a flow sends the link itself and after payment continues the flow through the “Paid” output. In Telegram a course is paid with Stars: Telegram requires Stars for digital goods and services, and the “Payment” block has a “Telegram Stars” option for that — Stars go to your bot’s balance and are withdrawn via Fragment in TON, with no 54-FZ receipt. - Not connected with course platforms: there is no ready-made integration, the incoming webhook creates a separate contact and does not find the student in the messenger - webhook help. The bot can check a payment made on the course platform only through an “HTTP request” to your system.
- Does not send videos, files and pictures to Telegram, MAX and VKontakte: lessons, guides and notes - with a link. Files only work in chat on the site.
- Doesn’t write first: chains and broadcasts reach only those who wrote to the bot themselves. You cannot write to the list of emails and phone numbers from the platform - why can't the bot write first?.
- There is no schedule or calendar: the student writes the time of the trial lesson in text, and the administrator confirms it in “Conversations.”
Available plans
Price - per bot CHBT per month. 30 Free conversations are 30 different interlocutors in a month across all channels together: collecting and checking a funnel is enough, maintaining a flow of students is not. Branches, “Pause” and tags work in the “Steps” mode on any plan, “Canvas” - from the Basic one. In the Free account, only the owner is in the account; a curator with the “Admin” role can be invited from the Basic one. When paying for a month, the balance of AI credits rises to 150 in Basic and up to 500 in Business; Business has a trial day without a card.
Works with
FAQ
Will a bot replace a course platform (GetCourse, LMS)?
No. CHBT does not store videos, check homework, or count progress. The bot provides links to lessons based on the tag in the link, reminds about classes and deadlines, and responds to students; the materials themselves live on your platform.
How does the bot know that the student has paid for the course?
If the payment link was sent by the “Payment” block, the bot knows by itself: the flow continues through the “Paid” output, where you can add the “course-paid” tag. If the course was paid on your platform’s page, it will not know by itself: the administrator adds the tag in Contacts, and it is convenient to find the student by the email the bot asked for after payment. Automatically — only if your developer sets up an address for an “HTTP request”: the bot sends the email and adds the tag based on the response. There is no ready-made connection to course platforms.
Is it possible to accept payment for a course in a bot?
Yes, if payments go through your own provider — Prodamus, YooKassa or CloudPayments: the “Payment” block in a flow sends the student a payment link and after payment continues the flow through the “Paid” output, where you can give access and add a tag. If the course is paid on your platform’s page via an “Opens link” button, the bot does not know about that payment: the administrator moves the deal to “Paid”. In Telegram a course is paid with Stars: Telegram requires Stars for digital goods and services, and the “Payment” block has a “Telegram Stars” option for that — Stars go to your bot’s balance and are withdrawn via Fragment in TON, with no 54-FZ receipt.
Will an AI agent check your homework?
Shouldn’t: in the agent’s “Persona”, write down a ban on evaluating work - let him offer to send the task to the curator. The agent answers reference questions about your knowledge base up to 15,000 characters long; He doesn’t read photos and files—only the text goes to the model.
Can I send a video lesson or PDF directly to the chat?
In Telegram, MAX and VKontakte - no: the bot sends only text and buttons, mailing only text. Give the lesson, summary and guide with a link in the text or with the “Opens link” button. Files only work in chat on the site.
Will the bot write to students who haven’t written to it?
No. Messengers allow the bot to write only to those who themselves started the conversation, so you cannot send it to a list of emails or phone numbers from the platform. Provide the link t.me/your_bot?start=welcome in the access letter and in the closed course channel - after “Start” the student will receive both lessons and reminders.
Is the Free plan enough?
To assemble a funnel and test it - yes: 1 bot, all channels, “Steps” mode with “Pause”, branches and tags, 30 conversations per month. Stream newsletters, AI agent and curator access to the account - from Basic, 650 ₽ per month per bot. Business for 1290 ₽ - if the agent replies more than 150 per month.
Launch a school funnel in a bot
Create a bot with the “Auto Funnel” template, change the texts to your own and provide a link with a tag in a post or letter. Free plan, no card needed.