Зачем объединять Telegram, Calendar и Sheets
Telegram — мессенджер, в котором живёт ваша команда и клиенты. Google Calendar — место, где живут встречи и дедлайны. Google Sheets — где живут данные и отчёты. Проблема: эти три инструмента не связаны между собой. Клиент пишет в Telegram, менеджер вручную создаёт событие в Calendar, потом вручную вносит данные в Sheets. Это десятки минут рутины на каждую заявку.
AI-агент с Telegram-ботом решает это: клиент пишет "Хочу записаться на консультацию в среду после обеда", бот проверяет свободные слоты в Calendar, предлагает конкретное время, получает подтверждение, создаёт событие, записывает данные клиента в CRM-таблицу в Sheets, и отправляет подтверждение обеим сторонам. Всё это — за секунды, без участия человека.
Архитектура системы
Система состоит из пяти компонентов: Telegram Bot (принимает сообщения от пользователей), AI-оркестратор (понимает намерение и выбирает действие), MCP-сервер для Google Calendar (чтение/запись событий), MCP-сервер для Google Sheets (чтение/запись данных), и планировщик задач (cron для напоминаний и отчётов).
Поток данных
- Пользователь → Telegram Bot (webhook получает сообщение)
- Bot → AI-оркестратор (определяет намерение: запись, вопрос, отмена)
- Оркестратор → Calendar MCP (проверяет свободные слоты)
- Оркестратор → пользователю (предлагает варианты времени)
- Пользователь подтверждает → Calendar MCP (создаёт событие)
- Оркестратор → Sheets MCP (записывает данные в CRM)
- Bot → пользователю и менеджеру (подтверждение с деталями)
Telegram Bot API: настройка
Создайте бота через @BotFather в Telegram. Получите токен. Настройте webhook — это URL, на который Telegram будет отправлять входящие сообщения. Для продакшена вам нужен HTTPS-домен. Используйте Cloudflare Tunnel или ngrok для разработки, и полноценный домен для продакшена.
Бот должен обрабатывать несколько типов взаимодействий: текстовые сообщения (основной ввод), inline-кнопки (выбор времени, подтверждение), команды (/start, /help, /cancel, /my_bookings). Попросите Claude Code создать обработчик для каждого типа с правильной маршрутизацией.
AI-обработка сообщений
Ключевое преимущество AI-бота перед обычным — понимание естественного языка. Пользователь может написать "Свободно ли у вас завтра после трёх?" или "Запишите меня на пятницу утром" или "Можно перенести мою встречу на следующую неделю?". AI-оркестратор парсит намерение, извлекает дату и время (с учётом относительных выражений вроде "завтра", "следующая пятница"), и выполняет соответствующее действие.
Для обработки дат используйте AI, а не regex-парсеры. Claude прекрасно понимает "послезавтра", "через три дня", "в следующий вторник", "на той неделе в четверг" — и конвертирует это в конкретные даты. Это экономит десятки строк кода парсинга.
Google Calendar API: интеграция
Google Calendar API позволяет: получить список событий (events.list), создать событие (events.insert), обновить (events.update), удалить (events.delete), проверить занятость (freebusy.query). Для нашей задачи ключевые — freebusy и insert.
Проверка свободных слотов
Freebusy API принимает timeMin, timeMax и список календарей, возвращает занятые интервалы. Агент инвертирует их — получает свободные слоты. Фильтрует по рабочим часам (9:00-18:00), минимальной длительности (30 минут или 1 час), и возвращает пользователю варианты в формате inline-кнопок.
Для бизнеса с несколькими специалистами: агент проверяет календари всех специалистов и предлагает первого свободного. Или позволяет клиенту выбрать конкретного специалиста — тогда показывает только его слоты.
Google Sheets: CRM и учёт
Каждая запись через бота автоматически попадает в Google Sheets. Таблица "Записи" содержит: Дата записи, Время, Клиент (Telegram username), Телефон, Специалист, Статус (подтверждена/отменена/выполнена), Стоимость, Примечания. Это полноценная CRM без единой строчки кода для интерфейса.
Автоматический учёт
- Новая запись → строка в таблице со статусом "подтверждена"
- Встреча состоялась → агент меняет статус на "выполнена", добавляет оплату
- Отмена → статус "отменена" с причиной (если клиент указал)
- Конец дня → сводка: сколько встреч, какая выручка, кто отменил
- Конец месяца → полный финансовый отчёт по специалистам
Кейс 1: Запись на приём (салон красоты)
Салон красоты с 5 мастерами. Клиент пишет боту: "Хочу стрижку на субботу". Бот спрашивает: "У какого мастера? Алия, Дана, Жанна — все свободны в субботу". Клиент выбирает Дану. Бот показывает слоты: 10:00, 11:00, 14:00, 15:00. Клиент жмёт 14:00. Бот создаёт событие в календаре Даны, записывает в CRM-таблицу, отправляет подтверждение клиенту и уведомление Дане. За день до встречи — автоматическое напоминание обоим.
Результат: администратор больше не тратит 2-3 часа в день на обработку записей в Instagram Direct и WhatsApp. Всё идёт через бота. Ноль потерянных заявок, ноль забытых записей, полная статистика в реальном времени.
Кейс 2: Учёт расходов (малый бизнес)
Бот для финансового учёта: сотрудник фотографирует чек или пишет "Канцелярия 5000 тг". Агент парсит: категория = канцелярия, сумма = 5000, дата = сегодня. Записывает в Sheets в таблицу расходов. Создаёт событие-напоминание в Calendar на конец месяца для сверки. Бухгалтер видит обновлённую таблицу в реальном времени.
- "Бензин 15000 тг" → категория: Транспорт, сумма: 15 000
- "Обед с клиентом 8500" → категория: Представительские, сумма: 8 500
- "Оплата хостинга $49" → категория: IT, сумма: 49 USD → конвертация в тенге
- /report — сводка расходов за текущий месяц по категориям
- /budget — сравнение расходов с бюджетом, предупреждение при превышении
Кейс 3: Управление проектами (команда)
Бот для проектной команды: менеджер пишет "Встреча по проекту X в четверг в 15:00, участники: @alice @bob @charlie". Агент создаёт событие в Google Calendar с приглашениями, добавляет строку в трекер встреч в Sheets, отправляет уведомления всем участникам в Telegram. После встречи — запрашивает итоги и записывает в Sheets.
Деплой и эксплуатация
Для продакшена рекомендуется VPS с pm2. Бот работает как long-running процесс, обрабатывая webhook-запросы от Telegram. MCP-серверы запускаются как отдельные процессы и общаются с ботом через stdio или HTTP. Все секреты (токены, ключи) хранятся в .env и никогда не попадают в код.
Мониторинг и отказоустойчивость
- pm2 автоматически перезапускает процесс при падении
- Логирование всех запросов и ответов для отладки
- Алерты в Telegram при ошибках API (Calendar недоступен, Sheets rate limit)
- Graceful degradation: если Calendar недоступен — бот предлагает записать заявку и обработать позже
- Бэкап таблицы Sheets раз в сутки через Google Drive API
Расширения и масштабирование
Базовая система легко расширяется. Добавьте оплату через Stripe — после подтверждения записи бот отправляет ссылку на оплату. Добавьте рейтинг — после встречи бот просит оценить сервис от 1 до 5. Добавьте реферальную программу — клиент получает скидку за каждого приведённого друга, агент отслеживает рефералы в Sheets.
Для масштабирования на несколько бизнесов: сделайте multi-tenant архитектуру, где каждый бизнес — отдельный бот с отдельными таблицами и календарями. Общий AI-оркестратор и MCP-серверы, но изолированные данные. Это основа для SaaS-продукта.
Заключение
Связка Telegram + Google Calendar + Sheets через AI-агента — это самая практичная автоматизация для малого бизнеса. Не нужен сайт с формой записи, не нужна CRM-система за $50/месяц, не нужен администратор на телефоне. Бот работает 24/7, ничего не забывает, не ошибается в расписании и ведёт идеальный учёт. Настройка занимает один день, а экономия — месяцы рабочего времени. Начните с записи на встречи, потом добавьте учёт расходов, потом — полную CRM. Каждый шаг приносит измеримый результат.