Документация › Интеграции › Google Calendar
Google Calendar
Бот сам записывает клиентов на приём: проверяет свободные слоты и ставит событие в твой Google-календарь. Подключается так же, как Таблицы, шарингом календаря с сервис-аккаунтом.
⏱ 7 мин · 👤 для владельца · 🟢 live
За 30 секунд:
- Подключение = поделиться Google-календарём с email сервис-аккаунта (права на изменение событий).
- Бот умеет: проверить свободное время, создать/изменить/удалить событие, показать список.
- Время, по умолчанию Asia/Almaty (астанинское), с учётом перехода на летнее/зимнее.
- В
calendar_idукажи ID своего календаря (для основного, твой email в Google; для отдельного, адрес вида...@group.calendar.google.com). Словоprimaryне подойдёт это технический календарь бота, тебе не видимый.
Что бот умеет с календарём
| Функция | Что делает |
|---|---|
check_slots | проверить свободные слоты на дату |
create_event | создать событие (запись клиента) |
update_event | перенести/изменить событие |
list_events | показать события за период |
delete_event | отменить запись |
Главный сценарий, запись на приём: клиент пишет «хочу завтра в 15:00», бот проверяет, свободно ли, и создаёт событие. Удобно для салонов, клиник, мастеров, репетиторов.
Встроенная защита записи (работает сама, настраивать не нужно):
- Нет двойных броней. Перед созданием события система ещё раз проверяет занятость этого времени (с учётом вместимости слота), если два клиента одновременно берут последнее окно, второй получит предложение выбрать другое время.
- Клиент видит и меняет только свои записи. Список записей, перенос и отмена привязаны к клиенту этого чата (на всех каналах, WhatsApp и Telegram), чужие брони и ваши личные события в календаре бот клиенту не покажет и отменить не даст.
- Записать в прошлое нельзя, если бот перепутал дату, система отклонит бронь и попросит уточнить.
Как подключить
- Поделись календарём. Google Календарь → настройки нужного календаря → «Доступ для отдельных пользователей» → добавь email сервис-аккаунта с правом «Внесение изменений в мероприятия».
- Укажи
calendar_idв функции это ID твоего календаря, тот же, с которым ты поделился на шаге 1. Для основного календаря его ID это твой email в Google (напримерivan@gmail.com); для отдельного календаря его ID есть в настройках календаря (вид...@group.calendar.google.com). ⚠️ Словоprimaryне подойдёт, так бот попадёт в свой технический календарь, который ты не видишь, и записи «пропадут». Нажми «Проверить подключение»: красная ошибка сразу покажет, если календарь указан неверно или доступ не выдан. - Настрой расписание работы прямо в функции «Проверить свободное время»: рабочие дни, часы, перерыв между слотами (в минутах), длительность слота, минимальный запас до записи. Бот предлагает клиентам только время внутри этих рамок. (До 2026-06-13 этот редактор не влиял на бота: теперь сервер читает расписание из настроек функции.)
- Записей на одно время (вместимость). По умолчанию
1, один приём на слот, как только на это время есть событие, бот его больше не предлагает. Поставь больше, если на одно время можно записать нескольких: несколько кресел/кабинетов работают параллельно или это групповое занятие. Например3: бот запишет до трёх клиентов на один и тот же час, а четвёртому предложит другое время. - Выходной/отпуск: событием «на весь день». Создай в календаре событие на весь день (Отпуск, Выходной): бот не предложит записи в этот день, даже если вместимость больше 1.
- Приглашение клиенту на почту (по желанию). Тумблер «Отправлять клиенту приглашение на почту», если включить и клиент даст email, ему придёт приглашение на встречу из Google Календаря. По умолчанию выключено (незваные приглашения часто принимают за спам).
- Напоминания клиенту (по желанию). Тумблер «Напоминать клиенту о записи»: бот сам напишет клиенту в тот же чат перед визитом (снижает неявки). Расписание задаёте вы: добавьте одно или несколько напоминаний «за N минут/часов/дней до записи» (например «за 1 день» и «за 2 часа»). Текст можно свой, с подстановками
{{client_name}},{{date}},{{time}}. По умолчанию выключено. Перенос записи сдвигает напоминания, отмена: снимает их. В тест-чате напоминания не отправляются. - Проверь в тест-чате: «запиши меня на завтра в 15:00».
См. также пошаговый гайд: Запись на время.
💡 Часовой пояс. По умолчанию бот считает время в Asia/Almaty, то есть «15:00» для клиента это 15:00 по Астане. Пояс можно переопределить в параметрах функции, переход на летнее/зимнее время учитывается автоматически.
💡 Обед и перерывы. Отдельной настройки «обед» нет, просто создай в своём календаре повторяющееся событие (например «Обед» с 13:00 до 14:00 каждый день). Бот считает это время занятым и не будет предлагать его клиентам. Так же удобно блокировать отпуск или личные дела.
⚠️ Не поделился календарём → бот не сможет создать событие. Как и с таблицами: сначала дай сервис-аккаунту доступ, потом указывай ID.
Простыми словами
Если у тебя запись по времени, салон, врач, автошкола, репетитор: календарь незаменим. Клиент пишет «можно завтра в три?», и бот сам смотрит в твой Google-календарь: свободно, записывает, занято, предлагает другое время. Тебе не надо ничего делать руками.
Подключается один в один как таблицы: открываешь свой календарь, даёшь доступ email-у бота (на изменение событий) и указываешь, какой именно календарь использовать. Время бот считает по Астане, так что «три часа»: это три по-нашему, без путаницы с часовыми поясами.
Дальше: → Gmail
Связано: Обзор интеграций · Google Sheets · Функции
Не получилось? → Функция не вызывается / падает