Cal.com

Что это

Cal.com — сервис онлайн-бронирования встреч с открытым исходным кодом (аналог Calendly). Интеграция подключается по личному API-ключу и позволяет сценарию бота получать список типов событий пользователя, проверять свободные слоты и создавать или отменять бронирования прямо из диалога — например, чтобы бот сам записывал клиента на консультацию.

Требования

  • Аккаунт в Cal.com с хотя бы одним настроенным типом событий (event type).
  • API-ключ из настроек аккаунта — раздел Settings → Developer → API keys.

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

  1. Войдите в Cal.com и откройте Settings → Developer → API keys.
  2. Нажмите Add и скопируйте созданный ключ (тестовый начинается с cal_, боевой — с cal_live_).
  3. В конструкторе откройте Интеграции → найдите карточку Cal.comПодключить.
  4. Вставьте ключ в поле подключения и сохраните.
  5. Проверьте подключение кнопкой Проверить соединение — она вызывает список типов событий.

Доступные операции

Операция Что делает
Список типов событий Возвращает типы событий (id, название, slug, длительность) — своих или указанного username
Получить свободные слоты Возвращает свободные окна для типа события в заданном периоде и часовом поясе
Создать бронирование Бронирует слот для участника (имя, email, часовой пояс, время начала)
Отменить бронирование Отменяет бронирование по его UID, с необязательной причиной

Ограничения

  • Лимит Cal.com API: 120 запросов в минуту на ключ (можно увеличить по запросу к Cal.com).
  • Каждая операция обращается к своей версии API (cal-api-version) — это внутренняя деталь интеграции, настраивать не нужно.
  • Время в операциях передаётся в формате ISO 8601 (желательно в UTC, с Z на конце).

Особенности и примечания

Перед бронированием почти всегда нужен event_type_id — получите его через операцию «Список типов событий» и передайте в переменной в следующие шаги сценария.

API-ключ привязан к конкретному аккаунту Cal.com: операции без username возвращают/используют данные владельца ключа.