Урок 27. Google Sheets и Google Calendar
Подключаем Google безопасно, без паролей и без сложного OAuth. Ты просто даёшь боту доступ к конкретной таблице или календарю.
Цель урока
После урока ты умеешь безопасно подключить Google через служебный email (без пароля и OAuth), понимаешь разницу «Редактор / Просмотр», и знаешь два инструмента бота: Google Sheets (бот пишет заявки строкой в твой лист) и Google Calendar (бот сам ставит записи, зная твой график, длительность слота и сколько клиентов помещается на одно время).
Простыми словами
Помнишь, в Уроке 18 бот записал Айгерим на пробный урок? А в Уроке 23 отправил ей подтверждение на почту. Теперь, куда именно падает эта запись: в твою Google Таблицу (лист «Пробные уроки») или в твой Google Календарь. Подключается через сервисный аккаунт это служебный email платформы, которому ты расшариваешь нужный файл. Твой пароль при этом никто не видит.
📍 Где: меню проекта → «Интеграции» (там служебный email) и «Функции» (там подключаешь Sheets/Calendar боту).
Слайды урока
Непонятные слова: на пальцах
- Интеграция: связь бота с другой программой (Google, CRM), чтобы они работали вместе. Как соединить два лего-блока: щёлкнул, и они действуют заодно.
- Google Таблицы (Sheets): обычная онлайн-таблица, как Excel в браузере. Бот может писать в неё заявки и читать оттуда прайс/график. Пример: лист «Пробные уроки», куда падает запись Айгерим.
- Лист: вкладка внутри таблицы (снизу). Ты указываешь боту точный лист, например «Пробные уроки», чтобы он писал именно туда.
- Google Календарь: онлайн-ежедневник, куда бот ставит записи и где смотрит свободное время по твоему графику.
- Слот: одно свободное «окошко» для записи. Его длительность (например, 1 час) ты задаёшь сам.
- «Записей на одно время» (кресла): сколько клиентов бот запишет на один и тот же слот. Пример: 3 = «три кресла» (три преподавателя ведут параллельно). 1 = строго по одному.
- Сервисный аккаунт: служебный email платформы, которому ты даёшь доступ к своему файлу. Как выдать помощнику ключ только от одной комнаты. Твой личный пароль при этом не нужен.
- Расшарить (дать доступ): открыть конкретный файл этому служебному email. Пример: в таблице → «Настройки доступа» → вставил email → «Редактор». Как впустить одного гостя в один кабинет.
- Редактор / Просмотр: уровень доступа. «Просмотр» = только читать; «Редактор» = читать и писать. Боту для записи заявок нужен Редактор.
Зачем это нужно
- Таблица, универсальный «журнал»: все заявки автоматически падают в привычный Google Sheets, а бот читает оттуда прайс/расписание.
- Календарь: бот сам ведёт запись в твоём Google Календаре, который ты и так смотришь с телефона, и уважает твой график, длительность приёма и число «кресел».
Как подключить (по шагам)
- В разделе «Интеграции» скопируй служебный email платформы.
- Открой свою Google Таблицу или Календарь → «Настройки доступа» → добавь этот email как редактора.
- В «Функциях» подключи Google Sheets или Google Calendar боту, укажи ссылку на таблицу (и лист) или ID календаря (не «primary»).
- Готово: бот получил доступ только к тому, что ты расшарил, и ни к чему больше.
Что умеет бот
- Google Sheets: записать новую строку (лид), найти/прочитать данные (прайс, график), обновить/удалить строку.
- Google Calendar: проверить свободные слоты по твоему графику, создать/перенести/отменить событие (запись), напомнить клиенту.
Настройки календаря (глубже)
- ID календаря: укажи адрес своего календаря (вида
...@group.calendar.google.com); служебныйprimaryне подойдёт. - График работы: рабочие дни и часы; из них бот сам считает свободные окна.
- Длительность слота и на сколько дней вперёд открыта запись (по умолчанию 7, максимум 14).
- «Записей на одно время»: сколько клиентов на слот (1 = по одному, 3 = «три кресла»).
- Напоминание клиенту: бот сам напишет клиенту перед визитом (по умолчанию выключено).
Пример (образовательный центр «Профи»)
«Профи» расшарил боту Google Таблицу с листом «Пробные уроки». Айгерим записалась на пробный (Урок 18), и её запись автоматически появилась строкой в таблице (имя, телефон, предмет, время). Администратор работает в привычном Google Sheets. А кто ведёт запись в календаре: у того бот сразу проверяет свободные окна и ставит событие, зная, что на одно время помещается, скажем, 3 ученика (три преподавателя).
Когда нужно / когда нет
- Ведёшь учёт в Google Таблицах, запись в Google Календаре.
- Всё уже есть во внешней CRM: тогда подключай её, а не таблицы.
Частые ошибки
- Расшарили как «Просмотр», а не «Редактор» → бот не может писать. Дай доступ редактора.
- Расшарили не тот файл → бот пишет не туда. Проверь, что доступ дан именно нужной таблице/календарю.
- Указали «primary» как календарь → это технический календарь бота, тебе не видимый. Укажи ID своего календаря.
Вопросы новичка
- Это безопасно? Я не хочу давать пароль. Пароль и не нужен. Ты даёшь доступ только к одному файлу служебному email, как ключ от одной комнаты. Остальное Google-аккаунта бот не видит.
- Бот не пишет в таблицу: почему? Чаще всего доступ дан как «Просмотр». Поменяй на «Редактор», и бот сможет писать.
- Расшарил, но бот пишет не туда. Проверь, что доступ дан именно нужной таблице/календарю и что указан правильный лист (например, «Пробные уроки»).
- Сколько клиентов бот запишет на одно время? Сколько задашь в «Записей на одно время»: 1, строго по одному, 3, «три кресла» параллельно.
- У меня уже есть Bitrix/amoCRM, Google-таблицы нужны? Не обязательно. Если учёт ведётся во внешней CRM, подключай её. Таблицы, для тех, кто ведёт учёт в Google.
Проверь себя
- Почему для записи заявок нужен доступ «Редактор», а не «Просмотр»?
- Что задаёт «Записей на одно время» и чем 1 отличается от 3?
- Почему нельзя указать «primary» как календарь бота?
Что дальше
Для отправки писем от твоего Gmail есть Gmail. А если у тебя уже есть своя CRM, бот заведёт лид Айгерим прямо в неё: Урок 28: внешние CRM.

