How to let clients book appointments from Instagram, WhatsApp and Telegram
Yevhen Kurapov, co-founder · Updated Sep 29, 2026
Set up a calendar per barber (or connect Altegio or Calendly), then connect Instagram, WhatsApp and Telegram. A client asks for an appointment in the chat, taps one of the free times the assistant offers, gives a name and phone number, and gets a confirmation. The booking lands in your calendar, and you get an alert by email or Telegram.
A client messages at ten at night asking whether anyone can do a skin fade on Saturday. This guide sets up an assistant that replies, offers free times and books, in Instagram DMs, WhatsApp, Telegram and your website chat. The example is a three-chair barbershop on Google Calendar.
Which calendar to connect
ChatPal books into three systems. Connect the one your bookings already live in:
- Google Calendar, if you keep a plain calendar — each barber needs their own, so the assistant can read their free time separately. Services and bookable hours are set in ChatPal; its price field takes only EUR, USD or UAH, so for pounds you'll leave it blank and use your price list instead. See the Google Calendar assistant.
- Altegio, if you already run the shop on it. See booking through Altegio.
- Calendly, if what you book is calls or meetings rather than chair time. On Calendly's free plan the assistant shares your booking link instead. See booking through Calendly.
Only one booking integration can be active per assistant. Booksy and Fresha are not integrated: the assistant can answer questions but can't book into them.
Step 1: connect the calendar
First, give each barber a calendar of their own, in Google Calendar in a browser. Later, ChatPal's calendar picker greys out a calendar already assigned to one barber. If your barbers don't use Google, sign in as the shop's account and make one per barber, named after them, under Other calendars → + → Create new calendar. A barber with an existing Google calendar shares it instead: Settings and sharing → Shared with → Add people and groups, then add the shop's account with the Make changes and see event details permission (ChatPal's own hint calls it "Make changes to events"). Don't drag an event to another barber's calendar: ChatPal reads that as a cancellation. To hand a booking over, cancel it and book the new one.
Then open Integrations in the left-hand menu.
Choose Google Calendar there: four numbered steps follow.

- Click Connect Google Calendar and sign in with the shop's Google account. In the Google window, tick every permission: Google leaves them unticked, and without them the assistant can't add, move or cancel bookings.
- Under Your services, add what clients can book: a name, a duration, and if you like a price and a buffer (minutes after each appointment when no one can book that chair). For pounds, leave the price blank and let the assistant answer from your price list, uploaded as a PDF, Word or text file on Configuration → Files.
- Under Practitioners & working hours, fill in one card per barber: their name, their calendar (click Refresh calendar list if it isn't in the picker yet), their bookable hours for each day and the services they do. Use Add practitioner for the second and third chair.
- Under Go live, turn on Take bookings with this assistant. Until it is on, this assistant does not offer booking in the chat.
On the same card, Exceptions for specific dates gives one date its own hours, and Cancellation & rescheduling cutoff stops clients changing a booking in the chat within 1 to 168 hours of it.
A client who doesn't name a barber can also pick "anyone available", which books whoever is least busy that day; the alert still names the barber.
Before you turn bookings on for real clients, add a reminder (Step 3): none is sent until you do.
Step 2: connect the channels
Each app is connected once, from its own page under Integrations:
-
Instagram: click Connect Instagram and log in with the shop's Business or Creator account, which has to be linked to a Facebook Page. To step in, open the chat in Chats and click Take over; replies from the Instagram app don't pause the assistant. More on the Instagram assistant.
-
WhatsApp: you need a Facebook login and a Meta Business account (the popup can create one). If your number is already live in the WhatsApp Business app:
- Choose Connect and keep the app.
- Tick I understand and click Continue.
- Sign in, pick the number, then scan its QR code from the app (Settings → Account → Business Platform).
A reply from your phone then pauses the assistant there for 24 hours by default; the number gets no business badge, WhatsApp for Windows and WearOS aren't supported, and you must open the app regularly. Choose Connect via Cloud API instead to take the number out of the app entirely. More on the WhatsApp assistant.
-
Telegram is optional; it suits clients who already use it. In Telegram, message @BotFather, send
/newbot, and pick a name and a username ending inbot. BotFather replies with a token like123456789:AAF.... In ChatPal, click Connect Telegram Bot on the Telegram page, paste it under Telegram Bot Token and click Save. Share the link and QR code it then shows. Clients open the link and press Start before the assistant answers; a message typed before Start gets no reply. More on the Telegram assistant.
With Take bookings with this assistant on, every connected app takes bookings, as does your website chat once its code from Integrations → Chat Widget is on your site.
Each channel has its own guide: answering Instagram DMs for a salon, keeping the WhatsApp Business app and adding an AI assistant and an AI chatbot on Telegram for your business.
What the client sees on each channel
The assistant asks the same questions on every channel; only what the client taps differs.
| Channel | How the times and services arrive | Also |
|---|---|---|
| Website chat | Cards to tap | A receipt card once it's booked |
| Buttons under the message; a long service name is shortened to fit | The buttons disappear once the client answers | |
| A list the client opens with one tap on Choose a time | Yes/no questions come as WhatsApp buttons | |
| Telegram | Buttons under the message, with more when there are more times | A share my phone number button when the assistant asks for a number |
Step 3: book a test appointment yourself
Reminders aren't sent until you add one, so add it first. In the assistant's Configuration, open the Settings tab, click Add under Reminders, choose Before appointment, enter the minutes under Offset (minutes) (1440 for the day before) and write the text under Message template, then click Create; {{customerName}} and {{appointmentTime}} fill in the client's name and time. The reminder arrives in the chat the client booked in. On WhatsApp and Instagram, Meta's 24-hour messaging rules apply, so a reminder sent over 24 hours after the client's last message may not arrive.
Now message the shop from a phone or account that isn't the shop's, such as a barber's own WhatsApp. Ask "can I get a fade on Saturday afternoon?" Then check four things:
- the times offered are free in that barber's calendar, and an hour you blocked isn't among them;
- a phone number typed without a country code comes back with your country's code added for you to confirm, or the assistant asks you to resend it with the code;
- after you pick a time, the event appears in the barber's Google Calendar and under Recent bookings on the integration page;
- the booking alert reaches you.
Booking alerts go to the workspace owner and admins. To choose email, Telegram or both, click your workspace name, choose Manage workspaces... → Notifications; for Telegram, click Connect Telegram and press Start in the bot that opens.
Then ask the assistant, in the same chat, to move the test booking: the event and its reminder move to the new time in Google Calendar. Last, ask it to cancel, and the event and its reminder are removed. A cancellation cutoff blocks both inside its window, so leave it empty while you test.
What it can't do
- Take phone calls or answer on Viber. Voice notes, videos and stickers are ignored on every app. Photos are read (up to 4 per message, 10 MB each) in the website chat, Telegram, WhatsApp and Instagram, but not in Zendesk.
- Write first. It can't chase a client who went quiet, and Meta's 24-hour messaging rules can stop a reminder reaching a client on WhatsApp or Instagram who last wrote more than a day earlier.
- Answer an Instagram story mention. Story mentions aren't supported, and on a reply to a story the assistant can't see which story it was.
- Work in Telegram groups or channels, or in Zendesk.
See also plans and message limits.