DOS_AI/ Документация
ОтзывыДля когоАгентствамВозможностиЦенаFAQОбучениеДокиВойтиСтарт
← Руководство
Старт
  • Что такое DOS AI
  • Как бот думает
  • Быстрый старт: первый бот за 30 минут
  • Карта кабинета (навигация)
  • Глоссарий
Проект и бот
  • Создание проекта
  • Системный промпт (характер бота)
  • JSON-ответ бота (статусы, стадии, флаги)
  • Выбор AI-модели
  • Тестовый чат
  • Продвинутые настройки бота
  • Загрузить знания о бизнесе в бота (что куда)
Каналы
  • Обзор каналов
  • Подключить WhatsApp (по QR)
  • Подключить Telegram-бота
  • Гигиена и антибан (WhatsApp)
Инструменты бота
  • Функции (инструменты бота)
  • База знаний (RAG)
  • Медиа-библиотека
  • Дожимы (follow-up)
  • Теги и сегментация
  • Уведомления владельцу (Telegram и почта)
  • Запись на время (Calendar и движок окошек)
  • Бот выставляет счёт (Kaspi)
  • Письмо клиенту
  • Рассылки по базе контактов
  • Исходящие диалоги (бот пишет первым)
Работа с клиентами
  • Диалоги, лента, перехват, «AI на паузе»
  • Лиды и их статусы
  • Стадии диалога (воронка)
  • Аналитика
  • Логи событий
  • Авто-отчёты владельцу (Telegram и почта)
Интеграции
  • Обзор интеграций + сервисный аккаунт Google
  • Google Sheets
  • Google Calendar
  • Gmail
  • CRM, Bitrix24 / amoCRM / AlphaCRM
  • Вебхуки и безопасность (SSRF)
  • МойСклад: наличие и цены в ответах бота
Деньги
  • Биллинг проекта: токены, подписка, пополнение
  • Сколько стоит сообщение
  • Приём оплат от клиентов (Kaspi)
  • Промокоды и партнёрская программа
Команда и аккаунт
  • Роли и права (viewer / tester / editor / admin / owner)
  • Участники и приглашения
  • Профиль, пароль, безопасность
  • Уведомления и личные настройки
  • Удаление, передача, дублирование проекта
Для разработчиков
  • Публичный API и ключи dos_sk_live_…
  • Кастомные вебхуки (продвинутый режим)
  • Язык выражений (expressions)
  • Формат данных и интеграция фронта
  • Подключить ИИ-агента: Claude Code, Codex, Cursor (MCP)
Решение проблем
  • Бот не отвечает, диагностика
  • Функция не вызывается / падает
  • Канал отвалился / WhatsApp забанили
  • Платёж не прошёл
  • Частые вопросы (FAQ)
  • Лиды из рекламы приходят с задержкой
Справочники
  • Каталог встроенных функций
  • Справочник настроек (agent_config)
  • Коды ошибок и состояния
  • Стадии, статусы лида, типы клиента
  • Лимиты и квоты
  • Переменные и хелперы выражений
  • Типы уведомлений

Документация › Интеграции › 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), чужие брони и ваши личные события в календаре бот клиенту не покажет и отменить не даст.
  • Записать в прошлое нельзя, если бот перепутал дату, система отклонит бронь и попросит уточнить.

Как подключить

  1. Поделись календарём. Google Календарь → настройки нужного календаря → «Доступ для отдельных пользователей» → добавь email сервис-аккаунта с правом «Внесение изменений в мероприятия».
  2. Укажи calendar_id в функции это ID твоего календаря, тот же, с которым ты поделился на шаге 1. Для основного календаря его ID это твой email в Google (например ivan@gmail.com); для отдельного календаря его ID есть в настройках календаря (вид ...@group.calendar.google.com). ⚠️ Слово primary не подойдёт, так бот попадёт в свой технический календарь, который ты не видишь, и записи «пропадут». Нажми «Проверить подключение»: красная ошибка сразу покажет, если календарь указан неверно или доступ не выдан.
  3. Настрой расписание работы прямо в функции «Проверить свободное время»: рабочие дни, часы, перерыв между слотами (в минутах), длительность слота, минимальный запас до записи. Бот предлагает клиентам только время внутри этих рамок. (До 2026-06-13 этот редактор не влиял на бота: теперь сервер читает расписание из настроек функции.)
  4. Записей на одно время (вместимость). По умолчанию 1, один приём на слот, как только на это время есть событие, бот его больше не предлагает. Поставь больше, если на одно время можно записать нескольких: несколько кресел/кабинетов работают параллельно или это групповое занятие. Например 3: бот запишет до трёх клиентов на один и тот же час, а четвёртому предложит другое время.
  5. Выходной/отпуск: событием «на весь день». Создай в календаре событие на весь день (Отпуск, Выходной): бот не предложит записи в этот день, даже если вместимость больше 1.
  6. Приглашение клиенту на почту (по желанию). Тумблер «Отправлять клиенту приглашение на почту», если включить и клиент даст email, ему придёт приглашение на встречу из Google Календаря. По умолчанию выключено (незваные приглашения часто принимают за спам).
  7. Напоминания клиенту (по желанию). Тумблер «Напоминать клиенту о записи»: бот сам напишет клиенту в тот же чат перед визитом (снижает неявки). Расписание задаёте вы: добавьте одно или несколько напоминаний «за N минут/часов/дней до записи» (например «за 1 день» и «за 2 часа»). Текст можно свой, с подстановками {{client_name}}, {{date}}, {{time}}. По умолчанию выключено. Перенос записи сдвигает напоминания, отмена: снимает их. В тест-чате напоминания не отправляются.
  8. Проверь в тест-чате: «запиши меня на завтра в 15:00».

См. также пошаговый гайд: Запись на время.

💡 Часовой пояс. По умолчанию бот считает время в Asia/Almaty, то есть «15:00» для клиента это 15:00 по Астане. Пояс можно переопределить в параметрах функции, переход на летнее/зимнее время учитывается автоматически.
💡 Обед и перерывы. Отдельной настройки «обед» нет, просто создай в своём календаре повторяющееся событие (например «Обед» с 13:00 до 14:00 каждый день). Бот считает это время занятым и не будет предлагать его клиентам. Так же удобно блокировать отпуск или личные дела.
⚠️ Не поделился календарём → бот не сможет создать событие. Как и с таблицами: сначала дай сервис-аккаунту доступ, потом указывай ID.

Простыми словами

Если у тебя запись по времени, салон, врач, автошкола, репетитор: календарь незаменим. Клиент пишет «можно завтра в три?», и бот сам смотрит в твой Google-календарь: свободно, записывает, занято, предлагает другое время. Тебе не надо ничего делать руками.

Подключается один в один как таблицы: открываешь свой календарь, даёшь доступ email-у бота (на изменение событий) и указываешь, какой именно календарь использовать. Время бот считает по Астане, так что «три часа»: это три по-нашему, без путаницы с часовыми поясами.


Дальше: → Gmail
Связано: Обзор интеграций · Google Sheets · Функции
Не получилось? → Функция не вызывается / падает