Предобработка сообщений
Предобработка — это этап, который выполняется до генерации ответа AI. Бот анализирует входящее сообщение и выполняет CRM-операции: классифицирует запрос, извлекает контактные данные, перемещает лид на нужный этап воронки. Это снижает галлюцинации и повышает качество ответов — AI получает уже подготовленный контекст.
Как это работает
Каждое сообщение клиента проходит через три этапа обработки:
Сообщение клиента
↓
┌─────────────────────────────────┐
│ ПРЕДОБРАБОТКА (Подготовка) │ ← Анализ + CRM-операции
│ Тип: «Только операции» │
└─────────────────────────────────┘
↓
┌─────────────────────────────────┐
│ БАЗОВАЯ ОБРАБОТКА (Генерация) │ ← AI генерирует ответ
│ Тип: «Только ответы» и др. │
└─────────────────────────────────┘
↓
┌─────────────────────────────────┐
│ ПОСТОБРАБОТКА (Валидация) │ ← Проверка + действия
│ Тип: «Только операции» │
└─────────────────────────────────┘
↓
Ответ клиентуПредобработка выполняется первой — до того, как AI начнёт генерировать ответ. Это позволяет:
- Подготовить данные для основного промпта
- Переместить лид в нужный статус до генерации
- Отфильтровать нерелевантные сообщения
- Заполнить CRM-поля данными из сообщения
Когда использовать предобработку
| Задача | Пример |
|---|---|
| Классификация запросов | Клиент спрашивает про конкретный продукт → перенос на этап этого продукта |
| Извлечение данных | Клиент назвал имя, город, размеры → запись в CRM-поля |
| Маршрутизация лидов | Клиент пишет на другом языке → перенос на воронку для этого языка |
| Фильтрация | Клиент отправил спам или нерелевантное → перенос в стоп-лист |
| Планирование встреч | Клиент просит записаться → запуск функции бронирования |
Предобработка особенно полезна, когда одна воронка обслуживает разные типы запросов. Вместо одного «умного» промпта на все случаи — предобработка классифицирует запрос, а базовая обработка работает с уже подготовленным контекстом.
Настройка предобработки
Создайте инструкцию «Только операции»
В библиотеке инструкций нажмите «+ Создать». В мастере создания:
Шаг 1 — Тип: выберите «Только операции» — этот тип использует LLM Chain (без диалоговых инструментов) и предназначен для CRM-действий.
Шаг 2 — Подход: выберите «Стандартное».
Шаг 3 — Способ: «Вручную» для полного контроля.
Для предобработки подходит только тип «Только операции». Типы «Только ответы» и «Ответы и операции» используют Conversation Chain с инструментами диалога — они предназначены для базовой обработки.
Напишите правила предобработки
В редакторе инструкции опишите условия и действия. Бот проанализирует входящее сообщение и выполнит указанные CRM-операции.
Пример — извлечение контактных данных:
Ты анализируешь входящее сообщение клиента.
Выполни действия на основе содержимого:
1) Если клиент указал своё имя:
#update_field# field_id=2888 value=[указанное имя клиента]
2) Если клиент указал свой город:
#update_field# field_id=2880 value=[указанный город клиента]
3) Если клиент указал номер телефона:
#update_field# field_id=1768 value=[указанный номер телефона]
4) Если клиент указал email:
#update_field# field_id=1769 value=[указанный email]
Во всех остальных случаях:
func_name = 'null'Пример — классификация и маршрутизация:
Проанализируй входящее сообщение клиента. Твои возможные действия:
1) Если клиент пишет о продукте А или упоминает характеристики продукта А:
#update_lead_status# lead_status=PRODUCT_A_STATUS_ID
2) Если клиент пишет о продукте Б:
#update_lead_status# lead_status=PRODUCT_B_STATUS_ID
3) Если сообщение содержит спам или нерелевантный контент:
#update_lead_status# lead_status=STOP_LIST_STATUS_ID
Во всех остальных случаях:
func_name = 'null'Перетащите инструкцию в слот «Предобработка»
На странице «Настройка воронки» выберите нужный этап (например, «Новая заявка»). В центральной части появятся три слота обработки:

Перетащите созданную инструкцию из библиотеки (справа) в слот «Предобработка» (первый слот, отмечен как «Подготовка»).
В один слот предобработки можно поместить только одну инструкцию. Если нужно выполнить несколько операций — опишите все условия и действия в одной инструкции.
Протестируйте
Нажмите «Протестировать» и отправьте сообщение, содержащее данные для извлечения. Проверьте в CRM, что:
- Статус лида изменился (если была настроена маршрутизация)
- Пользовательские поля заполнились (если было извлечение данных)
- AI-ответ сгенерирован корректно (базовая обработка получила подготовленный контекст)
Доступные CRM-операции
Смена статуса лида
#update_lead_status# lead_status=STATUS_IDПеремещает лид на другой этап воронки. STATUS_ID — идентификатор статуса из вашей CRM.
Когда использовать: маршрутизация по типу запроса, перенос в стоп-лист, продвижение по воронке.
Запись в пользовательское поле
#update_field# field_id=FIELD_ID value=ЗНАЧЕНИЕЗаписывает извлечённое из сообщения значение в пользовательское поле CRM. FIELD_ID — идентификатор поля.
Когда использовать: сохранение имени, телефона, email, города, размеров, предпочтений клиента.
Планирование встречи
*meeting* lead_status=STATUS_ID morning_time=9 evening_time=18 step=30 group_names=Название weekend=сб_вс count_overlay=1Запускает функцию бронирования с указанными параметрами расписания.
Когда использовать: клиент просит записаться на приём, консультацию, замер.
Явное «ничего не делать»
func_name = 'null'Указывает, что при несовпадении условий не нужно выполнять никаких действий. Сообщение перейдёт на этап базовой обработки без изменений.
Всегда добавляйте func_name = 'null' в конце инструкции для случаев, когда ни одно условие не подошло. Это явная инструкция «не делай ничего лишнего» — снижает риск ложных срабатываний.
Советы по написанию инструкций
Формулируйте условия чётко
Бот использует LLM для анализа — чем конкретнее условие, тем точнее результат:
❌ Если клиент хочет что-то купить → #update_lead_status# ...
✅ Если клиент спрашивает цену или говорит «хочу заказать» → #update_lead_status# ...Обрабатывайте все варианты
Перечислите все возможные исходы, включая «ничего не делать»:
1) Условие А → действие А
2) Условие Б → действие Б
3) Во всех остальных случаях → func_name = 'null'Одна инструкция — все операции этапа
Поскольку слот принимает только одну инструкцию, комбинируйте операции:
Проанализируй сообщение и выполни ВСЕ подходящие действия:
1) Если клиент указал имя:
#update_field# field_id=100 value=[имя]
2) Если клиент указал телефон:
#update_field# field_id=101 value=[телефон]
3) Если клиент просит связаться с менеджером:
#update_lead_status# lead_status=ESCALATION_STATUS_ID
Если ни одно условие не подошло:
func_name = 'null'Результат
После настройки предобработки:
- Входящие сообщения проходят анализ и классификацию до генерации ответа
- CRM-поля заполняются автоматически из содержимого сообщений
- Лиды маршрутизируются на правильные этапы воронки
- AI на этапе базовой обработки получает подготовленный контекст и отвечает точнее
Частые вопросы
Что такое предобработка в Botseller?
Предобработка — это этап обработки сообщения до генерации ответа AI. На этом этапе бот анализирует входящее сообщение и выполняет CRM-операции: классифицирует запрос, извлекает данные клиента (имя, телефон, город), перемещает лид между этапами воронки. Предобработка использует LLM Chain — отдельный вызов нейросети, который не участвует в диалоге с клиентом.
Какие типы инструкций подходят для предобработки?
Только тип «Только операции». Этот тип использует LLM Chain без инструментов диалога и предназначен исключительно для CRM-действий. Типы «Только ответы» и «Ответы и операции» используют Conversation Chain с tools — они нужны для базовой обработки (генерации ответа клиенту).
Сколько инструкций можно поместить в слот предобработки?
Одна инструкция на один слот. Если нужно выполнить несколько операций (например, извлечь имя И определить язык), опишите все условия и действия в одной инструкции с нумерованным списком.
Чем предобработка отличается от постобработки?
Предобработка выполняется ДО генерации ответа — она работает с входящим сообщением клиента. Постобработка выполняется ПОСЛЕ генерации — она анализирует весь диалог, включая ответ AI, и выполняет завершающие действия (валидация, автосмена статуса, заполнение полей). Подробнее — в разделе Постобработка ответов.
Какие CRM-операции доступны?
Основные операции: #update_lead_status# (смена статуса лида в воронке), #update_field# (запись значения в пользовательское поле CRM), *meeting* (планирование встречи с параметрами расписания). Также доступны custom JS-функции для специфических интеграций.
Что произойдёт, если предобработка не сработает?
Если ни одно условие в инструкции не совпало — бот выполняет func_name = 'null' (ничего не происходит) и передаёт сообщение на этап базовой обработки без изменений. Это безопасное поведение по умолчанию.