Skip to content
TGDirectory
DirectoryCategoriesRankingsBlogAPI
Log inList your channel
TGDirectoryMenu
List Your Channel, Group or Bot/MiniGame

Your channels

  • My Channels

Account

Log InRegister

Discover

  • View all Telegram Channels
  • Categories
  • Best Telegram Channels
  • Crypto Channels 2026
  • Top Rated
  • Recently Added
  • Articles & Guides

Company

  • Contact Us

TGDirectory — find, compare and discover Telegram channels.

  1. Home/
  2. Blog/
  3. Bots & Mini Apps/
  4. How to Build an Appointment Booking Bot on Telegram
Bots & Mini Apps

How to Build an Appointment Booking Bot on Telegram

Plan, build and launch a Telegram bot that lets clients pick a free slot, confirm, get reminders and reschedule, with no-code and custom options explained step by step.

TGDirectory31 Oct 202619 min read
Bots & Mini AppsHow to Build an Appointment Booking Bot on Telegram

An appointment booking bot on Telegram lets a client open a chat, pick a service, choose a free time from buttons, confirm, and get a reminder before the visit. You build it by creating a bot with @BotFather, connecting it to a calendar or a simple database of slots, and designing a short button-driven conversation. You can do this with a no-code bot builder, with a custom bot on the Bot API, or with a Mini App for a richer calendar screen.

This guide walks through the whole project in order: choosing the approach, designing the flow, storing slots without double bookings, handling time zones, reminders, cancellations, payments, and launch. It stays conceptual and describes the Bot API calls in words, so it is useful whether you write code yourself or brief a developer.

Before you start

A booking bot is a small piece of software that people depend on. If it shows a slot that is not free, a client turns up to a closed door. Planning removes most of that risk.

Decide what you are booking

Write down the answers to these questions first. They shape every later decision.

  • What services do you offer, and how long does each take?
  • Who provides them? One person, or several staff with their own calendars?
  • Where? One location, several, or online?
  • When are you available? Regular weekly hours, plus exceptions such as holidays.
  • How far ahead can people book, and how close to the time can they still book?
  • Do you need a buffer between appointments for cleaning, travel or notes?
  • Do you take a deposit or full payment when booking, or payment on the day?
  • What is your cancellation rule? For example, free cancellation until a day before.

What you need

  • A Telegram account, ideally one dedicated to the business rather than your personal account.
  • A bot created with @BotFather, which gives you a bot username and a token. Our guide on creating a bot with BotFather walks through it. Keep the token secret; anyone holding it controls the bot.
  • A place to store availability and bookings: a calendar service, a spreadsheet, or a database.
  • Somewhere to run the bot, unless a no-code builder hosts it for you.

Choose your approach

There are three realistic ways to build this, and the right one depends on your skills, budget and how complex your booking rules are.

Option 1: A no-code bot builder

Several no-code platforms let you build Telegram bots with visual flows and connect them to calendars or spreadsheets. You drag blocks such as "show buttons", "save answer" and "check calendar", and the platform runs the bot.

  • Good for: one person or a small team, simple services, quick launch.
  • Limits: complex rules (staff-specific hours, buffers, multi-step services) can become awkward; you depend on the platform's pricing and features; your client data sits with that provider.

Our guide on building a Telegram bot without coding explains how these tools work in general and what to check before choosing one. Automation platforms can also connect a simple bot to a calendar; see automating Telegram with workflow tools.

Option 2: A custom bot on the Bot API

A developer writes a small program that receives updates from Telegram and replies using the Bot API. It reads and writes bookings in your own database or calendar.

  • Good for: businesses with specific rules, several staff or locations, or a need to own the data.
  • Limits: costs development time and needs hosting and maintenance.

Option 3: A bot plus a Mini App

A Mini App is a web page that opens inside Telegram. It can show a real calendar grid, staff photos and service descriptions, which is easier on the eye than a long list of buttons. The bot handles notifications and reminders; the Mini App handles the browsing and choosing. Our guide on building a Telegram Mini App covers the setup.

  • Good for: many services, many staff, or clients who want to compare options.
  • Limits: you build and host a web app as well as a bot.

What about Telegram Business?

Telegram Business, part of Telegram Premium, adds business features to a personal account, such as opening hours, location, greeting and away messages, and quick replies. It also lets you connect a bot to your business account so it can answer chats on your behalf. That is useful if clients already message your personal business account and you want a bot to handle booking requests there. Our guide on Telegram Business features explains what it includes. Check Telegram's current help pages for exactly what a connected bot can do.

Design the booking conversation

The flow is the heart of the bot. A good one takes the client from "hello" to "booked" in a handful of taps, with no typing except perhaps a name.

The basic flow

  1. Start. The client opens the bot and presses Start. The bot greets them in one line and shows a "Book an appointment" button, plus "My bookings" and "Help".
  2. Choose a service. Buttons list services with their duration, such as "Haircut, 45 min".
  3. Choose a staff member, if relevant, or "Any available".
  4. Choose a day. Buttons show the next few days that have free slots. Days with nothing free are left out rather than shown as dead buttons.
  5. Choose a time. Buttons show free start times on that day.
  6. Enter details, if you need them, such as a name and a short note. Ask for as little as possible.
  7. Confirm. The bot shows a summary: service, staff, date, time, place, price, cancellation rule. Two buttons: "Confirm" and "Change".
  8. Done. The bot confirms and explains how to cancel or reschedule.

Use buttons, not typed dates

Clients type dates in many formats, and parsing them causes mistakes. Inline keyboard buttons attached to the bot's messages avoid that completely. In Bot API terms, the bot sends a message with an inline keyboard in its reply markup. Each button carries a short piece of hidden callback data, such as an internal code for the chosen slot. When the client taps a button, Telegram sends the bot a callback query containing that data.

Three practical points about buttons:

  • Keep callback data short. Telegram limits its size, so store an internal ID in the button rather than the whole slot description, and look the details up when the tap arrives.
  • Always answer the callback query. The bot should acknowledge each tap, otherwise the client's app shows a loading indicator on the button. Answering can also show a short toast message, such as "That slot was just taken".
  • Edit the message instead of sending a new one. When the client moves from "choose a day" to "choose a time", the bot can edit the existing message's text and buttons. The chat stays tidy, and old buttons cannot be tapped again by mistake.

Show "Back" on every step

Clients often want to change a choice. A "Back" button on every step, which returns to the previous screen with the earlier choice remembered, prevents restarts and frustration.

SponsoredBitunix Trading Signals67K members · TradingOpen in Telegram

Keep the client's place

The bot needs to remember where each client is in the flow: which service they picked, which day. This is called conversation state. Store it per user, with a time limit, so a client who abandons halfway through does not leave a half-booking lying around for ever.

Write the bot's messages for people in a hurry

Clients book on the bus, between meetings, or late at night. Every message the bot sends should be readable at a glance.

  • One question per message. "Which service?" and nothing else. Explanations belong in Help.
  • Put the important part on the buttons. "Follow-up, 30 min" tells the client more than a bare "Follow-up".
  • Use the client's words, not internal codes. "Room 2B" or "Slot type C" means nothing to a client.
  • Write dates in full in confirmations, with the weekday: "Tuesday 14 May, 14:00". Weekday plus date catches most mistakes.
  • Say what happens next at the end of every flow, so nobody wonders whether the booking went through.
  • Translate if your clients need it. If you serve clients in two languages, ask once at the start and remember the choice.

Example conversation

Example of a well-designed flow for a hypothetical physiotherapy clinic:

  1. Bot: "Hi! I can book you in with the clinic." Buttons: Book, My bookings, Help.
  2. Client taps Book. Bot: "Which appointment?" Buttons: First assessment (60 min), Follow-up (30 min).
  3. Client taps Follow-up. Bot: "Who would you like to see?" Buttons: any available, plus two named therapists.
  4. Client taps Any available. Bot: "Pick a day." Buttons: five weekdays with free slots.
  5. Client taps a day. Bot: "Pick a time." Buttons: 09:00, 10:30, 14:00, 16:30, plus Back.
  6. Client taps 14:00. Bot shows the summary with the address and the cancellation rule. Buttons: Confirm, Change.
  7. Client taps Confirm. Bot: "Booked. You will get a reminder the day before. Use My bookings to change or cancel."

Seven taps, no typing, and the client knows exactly what happens next.

Store availability without double bookings

This is where booking bots most often go wrong. Two clients see the same free slot and both book it.

Model your availability

Think of availability in three layers:

  1. Working hours per staff member, per weekday.
  2. Exceptions, such as holidays, sick days or a late start.
  3. Existing bookings and buffers.

Free slots are what remains when you subtract layers 2 and 3 from layer 1, cut into pieces that fit the chosen service's length plus any buffer.

Where to keep the data

  • A shared calendar works well if staff already use one. The bot reads busy times and writes new bookings as events. Staff see bookings where they already look.
  • A spreadsheet works for very small setups, but becomes fragile with several staff or frequent bookings.
  • A database is the most reliable for a custom bot, especially with several staff.

Our guide on connecting Telegram to a CRM explains how to sync bookings with client records if you use one.

Prevent double bookings

Never trust the list of slots the client saw a minute ago. Between showing the times and pressing Confirm, someone else may have taken the slot.

  1. When the client confirms, check the slot again in your storage.
  2. Reserve it in a single operation that fails if the slot is no longer free. In a database, that means a unique rule on staff plus start time, or a conditional write.
  3. If the reservation fails, tell the client politely and show the next free times.
  4. Optionally, hold a slot for a few minutes while the client fills in details, then release it if they do not confirm.

Buffers and service length

A 60-minute service cannot start at 16:30 if you close at 17:00. Generate start times from the service length plus buffer, not from a fixed list. Test the edges: first slot of the day, last slot, and the slot just before a break.

Handle time zones properly

Time zones cause confusing bugs that only appear for some clients.

  • Store every time in one standard zone, such as UTC, in your database.
  • Show times in the business's local time for in-person appointments, and say so: "All times are clinic time."
  • For online appointments, ask the client's time zone once, or let them choose a city, then show times in their zone and confirm both: "14:00 your time (16:00 clinic time)."
  • Test daylight-saving changes. A booking made in winter for a date after the clocks change must still land at the right hour.

Reminders, cancellations and rescheduling

Reminders

Reminders reduce no-shows. A bot can message a client only after that client has started a chat with it, which a booking client always has. That is one advantage of booking through a bot rather than a web form.

  1. Send a reminder at a sensible time before the appointment, such as the day before.
  2. Include the date, time, address or call link, and buttons: "I'll be there", "Reschedule", "Cancel".
  3. Optionally send a second short reminder an hour or two before.
  4. Do not send reminders at night in the client's time zone.

The reminders need a scheduler: a small job that runs regularly, finds appointments that need a reminder, and sends them. A no-code platform usually has this built in.

Cancellations

  1. "My bookings" lists upcoming appointments, each with a Cancel button.
  2. Cancel asks for confirmation and states the cancellation rule if it applies.
  3. On confirm, the bot frees the slot and notifies the business.

Rescheduling

Rescheduling is a cancellation and a new booking joined together. Do it in the safe order: reserve the new slot first, then release the old one. If you release first and the new slot fails, the client has nothing.

Notify the business

Every booking, change and cancellation should reach whoever runs the diary. Options include a message to a private staff group, an event in the shared calendar, or both. A private group with a bot posting short summaries works well, because staff can discuss a booking in the same place.

Variations: staff, classes and waitlists

The basic flow covers one person booking one slot. Many businesses need more, and each variation changes the data and the flow in a specific way.

Several staff members

When a client chooses "Any available", the bot has to combine calendars.

  1. For each staff member who offers the chosen service, work out their free start times.
  2. Merge the lists and show each time once.
  3. When the client confirms, assign the booking to one staff member who is free at that time. A fair rule is the person with the fewest bookings that day, so work spreads evenly.
  4. Show the assigned name in the confirmation, so the client knows whom to ask for.

Let each staff member see and manage only their own bookings if they have access to the business side of the bot. A staff member who can cancel a colleague's appointments by mistake is a support headache.

SponsoredBitcoin Insights67K members · CryptoOpen in Telegram

Several locations

Ask for the location first, before the service, because services, staff and hours often differ by place. Put the full address and a short note on how to find it in the confirmation and the reminder. Telegram lets a bot send a location as a map pin, which is easier for clients than a typed address.

Group classes and limited seats

A yoga class or a workshop has one time and several seats. Instead of marking a slot as taken after one booking, keep a seat count. The double-booking check becomes "is there still at least one seat left", and the reservation must reduce the count in a single safe operation. Show remaining seats only if you are comfortable with clients seeing that a class is nearly empty.

Waitlists

When a popular slot is full, offer a waitlist button.

  1. The client joins the waitlist for that slot.
  2. When someone cancels, the bot messages the first person on the list with a button to claim the slot.
  3. Give them a short time to claim it, then move on to the next person.
  4. Never book a waitlisted client automatically without confirmation; their plans may have changed.

Waitlists work especially well with bots, because a cancellation can be offered to the next client within seconds.

Measuring how well the bot works

After launch, a few simple counts tell you whether the bot is helping or getting in the way. Keep them in your own records; they are about your bot, not about Telegram.

  • Started versus completed bookings. If many clients start but few confirm, one step is confusing. Log which step people leave at.
  • No-shows before and after adding reminders.
  • Messages to staff asking for help. If clients keep asking the same question, add the answer to the bot.
  • Bookings by source, using different start parameters in the links you share. A link on your website and a link on a printed QR code can carry different labels. Our guide on tracking clicks and sales from Telegram explains the idea.

Taking payments or deposits

Payments are optional, but deposits reduce no-shows for longer or expensive services.

What Telegram's rules say

Telegram's bot payment rules distinguish two kinds of sales. For digital goods and services, payments inside Telegram must use Telegram Stars. For physical goods and services, bots can take payment in ordinary currencies through third-party payment providers that Telegram supports, and Telegram says it does not take a commission on those. An in-person appointment such as a haircut or a massage is usually a physical service. An online session may count as a digital service. Check Telegram's current payment documentation and your provider's terms to be sure which applies to you.

Our guides on bot payments for developers and paying with Stars or crypto explain the mechanics.

How payment fits into the flow

  1. After the client confirms the slot, hold it for a short time.
  2. The bot sends an invoice for the deposit or full price.
  3. Telegram asks the bot to approve the payment just before it is charged. The bot checks the slot is still held and the amount is correct, then approves.
  4. When payment succeeds, the bot marks the booking confirmed and sends the confirmation.
  5. If payment does not complete within the hold time, release the slot.

Refunds

Decide your refund rule before you take any money, write it in the confirmation message, and make sure the bot or a staff member can actually issue refunds. Telegram provides a way for bots to refund Star payments; card refunds go through your payment provider.

Running the bot: updates, hosting and reliability

Webhooks or polling

A bot learns about new messages and taps in one of two ways. With long polling, your program repeatedly asks Telegram for new updates. With a webhook, Telegram sends each update to a web address you provide. Webhooks suit hosted servers and serverless platforms; polling is simpler for testing on your own computer. Our guide on setting a webhook explains the setup and common errors.

Reliability checklist

  • Handle duplicate updates. Telegram may resend an update if your server did not answer in time. Make "confirm booking" safe to process twice.
  • Log errors somewhere you will see them, such as a private admin chat.
  • Back up bookings regularly.
  • Have a fallback. Put your phone number or another contact method in the bot's description, so clients can still reach you if the bot is down.

Commands and description

Set a short list of commands with @BotFather, such as start, book, mybookings and help, so they appear in the menu. Write a clear description and about text: what the bot does, which business it belongs to, and how to contact a human.

Privacy and data

A booking bot collects personal data: names, Telegram accounts, appointment times, and sometimes health or personal notes.

  • Collect only what you need. A name and the appointment are often enough.
  • Do not ask for sensitive details in chat unless you must, and never ask for passwords, card numbers or login codes. Payments go through Telegram's invoice flow, not typed card numbers.
  • Write a short privacy note that explains what you store, why and for how long, and link it from the bot's description.
  • Delete old data on a schedule.
  • Check local rules on personal data and, for health services, any extra requirements. This is general information, not legal advice.

Clients are rightly cautious about bots. Our guide on whether Telegram bots are safe explains what users look for, and it is worth meeting those expectations.

SponsoredKrypto News Insider 🇩🇪64K members · CryptoOpen in Telegram

Testing before launch

Test as a client would, on more than one device.

  1. Book every service with every staff member.
  2. Try to book the same slot from two accounts at once.
  3. Book the last slot of a day and the first slot after a break.
  4. Cancel, reschedule and rebook.
  5. Test on Android, iPhone and Telegram Desktop; button layouts wrap differently on small screens.
  6. Change your phone's time zone and check what the bot shows.
  7. Leave the flow halfway and come back later.
  8. Test reminders by creating a booking that should trigger one soon.
  9. If you take payments, test with your provider's test mode before going live.

Launch and promote the bot

  1. Add a "Book now" link to your website, social profiles and email signature. A deep link that opens the bot directly is created from the bot's username; adding a start parameter lets you see where clients came from. See how to create a t.me link.
  2. Pin the link in your Telegram channel or group, if you have one.
  3. Print a QR code for your premises. Our guide on Telegram QR codes covers how.
  4. Tell existing clients personally, with one sentence on why it is easier.
  5. Watch the first two weeks closely and fix confusing steps.

Our guide on promoting a Telegram bot or Mini App has more ideas.

Common mistakes

  • Showing slots without re-checking at confirmation. This is the main cause of double bookings.
  • Asking for typed dates and times. Use buttons.
  • No way to cancel or reschedule in the bot. Clients will message you instead, or simply not show up.
  • Ignoring time zones. Online clients see wrong times and miss appointments.
  • Too many questions before the slot is chosen. Ask for details after the client has picked a time, when they are committed.
  • No human fallback. Some clients will always prefer to talk to a person. Make that easy.
  • Storing the bot token in a shared document or public code. Anyone with the token controls the bot. If it leaks, revoke it in @BotFather immediately.
  • Collecting sensitive data in free-text notes without a reason or a deletion plan.

FAQ

Can I build a booking bot without coding?

Yes. No-code bot builders can create a button-based booking flow and connect it to a calendar or spreadsheet. They suit simple setups. Complex rules, such as staff-specific hours and buffers, are easier with a custom bot.

Can the bot send reminders to anyone?

Only to people who have started a chat with the bot. Bots cannot message users who have never contacted them, so reminders work for every client who booked through the bot.

How do I stop two people booking the same slot?

Re-check the slot at the moment of confirmation and reserve it in a single operation that fails if the slot is already taken. Then offer the client the next free times.

Can clients pay inside Telegram?

Yes, through invoices sent by the bot. Digital services must be paid in Telegram Stars under Telegram's rules; physical services, such as in-person appointments, can use supported payment providers. Check the current rules for your case.

Should I use a Mini App or just buttons?

Buttons are enough for a few services and one or two staff. A Mini App is better when clients compare many services, staff or locations, or need to see a full calendar.

Can I connect the bot to my existing calendar?

Usually yes. Custom bots and many no-code tools can read busy times from a calendar service and write bookings back as events, so staff keep using the calendar they know.

Summary

A good Telegram booking bot is a short, button-driven conversation backed by reliable availability data. Plan your services, hours and rules first, then choose between a no-code builder, a custom bot or a bot with a Mini App. Re-check every slot at confirmation to prevent double bookings, store times in one zone, send reminders with cancel and reschedule buttons, and follow Telegram's payment rules if you take deposits. Test on several devices, keep a human contact option, and promote the bot with a direct link and a QR code.

AdHow the 30% discount works
Verified
Verified channels

Ownership confirmed through our claim process — not an endorsement of their content.

  1. Pavel DurovOwner verified
    @durov·News·10M members

    Founder of Telegram.

    ★ 5.0(2179)
  2. Telegram NewsOfficial channel
    @telegram·News·9.1M members

    The official Telegram on Telegram. Much recursion. Very Telegram. Wow.

    ★ 5.0(2879)
  3. Telegram PremiumOfficial channel
    @premium·News·6.3M members

    Telegram Premium – a subscription that unlocks dozens of exclusive features.

    ★ 4.6(1283)
  4. Binance AnnouncementsOfficial channel
    @binance_announcements·Crypto·3.2M members

    Binance Official English Group Binance Official Chinese Group Binance English Announcements Binance Chinese Announcements

    ★ 4.0(450)
Directory
The Crypto Channel Directory
List Your Channel, Group or Bot/MiniGame
  1. Crypto ResearchOfficial channel
    @cryptoresearch·Crypto·53K members

    is a modern crypto news and research platform covering the latest developments across digital assets, markets, regulation, and blockchain technology.

    ★ 4.5(553)
  2. Charts Signals TradingOfficial channel
    @ChartsSignalsTrading·Trading·105K members

    Technical analysis & high-probability trade setups. Price action, market structure, risk control.

    ★ 4.8(1865)
  3. Black Block MarketsOfficial channel
    @BlackBlockMarkets·Crypto·70K members

    BlackBlock Markets exists to observe how capital moves before it becomes obvious.

    ★ 4.4(1369)
  4. Only FinanceOfficial channel
    @OnlyFinance_Pro·Finance·80K members

    This channel focuses exclusively on what shapes global finance. Macroeconomics, markets, liquidity, central banks.

    ★ 4.1(1245)
  5. Bitunix Trading Signals
    @Bitunix_Trades·Trading·67K members

    Clear long & short signals for BTC, ETH & liquid altcoins. AI-backed analysis, real-time execution.

    ★ 4.4(220)
Explore the directory→
More from the blog
Privacy & SafetyHow to Recover Deleted Messages on TelegramPrivacy & SafetyHow to Recover Deleted Messages on TelegramWhat Telegram's delete options actually remove, which copies survive on your other devices, local caches and exports, and what is gone for good.12 Nov 2026Bots & Mini AppsHow to Use Telegram Bots to Send Automatic RepliesBots & Mini AppsHow to Use Telegram Bots to Send Automatic RepliesSet up Telegram automatic replies the right way: built-in Business greeting, away and quick replies, or a custom BotFather bot with menus, keyword answers and handoff.11 Nov 2026Getting StartedHow to Use Telegram Saved Messages as a Personal CloudGetting StartedHow to Use Telegram Saved Messages as a Personal CloudWhere Saved Messages sits on each Telegram app, how to save and organise notes and files there, and what it does not protect.10 Nov 2026Getting StartedHow to Search Messages in a Telegram Chat or ChannelGetting StartedHow to Search Messages in a Telegram Chat or ChannelFind a specific past message, link, photo or file inside a Telegram chat or channel on phone or desktop, using search filters, hashtags and date ranges.9 Nov 2026Getting StartedTelegram Web Preview of Channels ExplainedGetting StartedTelegram Web Preview of Channels ExplainedWhat a t.me/s link is, how to read a public Telegram channel in a browser without joining, and how to embed a single post.8 Nov 2026Getting StartedHow to Transfer Telegram Chats to a New PhoneGetting StartedHow to Transfer Telegram Chats to a New PhoneA step-by-step guide to moving Telegram to a new Android phone or iPhone: what returns from the cloud, what stays behind, and the order of steps before wiping the old device.7 Nov 2026
View all articles→
List Your Channel, Group or Bot/MiniGame

Discover

  • View all Telegram Channels
  • Categories
  • Best Telegram Channels
  • Crypto Channels 2026
  • Top Rated
  • Recently Added
  • Articles & Guides
TGDirectory

The most comprehensive Telegram channel directory. Discover the best channels, groups and bots in one place.

Contact: contact@telegramchannels.io

Explore
DirectoryCategoriesRankingsNew ChannelsInsightsTelegram Trading SignalsFree Crypto Signals Telegram ChannelsBitcoin Telegram ChannelsCrypto Exchange Telegram ChannelsCrypto News Telegram Channels
Company
AboutAdvertiseArticles & GuidesContact UsSubmit a ChannelDevelopers & APIFAQ
Legal
Privacy PolicyTerms of ServiceDisclaimer
© 2026 TGDirectory. All rights reserved.TGDirectory is an independent directory and is not affiliated with or endorsed by Telegram.
Report a problem→