
How to build an AI Telegram bot without coding
In short: to build an AI Telegram bot without coding you need three things: a bot token from @BotFather, an API key for a model (OpenAI, Anthropic, Google), and a no-code tool like n8n or Make that passes messages from the chat to the model and back. The technical skeleton takes an evening. Then the real work starts: the system prompt and its debugging — the exact place bots break, and the exact place where, as our own research into the course market shows, nobody teaches anybody anything.
What such a bot actually does
The plumbing is simpler than it looks. A user messages your bot → Telegram sends that message to your endpoint (a webhook) → your scenario takes the text, drops it into a prompt and sends it to the model → gets an answer → sends it back to the chat. That's it. Programming in this chain is replaced by a builder where you connect blocks with the mouse.
That also explains how the bot differs from "just ChatGPT": it has a role (a system prompt you write once), its own audience (people who configure nothing), and its own data (you can plug in a sheet, a knowledge base, a price list). It's a small product, not a chat window.
And right there sits the trap of the genre. Anyone can connect the blocks — that's an hour with any tutorial. Ninety percent of a bot's value lives in the text of its system prompt: what it may say, what it may not, what it does when it doesn't know. Tutorials for the blocks are everywhere. Tutorials for the prompt are almost nowhere — and that isn't our impression, it's something we measured.
Our research: what the courses that promise to teach this actually teach
Before writing this piece we pulled data from Udemy's internal API and from Coursera's review pages — captured 17.07.2026. We looked at the top non-technical courses on ChatGPT and generative AI: precisely where a person who wants to build a bot and can't code ends up. Here's what it means for you.
"No code" isn't a niche — it's the entire market. The prerequisites of the top courses, verbatim: "No prerequisites as ChatGPT is a tool anyone can access and use immediately" (Steve Ballinger, 281,823 students), "No coding skills needed" (Mike Wheeler), "A desire to learn" (Aakriti E-Learning, 409,492 students), "No prior experience with AI or programming is needed" (The Complete AI Guide, 376,845 students). If you thought "without coding" was the frugal path, it isn't — there is barely any other offer on the shelf.
The Udemy discount does not exist. What a storefront presents as "today only" is dressing, not a price. The raw API response we captured says it literally: "saving_price": {"amount": 0.0}, "has_discount_saving": false, "discount_percent": 0. Eleven of the twelve top courses cost €19.99; one (The Complete AI Guide) costs €24.99. That is the price, not a markdown.
Course size tells you nothing about usefulness. The Complete AI Guide runs 42 hours across 545 lectures — and 10.36% of its reviews sit at 3.5★ or below. Generative AI for Beginners: 9.61% negative. Coursera looks healthier at 1.5–3.5% negative, but it has a different problem, and we'll get to it.
Then come the quotes. We read the unhappy reviews and sorted them by theme. Three of the six clusters land squarely on what you're doing right now.
One: the video is a slide, read aloud. Verbatim: "why read straight from the slide? I can do that. This was not a helpful course at all" (Janie I., 02.07.2026, 1★). And: "50% of this course is reading script like a robot from the slides. …they are just reading text from the slides which you can also you from any good website" (Shashank T., 13.04.2026, 1★). And bluntly: "Written by AI, delivered by AI. The slides are way too crowded to be useful and it really doesn't help to have the bot read them out word-for-word" (Bradley M., 16.04.2026, 1★ — on a course with 118,000 students).
Two: they promised to teach prompting and didn't. These are courses with "prompt engineering" in the title. "There is nothing teached about creating a good prompt. It is just an overview of types of prompts." (Geralt O., 01.07.2026, 2★). "No specific guidance on prompt engineering… what to avoid while asking, how to organize your thoughts, how to give feedback to AI based on its answers etc." (Bharat Ram A., 05.06.2026, 1.5★). "i thought it would go deeper in prompts and have more examples and sessions to master or enhance our current prompts." (Manuel L., 15.06.2026, 2★).
Three: nobody checks whether you learned it. "you send your assignments and immediatly you got your results: 100% correct. I am still speechless. I put all that effort in and have no idea whether I my answer was correct or not." (Shinysheep, 21.09.2023, 1★, Vanderbilt Prompt Engineering).
That last one isn't authors being lazy. It's a structural impossibility: there is no model inside a Coursera lesson, so there is physically nothing to grade a student's prompt with. Hence the automatic "100% correct". Worse, Vanderbilt's Prompt Engineering Specialization (138,967 enrolled) requires a paid ChatGPT+ subscription to complete the assignments — so the student does have a model, but it lives outside the course, and the course never sees what happened in it.
The conclusion this whole section exists for: everyone has the "connect the blocks" tutorial; nobody has the "your prompt didn't work — what do you change first" one. So the rest of this article carries four prompts you can run with a button right here in the text and watch the result with your own eyes. That isn't a feature of our site — it's the thing a video course cannot have in principle.
What you'll need
- A bot token. Message
@BotFatherin Telegram, run/newbot, pick a name and a username (it must end inbot) — you get a token string. It's your bot's password; treat it like one. - A model API key. Register in a developer console (OpenAI, Anthropic, Google AI Studio, any provider) and create a key. This is separate from a ChatGPT subscription — more on that below.
- A scenario builder. n8n (flexible, free if self-hosted), Make (visually clear), Zapier (simplest, priciest at volume), or a dedicated bot builder.
- Half an hour on your price list or knowledge base. The text your bot will answer from. Without it you don't have a bot, you have ChatGPT in a different window.
None of these steps require code. They require carefully copying keys into the right fields and not mixing them up.
Step-by-step build
- Token.
@BotFather→/newbot→ name → username → save the token somewhere safe. - Model key. Provider console → API keys → Create key → save it. It's shown once.
- Spending cap. Right now, in the same console, before your first request. Not "later" — step three.
- New scenario in n8n or Make.
- Trigger: Telegram Trigger, paste the token, event
message. - AI node: model + system prompt + the message text from the trigger.
- Action: Telegram → Send Message →
chat_idfrom the trigger, text from the model's answer. - Turn the scenario on → message the bot → confirm the reply arrives.
If that worked — congratulations, you've done 10% of the job. The remaining 90% is step 6.
The system prompt is the product
The system prompt is the bot's character and its rules. Not "be a helpful assistant", but specifics: who it is, who it serves, what it does, what it refuses, what format it answers in, and what it says when it doesn't know. If writing prompts still feels hard, start with what a prompt is and how to write one.
Below is a complete working prompt — invented but fully filled-in price list, plus four test messages baked in. Hit Run and watch the bot answer. Pay attention to the fourth question: it asks for something the price list doesn't contain.
You are the assistant bot of "Lumen" nail studio. Job: answer questions about services, prices and booking. Tone: friendly, informal, 3 sentences maximum. Rules: - Answer ONLY from the PRICE LIST and RULES below. - If the answer isn't there, say "let me check with the stylist" and offer to take their phone number. - Never invent prices, discounts, promotions or free slots. - Don't discuss topics outside booking and services. PRICE LIST: Classic manicure — 25 EUR, 60 min Manicure + gel polish — 40 EUR, 90 min Polish removal — 10 EUR, 20 min Nail art, per nail — 3 EUR Pedicure + gel polish — 55 EUR, 100 min STUDIO RULES: Open Mon-Sat, 10:00-20:00. Closed Sunday. More than 15 minutes late — the booking is moved. Cancelling less than 3 hours ahead costs 10 EUR. We don't take children under 12. Answer these 4 customer messages in turn, each as its own block: 1. "Hi! How much is gel polish and how long does it take?" 2. "Can I come Sunday morning?" 3. "I'll be about 40 minutes late, that's fine right?" 4. "Do you have a student discount?"
The fourth answer is why this block is here. Without the "never invent discounts" line, the model will happily produce a plausible "10% off with a student card" — not out of malice, but because of hallucinations, an ordinary property of language models. For a bot talking to customers, that's the most expensive class of error there is: an invented discount becomes a promise, and you're the one who has to honour it.
Your prompt didn't work — what to change first
Here's the hole our research found. Everybody shows you the prompt formula. Nobody shows you what to do when the bot goes off the rails anyway. The order is this:
- Data first, wording second. Nine times out of ten the bot didn't "glitch" — the fact you expected simply isn't in the price list. Check: is the answer you wanted physically present in the text the model received?
- A ban must be specific. "Don't make things up" is weak. "Never state a price that is not in the PRICE LIST; if it isn't there, say 'let me check with the stylist'" is strong. A ban without an alternative works badly — the model needs an exit, or it will invent one.
- One failure, one line. Don't rewrite the whole prompt. Change a single line and re-run the same test message. Otherwise you'll never know what helped.
- Order beats length. Rules that keep getting broken should move up and be repeated at the end. Models hold the middle of a long prompt worse than its edges.
- Show an example instead of describing it. One model dialogue — "question → ideal answer" — inside the prompt replaces three paragraphs of explanation.
- A format error isn't a meaning error. If the bot is right but answers with a wall of text, that's formatting: one line about length fixes it. Don't switch models over it.
Run this block — it's a post-mortem of a real failure mode, and it shows the method working.
You are a prompt engineer. Diagnose this bot failure. THE SYSTEM PROMPT CURRENTLY IN PLACE: "You are a friendly assistant for Lumen nail studio. Help customers and answer their questions about services and booking. Be helpful." WHAT HAPPENED: Customer: "Do you have a discount for new clients?" Bot: "Yes! New clients get 15% off their first visit, plus free polish removal as a welcome gift." The studio has no discounts at all. The customer has now arrived and is demanding her 15%. Do three things: 1. Explain which specific property of this prompt allowed the bot to invent a discount. Not "the prompt is bad" — the concrete mechanism. 2. Rewrite the prompt so this failure becomes impossible. After each line you add, note in brackets which risk it guards against. 3. Write 5 customer messages you would use to test the new prompt for the same failure phrased differently.
Note point 3: testing your own work with your own tests is exactly what a course can't give you. We saw that in the numbers — where there is nobody to check, the student gets "100% correct" and walks away believing they learned something.
Building the bot's knowledge base out of what you actually have
Price lists rarely arrive as a tidy list. Usually it's a chat thread, a voice note, or a three-page file. Models are excellent at turning mess into structure — and that's a correct use of their strength. Run this:
Turn this transcript of the studio owner's voice note into a structured price list for a bot: a strict list, no filler, in the format "Service — price — duration". In a separate block called RULES, pull out everything that isn't a service: opening hours, cancellation terms, limits. In a separate block called MISSING, list the questions a bot could NOT answer from this text, so I can fill them in. Do not invent the missing parts yourself. TRANSCRIPT: "okay so regular manicure is twenty-five, with gel polish it's forty, takes an hour, hour and a half maybe, removal is ten but free if we did it ourselves, pedicure with polish fifty-five, nail art three euros a nail, we're open ten to eight except Sunday, oh and if someone no-shows without telling us three hours ahead we charge a tenner, no small kids, teenagers from fourteen are fine if a parent comes along"
The MISSING block is the most valuable part of the answer. It exposes the holes in your knowledge base before a customer does. Also watch how the model handled "free if we did it ourselves" — that's a condition the bot cannot verify on its own, and it has to be handed to a human.
Testing: three friends, or fifteen hostile messages
Give the bot to three friends — they'll find what you missed in ten minutes. But run it yourself first, and not with polite questions. Real customers don't write the way you test: typos, three questions crammed into one message, "any chance of a discount", voice notes, and attempts to chat. Here's a hostile-test generator — it works for any bot, just swap the description:
I built a Telegram bot for a nail studio. It answers questions from a price list and takes booking requests. It CAN: quote prices and durations from the price list, explain cancellation rules, offer to take a phone number. It CANNOT: see the calendar, change prices, take payment. Write 15 messages a real customer would use to break this bot. Group them into 5 categories, 3 each: - questions where a plausible answer exists but the bot has no fact to back it; - attempts to negotiate a discount or an exception to the rules; - messages with three separate questions fused into one; - messages with typos, abbreviations and no punctuation; - attempts to pull the bot off-topic or make it break its rules. For each message, add one line: what it tests, and what answer should count as a failure.
Walk through all fifteen by hand. Every failure is one line in the prompt or one fact in the knowledge base. Five rounds of that loop produce a bot you're not embarrassed by, and they take an evening.
Honest talk about money and limits
This is where promo videos lie — and we're not going to lie in the other direction by quoting numbers we don't have. Our pricing research covers courses, not model APIs: for a per-token price, check the provider's page on the day you read this. What we can tell you honestly is the shape of the bill.
- A ChatGPT Plus subscription ≠ API access. Different products, different bills. The subscription is for you in a browser; the API is for your bot and is billed separately, per usage. This is the single most common beginner mix-up.
- API access is nearly always paid. Some providers have a free tier with hard per-minute limits — enough for testing, usually not for a live bot with dozens of users.
- You pay for every message. A long system prompt is sent to the model every single time. A 2,000-word price list multiplies by the number of conversations — that's a direct financial reason to write tightly.
- Conversation history is billed too. Turn memory on and every turn carries the whole thread along. Turn ten costs more than turn one.
- Builders' free plans cap operations. One user message is several scenario operations. The free plan runs out faster than you'd think.
- The spending cap goes in on day one. Not in month one. A loop bug or a spam run becomes an invoice overnight.
For a sense of the orders of magnitude around this hobby: a Udemy Personal Plan runs €20.00/month (€10.00/month on promo), Coursera Plus is €50/month or €343/year with a 14-day refund window, Google's own programmes on Coursera are $49/month after a 7-day trial, and the Google AI Pro tool itself is €21.99/month in Spain (Google AI Plus €4.99/month, Ultra from €99.99/month). Those are our own measurements as of 17.07.2026. We took the Udemy Personal price from their landing page — their site returns 403 to a crawler, so it isn't a primary source, and we're flagging that.
One piece of arithmetic explains a lot about this market. A student of the Vanderbilt specialization pays Coursera Plus €50/month and is required to buy a paid ChatGPT+ subscription to do the assignments. That lands around €70 a month to watch video and receive an automatic "100% correct". Your bot, while you test it on fifteen messages, costs incomparably less — and unlike the course, it actually answers.
Memory: why your bot forgets
By default every message goes to the model on its own, without history — the model isn't forgetful, it simply has nothing to remember. Memory is a separate block in the builder: it stores previous turns for that chat_id and injects them into the request.
- Cap the window. The last 10–20 turns, not the whole thread since the dawn of time. Otherwise you pay for history and invite confusion.
- Partition by chat_id. One shared memory for everyone is a leak: someone else's conversation shows up in someone else's answer.
- Don't confuse memory with the knowledge base. Memory is what happened in this conversation. The knowledge base is facts about the business. Keep the first in the builder, the second in the prompt or a sheet.
Bots that actually make sense
- A consultant over your own knowledge base — prices, services, FAQs. Obvious value, easy to verify.
- A personal notes helper — you dump a thought by voice or text, the bot structures it and files it into a sheet.
- An editor bot — send a draft, get clean text in the tone you want.
- An inbound lead filter — asks 3–4 qualifying questions and hands a human a filled-in form.
A bad idea for a first bot is "a universal AI for everything". It has no edge over the plain ChatGPT app — and you're the one paying for it. What separates a good bot from a bad one isn't the model's intelligence; it's having data that ChatGPT doesn't.
An honest caveat against ourselves: you don't always need a bot. If you have five standard questions and they never change, a pinned message and a button menu do the job cheaper, more reliably, and they will never invent a discount. A model earns its place where questions arrive in live human wording and the variety is real.
Beginner mistakes
- Exposed tokens. A bot token or API key in a screenshot, a public scenario or a chat means someone else's bot running on your bill. If it leaks, revoke it and issue a new one immediately.
- No spending cap. One minute to set, saves you from an overnight invoice.
- No exit for "I don't know". If the bot was never told what to do when it doesn't know, it will improvise. The fallback line is mandatory.
- No handover to a human. Any customer-facing bot needs a way out to a person: "message @username" or a contact capture. Without it the bot becomes a wall.
- Editing the prompt blind. Change five lines at once and you won't know which one worked. One line, one test.
- User personal data. If the bot collects names, phone numbers or anything sensitive, you're processing personal data and rules like the GDPR apply: you need a lawful basis, you must inform people, and you must know where the data sits. More in our piece on privacy when working with AI.
- Zero testing on real humans. Three friends before launch — ten minutes that save you a week.
What comes next
Once the bot answers, the next level is giving it tools: read a sheet, create a booking, call an external service. That's AI agent territory, and the stakes change there: a chatbot's mistakes are verbal, an agent's are actual. If you want to drill the wording itself, take our ready-made prompts. If the bot is bumping into free tiers, read our breakdown of the free plans. And if you want a site or a dashboard around your bot, read about vibe coding — the same "describe it, get it" approach.
FAQ
Can you really build a bot with no code at all?
Yes, using BotFather + a no-code builder (n8n, Make) + a model API key. You don't write code — you connect blocks and paste keys carefully. Just don't confuse "no code" with "easy": the skeleton is an evening, the system prompt and its debugging are weeks of practice. And "no code" is hardly exotic — every top ChatGPT course in our 17.07.2026 pull demands nothing at all: "No coding skills needed" (Mike Wheeler), "A desire to learn" (Aakriti E-Learning, 409,492 students).
How much does running an AI bot cost?
Two cost lines: pay-as-you-go model API usage and your builder's plan. We won't quote a per-token price — it moves, and our own pricing research (17.07.2026) covered courses, not model APIs; check the provider's page. What matters more than the average: you pay for every message in full, including the system prompt and the whole conversation history, so a tight prompt isn't only about quality. The real risk isn't the average but the spike — set a spending limit in the provider console on day one.
I have ChatGPT Plus — is that enough for a bot?
No. The subscription gives you the chat in a browser and app; a bot needs an API key, which is a separate product with a separate bill. One doesn't cover the other — this is the single most common beginner mix-up. The same confusion costs money in courses, too: Vanderbilt's Prompt Engineering Specialization (138,967 enrolled) requires a paid ChatGPT+ subscription on top of Coursera Plus just to complete the assignments.
My bot invents prices and discounts. What do I change first?
In order. First, check the data: most often the fact simply isn't in the text the model received, and it fills the gap. Second, make the ban specific and give it an exit: not "don't make things up" but "never state a price that is not in the PRICE LIST; if it isn't there, say 'let me check with the stylist'". Third, change one line at a time and re-run the same test message, or you'll never know what worked. Swapping in a "smarter" model does not fix this: it isn't a failure of intelligence, it's a missing fact plus a missing permitted exit.
Why does my bot forget what we were talking about?
Because by default each message goes to the model on its own, without history — the model isn't forgetful, it has nothing to remember. Memory is a separate block in the builder: it stores previous turns for that chat_id and injects them into the request. Two warnings: cap the window at 10–20 turns (the whole history is billed on every turn) and always partition memory by chat_id, or one person's conversation will surface in another person's answer.
Is it safe to collect names and phone numbers via a bot?
Technically easy, legally it's personal data processing — and rules like the GDPR apply to you, not to your builder. You need to know why you collect it, where it's stored and how a person can have it deleted. The minimal approach, which removes most of the problem: don't collect anything you don't need, and don't keep conversations longer than you need them.