AI-бот поддержки в Make полезен не тогда, когда он просто умеет отвечать «как ChatGPT», а когда он встроен в реальный процесс: принимает обращение из сайта или мессенджера, находит подтверждённую информацию в базе знаний, формирует ответ, при необходимости получает данные из внешнего API и вовремя передаёт диалог оператору.
Ключевая задача здесь — не дать языковой модели придумывать факты о тарифах, заказах, гарантиях или правилах компании. Make удобно использовать как оркестратор: он связывает канал общения, поиск по базе знаний, LLM, CRM/helpdesk и служебные уведомления, а бизнес-правила остаются проверяемыми.
Какие задачи решает AI-бот поддержки в Make
Такой сценарий подходит для повторяющихся обращений, где ответ можно собрать из утверждённых источников и понятных правил. Например:
- ответить на вопрос по доставке, оплате, гарантии или условиям услуги;
- найти инструкцию или нужный раздел базы знаний;
- уточнить номер заказа и запросить его статус через API;
- классифицировать обращение и назначить отдел или очередь;
- собрать недостающие данные перед передачей менеджеру;
- сформировать краткое резюме диалога для оператора;
- остановить автоматический ответ и передать обращение человеку по заданным условиям.
Если процесс затрагивает возврат денег, изменение прав доступа, удаление данных или другое критичное действие, LLM не должна самостоятельно принимать решение. Make может распознать намерение, но само действие лучше пропускать через отдельную проверку, подтверждение пользователя или оператора.
Рабочая схема: webhook → база знаний → LLM → ответ или оператор
- Входящий канал. Сайт, Telegram, helpdesk или другой сервис отправляет событие в webhook Make.
- Нормализация. Сценарий выделяет message_id, conversation_id, текст, контакт и технические поля.
- Поиск контекста. По вопросу клиента выполняется поиск в базе знаний или внешнем retrieval API.
- LLM. Модель получает вопрос и только найденный релевантный контекст, а затем формирует структурированный результат.
- Проверка правил. Router/filters Make решают, можно ли отвечать автоматически или нужен оператор.
- Действие. Ответ отправляется в канал, либо создаётся/обновляется обращение в CRM или helpdesk.
- Контроль. Сохраняются идентификаторы события и результата, чтобы повторный webhook не породил дубль.
Make обрабатывает webhook-события как instant trigger и по умолчанию может выполнять их параллельно. Если порядок сообщений критичен, в настройках сценария есть режим Process data in order. Это важно для диалога: два быстрых сообщения пользователя не должны случайно поменяться местами. Подробнее — в официальных настройках сценария Make.
База знаний должна быть источником фактов, а не частью prompt вручную
Для небольшого FAQ можно передавать в LLM заранее подготовленный блок данных. Но когда документов десятки или сотни, постоянно отправлять весь массив в prompt неэффективно. Практичнее использовать retrieval: сначала найти несколько подходящих фрагментов, затем передать модели только их вместе с вопросом клиента.
База знаний может находиться в CMS, helpdesk, собственной БД, поисковом сервисе или vector store. Например, OpenAI описывает vector stores как механизм семантического поиска для Retrieval API и инструмента file search. Важно не конкретное хранилище, а разделение процесса на два шага: найти подтверждённый контекст и только потом сформировать ответ. Официальная справка: OpenAI Vector Stores.
Для коммерческого бота у каждого фрагмента желательно хранить метаданные: документ, раздел, язык, дату обновления, тип клиента или продукта. Тогда Make сможет отсеять неподходящие материалы ещё до обращения к LLM.
Что передавать модели
Prompt лучше собирать из отдельных логических частей:
- роль и ограничения бота;
- текст текущего обращения;
- найденный контекст из базы знаний;
- необходимые данные из CRM/API;
- формат ответа, который должен вернуть AI;
- правила эскалации оператору.
Не стоит помещать в prompt API-ключи, служебные токены, пароли или данные, которые не нужны для конкретного ответа. Если боту требуется статус заказа, передавайте минимально необходимый результат API, а не весь объект клиента.
Пример полезного контракта между LLM и Make:
{
"answer": "Текст ответа клиенту",
"needs_human": false,
"reason": "knowledge_base_match",
"topic": "delivery",
"source_ids": ["shipping-terms"]
}
Такой формат удобнее свободного текста: Make может проверить needs_human, разрешённые значения topic и наличие источника до отправки сообщения. Для API OpenAI предпочтителен структурированный вывод по JSON Schema, когда выбранная модель его поддерживает.
Подключение OpenAI или другой LLM в Make
В Make есть официальное приложение OpenAI с модулями для текстовых запросов, файлов, Responses и других операций. Для нестандартного endpoint можно использовать HTTP-модуль и вызвать API напрямую. Это позволяет не привязывать архитектуру бота к одному конкретному AI-провайдеру.
Официальная документация приложения: OpenAI в Make. При проектировании лучше хранить модель и параметры как настройки сценария, а не зашивать их в десятки веток. Тогда смена модели или лимитов не потребует переписывать всю автоматизацию.
Внешние API: где AI заканчивается и начинается бизнес-логика
База знаний отвечает на справочные вопросы, но поддержке часто нужны актуальные данные: статус заказа, баланс, запись на услугу, доступность товара, состояние заявки. Такие сведения следует получать из исходной системы через API, а не просить модель «вспомнить» их.
Практический порядок выглядит так:
- LLM или обычные правила определяют тип запроса.
- Make проверяет, какие поля нужны для этого запроса.
- При необходимости сценарий просит клиента уточнить номер заказа или другой идентификатор.
- Make обращается к внешнему API с технической авторизацией.
- Ответ API валидируется.
- В LLM передаётся только та часть результата, которая нужна для понятного ответа человеку.
Особенно важно отделять операции чтения от операций изменения. Получить статус заказа можно автоматически после проверки клиента. Отмена, возврат или смена реквизитов уже требуют более строгой политики.
Когда бот обязан передать диалог оператору
Human handoff — не аварийная кнопка, а штатная ветка сценария. Условия эскалации лучше определить заранее, а не оставлять решение на усмотрение модели.
- в базе знаний не найден подтверждённый источник;
- найденные документы противоречат друг другу;
- клиент прямо просит человека;
- нужно выполнить действие, требующее ручного подтверждения;
- внешний API недоступен и нельзя дать актуальный ответ;
- обращение относится к теме, которую компания запретила обрабатывать автоматически;
- после уточняющего вопроса данных всё ещё недостаточно.
При передаче оператору сценарий может отправить не всю техническую историю, а компактный пакет: контакт, канал, тема, краткое резюме, последние сообщения, найденные источники, уже проверенные данные и причина эскалации. Это сокращает повторные вопросы клиенту.
Webhook и порядок сообщений
Если канал поддерживает webhooks, это обычно удобнее постоянного опроса API. Например, Telegram Bot API позволяет настроить HTTPS webhook для получения обновлений и передавать secret_token; тогда Telegram добавляет заголовок X-Telegram-Bot-Api-Secret-Token, который можно использовать для проверки источника запроса. Официальная документация: Telegram Bot API — setWebhook.
Для любого канала полезно сохранять уникальный ID входящего события. Если сервис повторит webhook после сетевой ошибки, сценарий должен определить, что такое сообщение уже обработано, и не создавать второй тикет или второй ответ.
Как не потерять обращение при сбое
Внешний API может временно вернуть rate limit, connection error или другой сбой. Поэтому production-сценарий должен иметь понятное поведение не только на «зелёной» ветке.
- включить хранение incomplete executions там, где потеря обращения недопустима;
- использовать retry для временных ошибок, а не для некорректных данных;
- отделить технический сбой от бизнес-ошибки;
- уведомлять ответственного, если автоматическое восстановление не помогло;
- не отправлять клиенту успешный ответ до подтверждения критичной операции внешней системой.
Make документирует incomplete executions и Retry error handler как штатные механизмы восстановления. См. Retry error handler и Scenario settings.
Контекст диалога без бесконечной истории
Не обязательно каждый раз отправлять модели всю переписку. Удобнее хранить отдельно:
- последние несколько сообщений, необходимых для текущей реплики;
- структурированное состояние диалога: тема, заказ, продукт, язык, этап;
- краткое резюме старой части разговора;
- идентификаторы клиента и тикета;
- ссылки на использованные документы базы знаний.
Так проще контролировать объём данных и понимать, почему бот дал конкретный ответ. При смене оператора или повторном обращении состояние можно восстановить без передачи в модель всего архива.
Безопасность и персональные данные
Чат поддержки почти всегда содержит пользовательские данные. Поэтому в Make имеет смысл заранее решить, что действительно нужно сохранять в истории выполнения. В настройках сценария есть опция Keep data confidential: при её включении Make не сохраняет обработанный payload в execution logs, хотя это ограничивает возможности последующей диагностики. Выбор зависит от процесса и требований к данным.
API-ключи следует хранить в connections или другом защищённом механизме, а не в текстовых полях prompt. Для webhook вход должен иметь проверяемый секрет или подпись, если исходный сервис это поддерживает. Доступ к CRM/API лучше выдавать с минимально необходимыми правами.
Практический план внедрения
- Собрать реальные вопросы. Выделить 20–50 типовых тем без попытки автоматизировать всё сразу.
- Определить источники истины. Какие документы, разделы сайта и API считаются актуальными.
- Разделить справку и действия. Ответ по базе знаний — одна ветка, изменение данных — отдельная.
- Сделать входной webhook. Зафиксировать event_id, conversation_id и канал.
- Подключить retrieval. Возвращать в LLM только релевантные фрагменты с source_id.
- Задать структурированный результат. Ответ, тема, причина и признак handoff.
- Настроить оператора. Определить, куда уходит тикет и когда бот прекращает отвечать.
- Добавить idempotency и ошибки. Проверить повтор webhook, timeout, 429 и недоступность API.
- Протестировать отрицательные сценарии. Неизвестный вопрос, противоречивые данные, пустой поиск, запрос критичного действия.
- Запускать поэтапно. Сначала ограниченный набор тем, затем расширять базу знаний по фактическим обращениям.
Когда Make достаточно, а когда нужен отдельный backend
Make хорошо подходит, когда бот связывает несколько SaaS-сервисов, нагрузка предсказуема, а сценарий удобно поддерживать визуально. Для сайта, Telegram, CRM, helpdesk и AI API это часто позволяет быстро собрать рабочую интеграцию.
Отдельный backend становится полезнее, если требуется большой собственный retrieval-контур, сложная авторизация, высокая параллельность, низкая задержка в реальном времени, длинные транзакции или много внутреннего состояния. При этом Make можно оставить для уведомлений, CRM, документов и вторичных автоматизаций.
Если уже есть сайт или CRM и нужно понять, где провести эту границу, можно начать с карты процесса. На A.S Groups есть отдельные страницы про автоматизацию бизнес-процессов, AI-автоматизацию бизнеса и интеграцию WordPress с API.
Частые ошибки
- Отвечать без источника. Модель знает общий интернет-контекст, но не обязана знать актуальные правила вашей компании.
- Смешивать справку и изменение данных. Ответ на FAQ и возврат денег не должны иметь одинаковый уровень доступа.
- Не учитывать повтор webhook. Это приводит к дублям тикетов и сообщений.
- Не проектировать handoff. Тогда оператор получает клиента слишком поздно или вообще без контекста.
- Хранить секреты в prompt. Модель не должна видеть то, что не требуется для ответа.
- Отправлять всю историю диалога бесконечно. Лучше хранить состояние отдельно и передавать только нужный контекст.
FAQ
Можно ли сделать AI-бота поддержки в Make без отдельного сервера?
Да, если база знаний и внешние системы доступны через готовые приложения или API, а логика укладывается в сценарии Make. Для сложного retrieval, высокой нагрузки или собственной авторизации отдельный backend может быть оправдан.
Где хранить базу знаний для AI-бота?
Это зависит от объёма и текущей инфраструктуры: CMS, helpdesk, база данных, поисковый сервис или vector store. Важно, чтобы бот получал актуальные фрагменты из контролируемого источника, а не отвечал только из общих знаний модели.
Можно ли подключить Telegram, сайт и CRM к одному сценарию?
Можно, но лучше нормализовать события каналов в общий формат, а отправку ответа разделить по веткам. Тогда логика поиска и эскалации остаётся общей, а особенности каналов изолированы.
Как бот понимает, когда нужен оператор?
Условия задаются правилами сценария: отсутствие подтверждённого источника, запрос клиента, критичное действие, ошибка API, запрещённая тема или недостаток данных. Не стоит оставлять это решение только на свободное усмотрение LLM.
Можно ли использовать не OpenAI?
Да. Make может вызывать готовые AI-приложения или внешние HTTP API. Архитектуру лучше строить так, чтобы канал, retrieval, модель и бизнес-действия были отдельными слоями.
Официальные источники
- Make — Scenario settings
- Make — Retry error handler
- Make — OpenAI app documentation
- OpenAI — Vector Stores API
- Telegram Bot API — setWebhook
Что прислать для оценки
Для оценки AI-бота поддержки достаточно описать канал общения, где сейчас хранится база знаний, какие CRM/helpdesk/API уже используются и какие действия бот должен выполнять сам. По этим вводным можно разделить сценарий на безопасные автоматические ответы, запросы к внешним системам и обязательную передачу оператору.
Написать A.S Groups — можно прислать текущую схему процесса или просто несколько типовых обращений клиентов.
Обсуждение
Вопросы и комментарии
Можно уточнить детали статьи или поделиться своим опытом. Первый комментарий проходит проверку.