How to Create a Telegram Bot for Customer Service: From BotFather to AI and Your Team
A Telegram bot can be a customer service entry point that is open 24 hours and handled by many agents. Follow the steps to create a bot with BotFather, set its description and command menu, choose between code and no-code, and connect it to an AI agent.

Antonio Kurniawan
Product & Customer Success

On this page
- Why use a bot instead of a personal account?
- Step 1: create the bot with BotFather
- Step 2: set up a convincing bot profile
- Step 3: build the command menu
- Step 4: choose how to run the bot
- Technical limits you need to know
- Step 5: design the service flow
- Connecting the bot to an AI agent
- Promoting the bot so customers use it
- A bot tone that feels human
- Example: a game top-up store
- Measuring the bot's service quality
- Common mistakes
- Step summary
Key takeaways
- Telegram bots are created for free through @BotFather with the /newbot command, which gives you a token to connect the bot to other systems.
- A bot's username must end in bot, and the token must be guarded like a password.
- Set a description, profile photo and command menu so customers immediately understand what the bot can help with.
- One token can only feed one update receiver; do not set a webhook on two systems at once.
- A bot connected to a shared inbox can be answered by an AI agent and handed to human agents without the customer switching apps.
Creating a Telegram bot for customer service starts with @BotFather, Telegram's official account for creating and managing bots. Send the /newbot command, give the bot a name, choose a username ending in "bot", and save the token BotFather sends you. That token connects the bot to your system: either a program you build with the Telegram Bot API, or a shared inbox platform such as ChatMo, which lets your team and an AI agent answer the bot straight away without writing code.
This guide walks through the full steps, the settings that make a bot look professional, the technical limits you need to know, and how to design a service flow customers enjoy.
Why use a bot instead of a personal account?
Many businesses serve Telegram customers from the owner's personal account or one shared account. It is quick at first, but it causes problems as chats grow:
Customer chats get mixed with personal chats and family groups.
The same account is open on many devices, so it is unclear who replied to what.
When an agent leaves, their access and the chat history leave with them.
There is no automation for routine questions at night.
A bot fixes all of that. It is a business identity separate from any person, it can be automated, and it can be connected to an inbox used by many agents, each with their own account.
Step 1: create the bot with BotFather
Open Telegram and search for @BotFather. Make sure it has the official blue check.
Tap Start, then send
/newbot.Enter the bot name, which is what people see in their chat list, for example "Senja Coffee Shop".
Enter the bot username, which must end in "bot", for example
senjacoffee_botorSenjaCoffeeBot.BotFather sends a token, a string of numbers and letters separated by a colon. Store it somewhere safe.
Your bot's link is now t.me/username_bot. This is the link you will promote to customers.
Step 2: set up a convincing bot profile
A bot with no description or photo looks like a fake account. Use these commands in the BotFather chat:
The description matters most, because it is the first thing customers see. Explain what the bot can help with and when human agents are available.
Step 3: build the command menu
The command menu appears when customers tap the menu button next to the text field. Keep it short and clear:
/startfor the greeting and main options./catalogto browse products or services./orderto check an order status./agentto talk to the team.
Four to six commands are enough. A long menu confuses people.

Step 4: choose how to run the bot
You have a token and a tidy profile. Now the bot needs a "brain" that receives and answers messages. There are two paths.
Path A: write your own program
The Telegram Bot API lets your program receive messages through a webhook (Telegram sends every message to your server's URL) or through long polling (your server asks Telegram for updates regularly). For customer service, webhooks are usually more efficient. Registering a webhook looks like this:
https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://example.com/telegram/webhookYour server then receives messages as JSON and replies with the sendMessage method. This path is flexible, but you have to manage the server, security, chat history storage and an interface for agents yourself.
Path B: connect to a shared inbox without code
If your main goal is serving customers as a team, writing your own program is often overkill. In ChatMo, you open the Telegram integration page, paste the bot token and save. Messages to the bot land in the same shared inbox as WhatsApp, Instagram, Facebook and webchat.
From the inbox, Telegram chats can be assigned automatically, labelled, answered with quick replies and handled by an AI agent after hours.
Technical limits you need to know
A few Telegram Bot API rules often make a bot "suddenly stop working":
A bot cannot start a conversation. The user must tap Start or send a message first.
One token, one update receiver. If the token is already connected to one system by webhook, setting a webhook on another system moves every message to the new one. Do not connect one bot to two platforms at once.
Sending rate limits. Telegram limits how fast a bot may send messages, both to a single chat and in bulk. Sending too fast gets messages temporarily rejected. Space out announcements to many users.
Privacy in groups. By default, a bot in a group only receives messages meant for it, such as commands or mentions.
Tokens can be replaced. If a token leaks, generate a new one through /mybots in BotFather. The old token stops working immediately, and you must update the token in any connected system.
Step 5: design the service flow
A good bot is not the smartest one but the clearest one. An example flow for an online coffee shop:
The customer taps Start. The bot greets them and explains what it can help with.
The bot offers three options: Browse Catalog, Check Order, Talk to Our Team.
Open questions such as "Which coffee works best for a V60?" are answered by an AI agent based on product information.
When the customer is ready to order or has a complaint, the chat goes to an agent with a summary of the conversation.
Once done, the agent marks the chat as resolved and adds a label, such as "New Customer".
An example welcome message you can use:
Hi! Welcome to Senja Coffee. I'm an automated assistant here to help you check stock, find the right coffee and track your order. If you'd like to talk to our team directly, type /agent any time.
Notice that the message is honest about being automated and offers a path to a person from the start.
Connecting the bot to an AI agent
An AI agent lets the bot answer questions that a menu cannot predict. In ChatMo, the same AI agent can run on Telegram, WhatsApp or Instagram. You give it business information such as the catalog, prices, shipping policy and opening hours, then decide when the AI should stop and hand the chat to an agent.
Common handoff rules:
The customer asks to talk to a person.
The customer complains or seems upset.
The question involves payments, refunds or personal data.
The AI cannot find the answer in the information it was given.
We explain how AI agents work in chat in WhatsApp AI chatbot for customer service. The same principles apply to Telegram.
Promoting the bot so customers use it
A bot nobody knows about receives no messages. Place your t.me/username_bot link in:
Your Telegram channel posts and description.
Pinned messages in community groups.
Your website, especially the contact and product pages.
Your Instagram and TikTok bios and your emails.
A QR code on packaging or at the till.
You can also add a start parameter to the link, such as t.me/username_bot?start=october_promo. The bot receives this parameter when the user taps Start, so you know where they came from if your system reads it.
A bot tone that feels human
Telegram users are generally used to casual language but still expect polite service. A few guidelines so the bot does not feel stiff:
Use your brand's usual greeting. Keep the same tone you use on Instagram.
Short sentences. Bot messages are read on phone screens. Two or three sentences per message read better than one long paragraph.
Confirm before acting. "So you'd like to check order INV-2231, is that right?" prevents misunderstandings.
Admit when you don't know. "I'll pass this question to our team" is far better than a made-up answer.
Go easy on emoji. One emoji for a friendly tone is enough.
Example: a game top-up store
A game top-up store handles hundreds of orders a day on Telegram, mostly in the evening and at weekends. It used to run two personal accounts shared in turns by four agents. Buyers often sent payment proof to the wrong account, and agents had to keep asking each other in a work group.
They created one official bot with a clear description, a command menu for prices, payment methods and order checks, and connected it to a shared inbox. An AI agent answers questions about prices and payment, while chats containing payment proof go straight to the agent on duty. Each agent owns their chats, and shift changes are handled by reassigning unfinished chats.
The result: buyers only need to remember one username, payment proof no longer gets lost, and the owner can see how many orders each agent handled per shift.
Measuring the bot's service quality
Review these numbers every two weeks and update the business information the AI uses. A bot that is never updated slowly gives outdated answers.
Common mistakes
Sharing the token in a work group. Anyone with the token can control the bot.
Setting a webhook in two places. Messages move to the last system and the other one stops receiving chats.
A bot with no description. Customers hesitate to tap Start on a bot that does not say who owns it.
No path to an agent. A bot that keeps customers going round a menu drives them away.
Bulk announcements with no spacing. Sends get rejected and some users never receive the message.
Step summary
Create the bot through @BotFather with
/newbotand store the token safely.Set the photo, description, about text and command menu.
Choose a path: your own program on the Bot API, or connect the token to a shared inbox.
Design a simple flow with an AI agent for routine questions and a handoff to agents.
Promote the bot link everywhere and measure results regularly.
For the bigger picture on channels, groups and Telegram Business features, read Telegram for business.
Frequently asked questions
Is it free to create a Telegram bot?
Yes. Creating a bot through @BotFather is free. Costs only come from your own server or a third-party platform that runs the bot.
How do I get a Telegram bot token?
Open a chat with @BotFather, send /newbot, then enter the bot's name and username. BotFather replies with a token made of numbers and letters. You can see it again later with /mybots.
Does a Telegram bot require coding?
Not always. You can write your own program with the Telegram Bot API, or connect the bot token to a platform such as ChatMo so the bot can be handled by your team and AI without writing code.
Why is my Telegram bot not replying?
Common causes are a wrong token, a webhook set on another system, the bot server being down, or the user not having tapped Start, so the bot has not received any message.
Can a Telegram bot broadcast to all users?
A bot can only message users who have started a conversation with it, and bulk sending must respect Telegram's rate limits or messages will be rejected.

About the author
Antonio Kurniawan
Product & Customer Success
The ChatMo product and customer success team helps Indonesian businesses run WhatsApp, Instagram and webchat conversations with AI agents and shared inboxes.



