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

  1. Open @BotFather

    In Telegram find @BotFather and tap "Start". This is Telegram's official bot that creates all other bots.

  2. Send the /newbot command

    Type /newbot and follow the prompts.

  3. Choose a name

    Set the bot's name - for example, FitClub Assistant. Clients see it in the chat.

  4. Choose a username

    The username must be unique and end in bot - for example, fitclub_helper_bot.

  5. 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

  1. Open settings

    In Abonio go to Settings -> Integrations and find the Telegram card.

  2. Paste the token

    Paste the copied token into the bot field.

  3. Click Connect

    Abonio validates the token and connects the bot - its name and the Connected status appear.

Settings, Integrations tab: the Telegram card with the Connected status, the bot's name and the What the bot can do list
A connected bot and what it can do

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.
  • /start and /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.

  1. 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.

  2. 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.

  3. 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.
  • /balance shows 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.

Booking via the bot settings on the Guests tab: the switch for accepting requests, button text, first-visit terms and preparation levels
Setting up the booking form
  • 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.

  1. 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.
  2. 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.
  3. Turn on Offer to clients. The bot asks for a language on the first /start, and the menu gets a /language command. 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.

Related articles