Telegram bot: setup and working with clients
How to connect your studio's Telegram bot, link clients, message them in Chat, and what reminders and replies the bot sends automatically.
Setup takes about 3-5 minutes. Once connected, the bot can:
- remind clients about sessions with "I'll come" and "I won't come" buttons - the client's answer shows up in the attendance journal right away;
- let clients know when they're booked, when a visit is marked, about a missed session and about a cancelled one;
- show their remaining classes;
- warn them about the last visit and when a membership is about to expire;
- check in with clients who haven't come in a while (after 7, 14, 30 or any other number of days, turned on in the notification settings);
- show prices, payment details and the studio's address;
- take booking requests from new people;
- pass client messages on to Chat.
Step 1. Create a bot in Telegram
- Open @BotFather
In Telegram find @BotFather and tap "Start". This is Telegram's official bot that creates all other bots.
- Send the /newbot command
Type
/newbotand follow the prompts. - Choose a name
Set the bot's name - for example,
FitClub Assistant. Clients see it in the chat. - Choose a username
The username must be unique and end in
bot- for example,fitclub_helper_bot. - Copy the token
BotFather sends a token like
123456789:AAHxxxxxxxxxxxxxxxxxxxx. Copy it in full - you'll need it in the next step.
Step 2. Connect the bot to Abonio
- Open settings
In Abonio go to Settings -> Integrations and find the Telegram card.
- Paste the token
Paste the copied token into the bot field.
- Click Connect
Abonio validates the token and connects the bot - its name and the Connected status appear.
Done! Your bot can now send notifications to your clients. The card shows the bot's name and the What the bot can do list: what's open to every Telegram user and what only clients linked to their card get. Below it you see whether booking via the bot is on. Which notifications go out, and with what text, is set up in studio settings on the Notifications tab.
What people see in the bot
The bot has a command menu:
/prices- Subscription prices. The list comes from Memberships, so new prices show up in the bot right away./pay- How to pay. The bot shows the details from Settings -> Studio -> Payment methods. After transferring the money, the client taps "I've paid". If they're linked to their card, a note about the payment appears in their conversation in Chat./find- How to find us. The address, photos and video from the location card. If you have several locations, the bot asks which one first./balance- Classes left on active memberships. This only works for clients linked to their card. If several children are linked to one Telegram, the bot shows each child's balance./startand/stop- subscribe to notifications and unsubscribe.
People can also just type words like "prices", "address" or "balance".
Clients over the plan's limit get nothing from the bot, and asked about classes left it suggests contacting the studio. It says nothing to them about the studio's limits. Their messages still reach Chat.
Link clients to the bot
For a client to get personal notifications and see their balance, their Telegram has to be linked to their card in Abonio once - it takes a couple of seconds.
- Open the client card
The card's side column has a Telegram block. Click Connect Telegram - Abonio shows a QR code and a personal link.
- Hand the QR or link to the client
If the client is with you, they scan the QR. If not, send the link with Share or Copy link. Don't open the link yourself, or the bot will link to your own Telegram.
- The client taps Start
Their Telegram is linked to the card, and the bot replies: "Done! You will receive notifications from the studio."
Several children, one parent
One Telegram can be linked to several clients, for example two children of the same parent. Connect each child with their own link or QR code as described above: the parent opens every link in their Telegram. Linking the second child doesn't unlink the first.
- Notifications for all the children come to one chat, each starting with the child's name.
- "I'll come" and "I won't come" apply to the child the reminder is about, even when the children are booked on the same class.
/balanceshows each child's balance.- In Chat the family has one shared conversation, which opens from any of the children's cards.
If the child's card has the parent's Telegram and the parent is already connected through another child, the Telegram block shows "This Telegram is already connected to the bot" and a Send link to bot button: the parent only has to tap Start. Disconnecting the bot for one child leaves the others as they are.
Booking via the bot
The bot can take requests from people who aren't your clients yet: say, they found the bot themselves or came from a link on your website. The form is set up on the Clients page, Guests tab: in the Booking via the bot card click Configure.
- Accept requests via the bot - turns the booking button on in the bot.
- Button text - pick a ready-made option or write your own. The In the bot: line shows how the button will look.
- First-visit terms (optional) - the bot shows this text before the form, for example "the first class is free".
- Preparation level (optional) - add options with Add option and the bot asks for the level. With no options, that question is skipped.
Remember to click Save. The bot asks who the booking is for (themselves or a child), first and last name, the child's date of birth, a contact method, the parent's name, the location (if you have several), the level and a comment, and then asks to confirm. The request lands on the Guests tab. Create on moderation turns it into a client card with the bot already linked, and the Grant a free trial session checkbox (Grant a trial session when trials are paid) gives them a trial straight away. If a parent already connected to the bot books another child, the new card is linked to the same Telegram. Booking via the bot works on any plan, and team members with the "Integrations: edit" permission can change its settings.
Bot languages
The bot can talk to clients in different languages, whatever language the studio's interface is in. For example, the studio works in Russian while some clients get the bot and their notifications in Georgian. Several languages come with the Business plan; on other plans the bot, notifications and emails go out in the main language, and the languages you added and clients' choices are kept until you move to Business.
- Open Settings -> Languages and click Add language. It is added as a draft: clients don't see it yet. Your languages are visible to your studio only.
- For Ukrainian, Georgian and Turkish the menu, replies and booking form are already translated. Check the notification texts in Settings -> Notifications: a language switch appears above the templates, and each template says where its text comes from.
- Turn on Offer to clients. The bot asks for a language on the first
/start, and the menu gets a/languagecommand. Clients who wrote to the bot before see the language choice once, with their next message.
A client's language is shown on their card, in the Bot language line, and is changed in the client's edit form, in the field of the same name: when the client picks a language in the bot, the field fills itself. If the studio doesn't offer the language the client picked right now, the card says which language messages actually go out in. If one Telegram is linked to several children, they all get it. When something has no translation in the client's language (a notification text, a group name, an address), it goes out in the bot's main language, as the studio wrote it. Other translations, English for example, never stand in for it. Names in messages stand as labels, for example "Class led by: John Smith".
Notification emails go out in the same language as the Telegram messages: the subject, the text, the buttons and the page a button in the email opens. Set the email subject for each language in Settings -> Notifications, next to the template's text; an empty field means the built-in subject. More on emails in Email notifications.
The client's language shows elsewhere too: in the conversation header in Chat (so you can answer in it), on bot guests and in the Bot language filter above the client list. A broadcast goes out as written: if some recipients use another language, the broadcast dialog says how many. Client import has an optional Bot language column.
Names and addresses in other languages
Group names, trainer names, addresses, memberships, payment details and the booking form texts are entered in your language. For a client to see them in theirs, translate them:
- under Settings -> Languages, in Data translations: everything that reaches the bot and notifications, with "N of M" for each section;
- or with the globe button next to a field: on a group, trainer, location or membership, in the payment details and in the booking form settings.
A client's name is translated into their own language only: the globe shows on the client card once the client has a language other than the main one. On the Notifications tab, a template in another language shows which data is not translated yet, and the Translate button opens exactly that data. Without a translation, the data goes out as entered. If the original changes later (say, a group is renamed), the translation is flagged and not used until it is updated.
Message your clients
Once a client is linked, you talk to them in Chat:
- message a client directly - text or a photo goes to their Telegram;
- anything a client writes to the bot lands in Chat, so you can reply;
- send broadcasts to all clients, to a single group, or to your team.
The Messages tab is part of the Business plan. The Statuses tab, with the delivery log, shows who got which notification and when.
Optional: make the bot look nicer
You can skip these steps and come back later. In @BotFather
open /mybots and pick your bot.
Bot picture
Open "Edit Bot -> Edit Botpic" and send an image. Works best with:
- a square image;
- your club's logo;
- a size of 512×512 px or larger.
Description
Open "Edit Bot -> Edit Description". It shows on the bot's profile. Example:
I help FitClub clients get class reminders, check their remaining classes and keep an eye on their membership.
Short description
Open "Edit Bot -> Edit About". This line shows in Telegram search and the chat list. Example:
Reminders and training management at FitClub.
If the bot doesn't respond
Check that:
- the token is copied in full;
- the bot is connected to only one service;
- the bot shows the Connected status on the Integrations tab.
If the bot's menu is missing commands or the "I'll come" and "I won't come" buttons don't react, click Refresh bot on the Integrations tab. If it still doesn't work, disconnect and reconnect the bot. One Telegram bot can work with only one integration at a time.
Next: Chat and studio settings.
