Урок 15. Функции (инструменты бота): обзор
Сам ИИ умеет только писать текст. Функции дают ему «руки»: записать в календарь, выставить счёт, отправить документ, уведомить тебя. Это превращает болтливого бота в рабочий инструмент.
Цель урока
После урока ты понимаешь, что такое функция и чем она отличается от базы знаний, знаешь готовые категории (запись, оплата, уведомления, CRM, медиа) и главный принцип: ты не программируешь сценарий, а описываешь функцию словами, бот сам решает, когда её вызвать. Дальше в модуле разберём инструменты по одному.
Простыми словами
Функция это действие, которое умеет делать бот. Без функций он только разговаривает; с функциями, реально что-то делает: записывает клиента, выставляет счёт Kaspi, отправляет фото, уведомляет тебя, пишет в Google Таблицу или CRM.
Главное: ты не программируешь сценарий «если клиент сказал X, сделай Y». Ты просто описываешь функцию словами, и бот сам решает, когда её вызвать (как он думает).
📍 Где: меню проекта → «Функции». Лимит, 40 функций на проект.
Слайды урока
Непонятные слова: на пальцах
- Функция (инструмент): умение бота делать, а не только говорить. Как кнопка на пульте: «записать», «выставить счёт», «отправить фото». Нажал, сделал.
- Шаблон функции: готовая заготовка, которую ставишь за пару кликов. Как готовое блюдо из меню: не надо готовить с нуля, выбрал, и работает (запись, счёт, уведомление).
- Вебхук: способ боту «постучаться» в чужую программу через интернет и получить ответ. Пример: бот спрашивает у твоего склада «айфон есть?» и получает «да, 3 шт». Как позвонить в другой отдел и уточнить.
- «Своя интеграция по API»: функция, которую ты сам настраиваешь, чтобы бот дёргал твою систему (сайт, склад, CRM). Для тех, у кого есть свои программы. Подробно, Урок 34.
- Цепочка функций: несколько действий подряд с передачей данных. Пример: проверил свободное время → записал → уведомил тебя. Как конвейер: результат одного шага идёт в следующий.
- Секрет (ключ/токен): пароль для доступа к чужой системе. Хранится зашифрованным; сотрудник с ролью viewer его не видит. Как ключ в сейфе.
Зачем это нужно
Потому что «просто ответить» мало. Клиент хочет записаться, оплатить, получить прайс, а это действия. Функции автоматизируют рутину, которую иначе делал бы менеджер вручную.
Готовые шаблоны (проще всего)
Есть каталог готовых шаблонов, ставятся мастером за пару кликов, ничего программировать не надо:
- Google Календарь и Таблицы, движок записи (свободные окошки);
- счёт Kaspi клиенту;
- теги / пауза дожимов / стоп-диалог;
- отправка медиа;
- уведомления тебе в Telegram/email/WhatsApp;
- CRM: Bitrix24 / amoCRM / AlphaCRM.
Два режима для своих функций
- Простой, базовый вебхук (запрос к твоему адресу: GET/POST/PUT/DELETE).
- Продвинутый, полный HTTP-конструктор: авторизация (ключ/заголовки), параметры, тело с подстановкой переменных
{{...}}, обработка ответа, повторы. Если готового шаблона нет, используй «Своя интеграция по API» (детально в Уроке 34).
Пример (образовательный центр «Профи»)
Именно так настроен пример в кабинете, эти функции видно на скриншоте выше:
book_trial_lesson(Запись): на «хочу записаться на пробный по математике на завтра» бот сам проверяет Google Календарь и создаёт запись.email_confirmation(письмо), если клиент оставил email, после записи улетает подтверждение с датой и адресом.send_media(медиа): на «пришлите программу курсов» бот отправляет PDF из библиотеки.push_to_crm(CRM): создаёт сделку в amoCRM и двигает её по стадиям вслед за диалогом.
Ты нигде не писал «если клиент сказал X, сделай Y». Ты просто описал каждую функцию словами: бот вызывает их сам по смыслу разговора.
Цепочки и безопасность
- Цепочки функций: можно связать функции в последовательность (проверил → записал → уведомил), с передачей данных между шагами.
- Секреты (ключи, токены) шифруются; роль viewer функции не видит.
- Тест функции: превью запроса, проверка «живости», диагностика последней ошибки, сравнение версий.
Когда нужны / когда нет
- Нужно действие (запись, оплата, отправка файла, запись в CRM) → функция.
- Нужен просто ответ по прайсу → это база знаний, функция не нужна.
Частые ошибки
- Плохое описание функции → бот не понимает, когда её вызвать. Опиши понятно, для чего она.
- Пишут сценарии в промпте («если X, вызови Y») → не надо, бот вызывает функции сам по их описанию.
- Устаревших
http_get/http_postбольше нет, кастомный HTTP это «Своя интеграция по API».
Вопросы новичка
- Мне нужно программировать? Для готовых шаблонов, нет, ставятся мастером за пару кликов. Программирование нужно только для «Своей интеграции по API», и то это делает разработчик.
- Бот не записывает / не выставляет счёт, почему? Либо функция выключена, либо у неё нечёткое описание, и бот не понял, когда её вызвать. Опиши понятнее, для чего она.
- Как бот понимает, что пора вызвать функцию? По её описанию и смыслу разговора: сам, без сценариев. Поэтому описание функции важнее всего.
- Сколько функций можно? До 40 на проект: этого хватает с большим запасом.
- Я слышал про http_get/http_post, где они? Их больше нет. Кастомный HTTP теперь, «Своя интеграция по API» (Урок 34).
Проверь себя
- Чем функция отличается от базы знаний, когда нужна одна, а когда другая?
- Ты пишешь боту сценарий «если X, сделай Y»? Как он решает, когда вызвать функцию?
- Готовый шаблон или «Своя интеграция по API», что проще и когда выбирают второе?
Что дальше
Дальше разберём инструменты по одному, начиная с Урока 16: База знаний.



