Подключите Cal.com к AI-агенту за 5 минут

Patryk Lasek
Опубликовано Время чтения: 4 мин
Миниатюра для Подключите Cal.com к AI-агенту за 5 минут

Представьте такую ситуацию: потенциальный клиент находится на вашем сайте и заинтересован в продукте. Он хочет забронировать демо. Старый способ выглядит так: клиент отправляет email, вы отвечаете ссылкой на календарь, затем вы несколько раз согласовываете удобное время. Это медленно, и вы рискуете потерять его интерес.

Теперь представьте более удобный способ. Посетитель просто спрашивает вашего AI-агента: “Можно забронировать встречу?” Агент сразу проверяет ваш календарь, предлагает доступные слоты и бронирует встречу прямо в чате.

Пример диалога, в котором AI предлагает доступное время и запрашивает данные пользователя

В этом преимущество подключения Cal.com к вашему агенту Quickchat AI. В этом руководстве мы разберем простую интеграцию. Всего за несколько минут вы сможете поручить AI работу с расписанием, чтобы новые лиды попадали в ваш календарь, не выходя из диалога.

Если вы используете Calendly вместо Cal.com, есть более короткий путь: Calendly предоставляет размещенный MCP-сервер, поэтому подключение выполняется в один клик, а не через набор вручную настроенных API Actions. В статье Создайте AI-ассистента для записи с Calendly показано, как это сделать, включая настройку ограничений на действия агента после подключения.

Зачем подключать Cal.com к AI-агенту?

Cal.com, это мощный инструмент для гибкой записи, а его API открывает возможности автоматизации. В сочетании с AI Actions от Quickchat он позволяет превратить чат на сайте в умного ассистента по расписанию.

Вот почему это существенно меняет процесс:

  • Создайте удобный пользовательский опыт: Посетители могут забронировать звонок прямо в окне чата. Больше не нужно переключаться между вкладками, ссылками и email. Это быстро, современно и удобно.
  • Получайте больше лидов: Убирая лишние шаги из процесса бронирования, вы снижаете вероятность того, что лид прервет процесс. Мгновенное подтверждение означает мгновенное решение.
  • Уберите ручную работу: Ваш AI выполняет весь процесс записи, от проверки доступности до отправки приглашений. Календарь заполняется автоматически, а вы можете сосредоточиться на более важных задачах.

Как это работает?

Основная логика реализуется через два API-вызова, которые ваш AI-агент выполняет в Cal.com. Краткий обзор диалогового сценария:

  1. Запрос: Посетитель просит забронировать встречу. Ваш AI-агент корректно запрашивает предпочтительные даты и часовой пояс.
  2. Проверка доступности: Агент обращается к Cal.com, чтобы найти свободные временные слоты на основе заранее настроенных типов событий.
  3. Предложение: AI показывает пользователю доступное время. После выбора слота он запрашивает имя и email.
  4. Бронирование встречи: Затем агент вызывает API Cal.com, чтобы забронировать встречу, передавая выбранный слот и данные пользователя для завершения записи.
  5. Подтверждение: Cal.com продолжает процесс и автоматически отправляет приглашения в календарь вам и новому лиду.

Вот как может выглядеть такой диалог:

Пример диалога, в котором AI предлагает доступное время и запрашивает данные пользователя

Что понадобится (предварительные требования)

Перед началом убедитесь, что у вас есть следующее:

  • Аккаунт Cal.com: Бесплатного тарифа будет достаточно, если вы только начинаете. Вам понадобится как минимум один настроенный тип события (например, 30-минутный демозвонок). Зарегистрировать аккаунт Cal.com можно здесь.
  • Агент Quickchat AI: Вам понадобится доступ для создания пользовательских AI Actions. Если у вас еще нет аккаунта, вы можете зарегистрироваться здесь.
  • Ваш API-ключ Cal.com: В панели Cal.com перейдите в Settings → API keys. Нажмите Add, задайте имя ключа, укажите дату истечения срока действия и скопируйте токен. Он понадобится для аутентификации.

API-ключ Cal.com

Совет: Хотя публичные типы событий в Cal.com доступны без API-ключа, использовать ключ настоятельно рекомендуется. Это помогает избежать ограничений по частоте запросов и обеспечивает готовность интеграции к будущим изменениям API.

Шаг 1: Создайте AI Action для проверки доступности

Сначала научим вашего AI-агента находить свободные временные слоты.

В панели Quickchat перейдите в Actions & MCPs → Custom Actions и нажмите Add Action.

1.1 Определите пользовательские входные данные

Нужно запросить у пользователя несколько ключевых данных, прежде чем проверять календарь. Определите поля, которые агент должен собрать:

FieldDescriptionExample
startНачало диапазона дат для поиска (ISO 8601)2025-09-18T00:00Z
endКонец диапазона дат для поиска (ISO 8601)2025-09-25T23:59Z
timeZoneЧасовой пояс пользователя в формате IANAEurope/Warsaw

Пользовательские входные данные

1.2 Настройте API-вызов

Теперь настройте запрос к Cal.com:

  • Метод: GET

  • URL API endpoint:

    https://api.cal.com/v2/slots?eventTypeSlug=call&username=patryk-lasek&start={{start}}&end={{end}}&timeZone={{timeZone}}

    Важно: Замените call на URL slug вашего типа события, а patryk-lasek на ваше имя пользователя Cal.com.

  • Заголовки:

HeaderValueRequired
cal-api-version2024-09-04✔︎
AuthorizationBearer <your_api_key>Рекомендуется

API-вызов

Заголовок cal-api-version обязателен. Без него запрос завершится ошибкой.

В интерфейсе Quickchat плейсхолдеры ({{start}}, {{end}}, {{timeZone}}) в URL будут автоматически заменены данными, которые агент соберет у пользователя.

После сохранения ваш агент сможет получать и показывать доступные временные слоты.

Шаг 2: Создайте AI Action для бронирования встречи

Когда доступность проверена, пора выполнить последний шаг: создать бронирование. Настроим второе действие.

2.1 Определите пользовательские входные данные

Для этого действия агенту нужно собрать следующее:

FieldDescriptionDefault ValueRequired
startВыбранный временной слот в формате UTC: 2025-09-21T07:00:00Z-✔︎
nameПолное имя участника-Необязательно
emailEmail-адрес участника-✔︎
timeZoneЧасовой пояс пользователя в формате IANA: Europe/Warsaw-✔︎

Пользовательские входные данные для бронирования встречи

Примечание о часовых поясах: Endpoint бронирования Cal.com требует, чтобы время start было в формате UTC. Ваш AI-агент должен выполнить это преобразование. Например, если пользователь в Варшаве (UTC+2) выбирает 11:00 AM, в API нужно отправить значение 09:00:00Z.

2.2 Настройте API-вызов

  • Метод: POST
  • URL API endpoint:
    https://api.cal.com/v2/bookings
  • Заголовки:
HeaderValueRequired
Content-Typeapplication/json✔︎
cal-api-version2024-08-13✔︎
AuthorizationBearer <your_api_key>Рекомендуется

Обратите внимание, что cal-api-version для этого endpoint отличается. Всегда проверяйте документацию Cal.com, чтобы указать правильную строку версии.

API-вызов, заголовки

  • Тело: В редакторе действия Quickchat выберите JSON для тела и вставьте следующую структуру:

    {
      "start": "{{start}}",
      "eventTypeSlug": "call",
      "username": "patryk-lasek",
      "attendee": {
        "name": "{{name}}",
        "email": "{{email}}",
        "timeZone": "{{timeZone}}"
      }
    }

    Не забудьте заменить eventTypeSlug и username на ваши собственные данные. Информация attendee должна быть вложенным JSON-объектом, как показано выше.

    API-вызов, тело

Готово. После настройки и сохранения этого действия у вашего AI-агента есть все необходимое, чтобы удобно бронировать встречи от вашего имени.


Проверьте ваш Endpoint

Чтобы убедиться, что все работает правильно, вы можете протестировать обе AI Actions: откройте их, прокрутите вниз до раздела API Endpoint и нажмите “Test Response”:

Test Response

Шаг 3: Протестируйте нового ассистента по расписанию

Перед тестированием убедитесь, что страница AI Actions соответствует настройке, показанной ниже:

AI Actions

Теперь можно протестировать сценарий. Перейдите в AI Preview в панели Quickchat и начните новый диалог. Попробуйте написать, например:

“Я хочу забронировать демо на следующей неделе.”

Понаблюдайте, как агент:

  1. Запрашивает предпочтительные даты и часовой пояс.
  2. Получает и показывает доступные слоты из вашего календаря Cal.com.
  3. Запрашивает имя и email после выбора времени.
  4. Подтверждает, что бронирование завершено.

Устранение распространенных проблем

Возникают ошибки? Ниже несколько типичных причин и способы их исправления:

  • Получаете ошибку 403 Forbidden или 404 Not Found? Еще раз проверьте, что для действия бронирования используется метод POST. Cal.com отклонит запросы GET, отправленные на endpoint /bookings.
  • Видите ошибку 400 Bad Request о полях attendee? Это почти всегда означает, что тело JSON отформатировано неправильно. Убедитесь, что name, email и timeZone вложены в объект attendee, а не находятся на верхнем уровне.
  • Запрос не выполняется из-за отсутствующего заголовка? Каждый endpoint Cal.com v2 требует заголовок cal-api-version. Используйте 2024-09-04 для /slots и 2024-08-13 для /bookings.
  • Встречи бронируются на неверное время? Убедитесь, что время start в запросе бронирования отправляется в UTC.

Заключение

Поздравляем. Всего с помощью двух AI Actions вы превратили агента Quickchat в ассистента по расписанию. Теперь он может выполнять весь процесс бронирования, обеспечивая удобный опыт для посетителей сайта и освобождая вас от утомительного ручного согласования времени.

Это только начало. Благодаря гибкости API Cal.com и AI Actions от Quickchat вы можете добавить SMS-напоминания, последующие email и другие пользовательские автоматизации, например запись каждого бронирования в HubSpot как контакта и сделки. Возможностей много!