Схемы Что нового

Salesbot

Сценарии бота в мессенджерах: приём заявок по шагам, черновик и публикация, проверка и тест сценария, рассылка и веб-виджет на сайт.

Содержание раздела

Salesbot

Пункт меню: CRM → Salesbot (— сценарии правят чаще, чем воронки).

Обучающее видео 2:24

Карточки ботов, сценарий на холсте, настройка шага, лид в CRM, готовые сценарии и AI-помощник, проверка и тест, публикация и рассылка.

1920×1080 с озвучкой Скачать
Редактор сценария: канвас со связями и правая панель с палитрой шагов
Редактор сценария: канвас со связями и правая панель с палитрой шагов

URL: /admin/crm/bots/ (CRM → Настройки → Salesbot). Визуальный конструктор чат-сценариев для входящих каналов и веб-виджета: узлы перетаскиваются по канвасу, связи-ветки тянутся мышью от кружка-выхода к целевому узлу (живая линия за курсором, подсветка цели). Бот отвечает клиенту до AI-агента и оператора.

Как устроен редактор:

Разбор на примере: «Приём заявок СмИТ»

Бот работает в Telegram и VK и отвечает раньше AI-агента и оператора: типовые обращения он закрывает сам, а остальное передаёт людям. Ниже — весь его сценарий, четырнадцать шагов.

flowchart TD
    S["Клиент написал в Telegram или VK"] --> M1["Приветствие и меню:
Подключиться · Нет интернета ·
Баланс и оплата · Другой вопрос"] M1 -->|"Подключиться"| A1["Адрес подключения
шаг «Адрес»: подсказка и проверка"] A1 --> Q1["Как вас зовут?"] Q1 --> Q2["Телефон для связи"] Q2 --> C1{"Телефон
распознан?"} C1 -->|"нет"| Q2 C1 -->|"да"| LEAD["Лид в CRM:
сделка в воронке «Интернет-подключения»"] LEAD --> OK["«Заявка принята,
менеджер перезвонит»"] M1 -->|"Нет интернета"| W{"Рабочее время?
9:00-18:00"} W -->|"да"| H1["Передать дежурному
специалисту сейчас"] W -->|"нет"| P1["Описать проблему:
адрес и что не работает"] P1 --> H2["Заявка специалистам,
ответят с 9:00"] M1 -->|"Баланс и оплата"| PAY["Ссылка на личный кабинет"] PAY -->|"вопрос по платежу"| H3["Оператор поддержки"] PAY -->|"спасибо"| END["Конец диалога"] M1 -->|"Другой вопрос"| AI["AI-помощник:
знает тарифы и услуги"] AI -->|"не справился"| H3

Из каких шагов он собран

ШагЧто делает в этом боте
Сообщение с кнопкамиПриветствие и меню из четырёх пунктов. У кнопки есть синонимы («подключение», «интернет», «тариф») — клиент может не нажимать кнопку, а написать словами, и бот поймёт.
АдресСпрашивает адрес подключения, показывает распознанный вариант и просит подтвердить. Не понял — переспрашивает своим текстом, а не общей ошибкой.
ВопросИмя и телефон. Ответ кладётся в поле сделки, а не теряется в переписке.
УсловиеДва разных: «телефон распознан?» — иначе спросит ещё раз; «рабочее время?» — в нерабочее не обещает дежурного, а принимает заявку.
Лид в CRMСоздаёт сделку в воронке организации со всем, что собрал: адрес, имя, телефон, источник и метки кампании.
Передать человекуУводит диалог в Поддержку: дежурному сейчас или специалистам к утру.
AI-помощник«Другой вопрос» отдаётся ассистенту, который знает тарифы и услуги; не справился — зовёт оператора.
КонецЗакрывает диалог, чтобы бот не перехватывал следующее сообщение клиента.
Раздел Salesbot: список сценариев с каналами и воронками
Раздел Salesbot: сценарии, их каналы и воронки

Что важно в такой связке

Сценарий правится в редакторе и сохраняется черновиком: клиенты продолжают видеть опубликованную версию, пока её не заменят кнопкой «Опубликовать». Прежняя версия остаётся в истории — на случай отката.

Черновик и публикация

Правки не уходят клиентам в момент сохранения. «Сохранить» пишет в черновик, «Опубликовать» переносит его в живой сценарий, а прежний уходит в историю версий. В шапке горит бейдж «Черновик», пока опубликованное и черновик расходятся; «Отменить черновик» в кебаб-меню возвращает к опубликованному. Симулятор («Тест») тоже гоняет черновик — проверять можно до публикации.

История версий хранит последние 10 состояний: снимок делается перед каждым сохранением и перед откатом, поэтому вернуться можно и после самого отката.

flowchart LR
    E["Правка в редакторе"] --> D["Черновик
draft_graph"] D -->|"Тест"| SIM["Симулятор:
диалог на живом движке"] D -->|"Опубликовать"| CHK{"Проверка
сценария"} CHK -- "есть ошибки" --> D CHK -- "чисто" --> P["Опубликованный сценарий
отвечает клиентам"] P -.->|"снимок"| H["История версий
последние 10"] H -->|"откат"| D

Проверка сценария

Проверка сценария: список проблем и подсветка шагов на канвасе
Проверка сценария: список проблем и подсветка шагов на канвасе

Сломанный сценарий видит только клиент: он упирается в шаг без продолжения и остаётся без ответа. Поэтому перед публикацией сценарий проверяется, и ошибки публикацию блокируют:

УровеньЧто ловим
Ошибкашаг без продолжения · переход на несуществующий шаг · у условия заполнена не каждая ветка · кнопка никуда не ведёт · пустой квиз · нет стартового шага
Предупреждениенет ветки «другой ответ» · недостижимый шаг · пустой текст сообщения · ответ никуда не сохраняется · сделка создаётся, а телефон нигде не спрашивается

Проблемы в списке кликабельны: подсвечивают и центрируют нужный шаг на канвасе (красная рамка — ошибка, жёлтая — предупреждение).

Готовые сценарии

Галерея готовых сценариев
Галерея готовых сценариев

Кебаб → «Из шаблона»: приём заявки на подключение (адрес через DaData, контакты с проверкой, сделка и уведомление операторам), заявка на ремонт (в рабочее время сразу оператору, ночью принимает описание) и квалификация лида квизом с распределением между менеджерами. Шаблон ложится в черновик: опубликованный сценарий не меняется, пока вы не посмотрите и не опубликуете сами.

Текст шага: форматирование и превью

Панель шага: превью «как увидит клиент» и панель форматирования
Панель шага: превью «как увидит клиент» и панель форматирования

Над полем текста — панель форматирования: жирный, курсив, моноширинный, цитата, ссылка и эмодзи. Это ровно та разметка, которую понимает отправка в мессенджеры: **жирный**, *курсив*, `код`, строка с > — цитата, [текст](адрес) — ссылка.

Ссылка вставляется окном: адрес и выбор «в новой вкладке / в этом окне». Выбор действует в веб-виджете — в Telegram, VK и MAX ссылку открывает сам мессенджер.

Блок «Как увидит клиент» показывает пузырь сообщения с готовым форматированием, кнопками и вариантами квиза и обновляется на каждый ввод — текст не приходится править вслепую.

Тест сценария

Тест сценария: диалог с кнопками-подсказками
Тест сценария: диалог с кнопками-подсказками

«Тест» открывает боковую панель с диалогом на живом движке — проверяется черновик, клиенты его не видят. Под полем ввода — кнопки-подсказки: варианты, которых ждёт текущий шаг (кнопки сообщения, варианты квиза, физ/юр лицо), их видно и можно нажать, а не угадывать «1». Реплики бота показываются с форматированием. История диалога остаётся при закрытии панели, начать заново — кнопкой «Сбросить».

✨ AI-помощник. Кнопка «AI» в тулбаре: опишите словами, что должен делать бот («приём заявок: поприветствуй, спроси адрес и телефон, создай лид, поблагодари»), — AI соберёт готовый граф узлов. Результат применяется на канвасе (откат Ctrl+Z), проверьте и сохраните черновик.

AI-помощник: разбор сценария с советами и чекбоксами
AI-помощник: разбор сценария с советами и чекбоксами

Там же — «Проанализировать и дать советы»: AI читает шаги и связи и возвращает разбор — где тупик, чего не хватает, что переписать. Советы приходят списком с чекбоксами (по умолчанию отмечены все); «Применить выбранное» перестраивает сценарий с их учётом, сохраняя тексты шагов, к которым замечаний не было.

flowchart TD
    IN["Входящее сообщение
Telegram / VK / MAX / Веб-виджет"] --> HOOK{"Salesbot"} HOOK -- "активный диалог" --> RUN["следующий шаг сценария"] HOOK -- "первый контакт
(канал в автозапуске)" --> START["стартовый узел"] HOOK -- "бот не назначен /
пауза 6 ч после диалога" --> BOT["AI-агент"] BOT -- "не справился" --> TK["Тикет оператору"] START --> RUN RUN --> B1["Сообщение с кнопками
(в Telegram — настоящие inline)"] RUN --> B2["Вопрос → сохранить ответ"] RUN --> B3{"Условие: слова /
рабочее время / телефон"} RUN --> B4["Лид в CRM
в воронку бота"] RUN --> B5["Передать AI-агенту"] RUN --> B6["Оператору: тикет-сводка
собранных данных"]
УзелЧто делает
Сообщениетекст + кнопки; у кнопки — синонимы для свободного текста («подключить, интернет»); ветка «Другой ответ» ловит нераспознанное
Вопросответ сохраняется: имя / телефон / адрес / любое доп. поле
Квизнесколько вопросов одним шагом: прогресс «Вопрос 2 из 5», возврат словом «Назад», варианты — кнопками в Telegram и VK. Принимается и номер, и текст варианта, и свободный ответ
Стикерстикер в Telegram по эмодзи, номеру в наборе или file_id. ⚠ file_id уникален для каждого бота — набор запрашивается токеном отправляющего бота
Отчёт (PDF)по собранным ответам собирает документ: снимок первого экрана сайта, таблица ответов, разбор AI и план работ. Ссылка приходит клиенту и ложится примечанием в сделку
Условиеключевые слова · рабочее время (часы) · «в ответе есть телефон»; ветки Да / Нет
Действиелюбое действие автоматизаций CRM (задача, SMS, теги…)
Лид в CRMсделка из собранных ответов — в воронку и организацию бота, через единую точку приёма (дедуп, геокод, SMS-подтверждение)
Проверка ответавалидатор: телефон (нормализует в +7…) · email · число · regex; ветки «Валидно / Невалидно», при ошибке — переспрос
Распределениеназначить ответственного сделке (round-robin / случайно по логинам операторов); ставить после «Лид в CRM»
AI-агентпередача диалога AI-агенту; при сложном вопросе AI сам эскалирует оператору
Операторуэскалация: собранные данные уходят тикетом-сводкой в Поддержку
Картинкаотправить изображение по URL с подписью (поддержка {{переменных}})
Задать переменнуюсохранить значение в память сессии ({{имя}}) — используется дальше в текстах и уходит в лид
Тег сделкенавесить тег на сделку сессии (ставить после «Лид в CRM»)
ВебхукHTTP POST на внешний URL с собранными данными ({bot, session_id, deal_id, channel, collected})
Уведомить оператораTelegram-уведомление операторам с подстановкой {{переменных}} (напр. «Новый лид {{name}}, тел {{phone}}»)
Переход / Стоппрыжок на другой шаг / завершение сценария

Пример — сценарий «Приём заявок» (стартовый шаблон):

  1. Приветствие с кнопками: Подключиться · Нет интернета · Оплата и баланс · Другой вопрос.
  2. «Подключиться» → адрес → имя → телефон (условие проверяет, что это телефон) → Лид в CRM → «Заявка принята 🎉».
  3. «Нет интернета» → условие «рабочее время 9–18»: днём — живая передача дежурному, ночью — бот записывает проблему и оформляет заявку на утро.
  4. «Оплата» → ссылка на личный кабинет + кнопка «Нужен оператор».
  5. «Другой вопрос» → передача AI-агенту.

В тулбаре редактора: каналы автозапуска (Telegram/VK/MAX/Виджет), воронка для лидов, организация (multi-org: бот СмИТ не отвечает клиентам бота другой организации), тумблер «Включён» и «Тест» — симулятор диалога на живом движке, работающий и с несохранённым сценарием. После завершения диалога бот 6 часов не здоровается заново — клиент спокойно общается с AI или оператором.

Отчёт клиенту: PDF и Mini App

Узел «Отчёт (PDF)» собирает документ по собранным ответам — так работает воронка «бесплатный аудит»: клиент проходит квиз и получает разбор.

В отчёт попадают: снимок первого экрана сайта клиента, таблица его ответов, разбор AI и план работ. Шапка — из брендинга организации: логотип, название, сайт, телефон, e-mail. Рядом с PDF собирается веб-версия — адаптивная страница с темой Telegram и кнопкой «Обсудить с инженером»; в Telegram ссылка приходит кнопкой Mini App, и разбор открывается прямо в мессенджере.

flowchart TD
    Q["Квиз: ответы клиента"] --> L["Лид в CRM"]
    L --> DOC["Узел «Отчёт (PDF)»"]
    DOC --> BG["Фоновая сборка"]
    BG --> SH["Снимок сайта
сервис smit-shot"] BG --> AI["Разбор AI:
вывод, что мешает, план"] SH --> PDF["PDF (WeasyPrint)"] AI --> PDF PDF --> GCS["Файлы в облаке:
PDF + веб-версия"] GCS --> TG["Клиенту: кнопка Mini App"] GCS --> DEAL["Примечание в сделке"] TG --> ASK["«Обсудить с инженером»
→ задача-звонок ответственному"]

Почему фоном. Снимок сайта и разбор AI занимают десятки секунд. Если делать это в момент ответа, клиент ждал бы в чате, а веб-запрос успел бы отвалиться. Поэтому бот сразу отвечает «готовим», а ссылка приходит следом. Любой шаг может не получиться — отчёт всё равно уйдёт с тем, что собрал квиз.

Ссылка на отчёт живёт ограниченное время (BOT_REPORT_TTL_DAYS, 90 дней по умолчанию): в разборе — данные клиента и снимок его сайта, вечная публичная ссылка тут не годится. Просроченные отчёты убираются из облака суточной задачей.

Окно отправки

Сообщения, которые бот шлёт по своей инициативе (готовый отчёт, рассылка), вне окна 9:00–20:00 откладываются и уходят утром — очередь разбирается раз в 10 минут. Ответы на сообщения клиента окно не трогает: написал ночью — ждёт ответа ночью. Настройки: BOT_SEND_WINDOW_ENABLED, BOT_SEND_WINDOW_FROM, BOT_SEND_WINDOW_TO.

Рассылка

Панель рассылки: текст, получатели, превью и проверка на себе
Панель рассылки: текст, получатели, превью и проверка на себе

Кебаб → «Рассылка». Получатели — только те, кто сам писал этому боту: согласие берём из факта переписки, чужие списки не грузим — это уже спам, и бота за него блокируют. Панель показывает, сколько человек и по каким каналам получат сообщение.

Веб-виджет на сайт

Включите канал «Виджет» в тулбаре — бот станет доступен на внешнем сайте как чат-виджет (кнопка-пузырь в углу → окно диалога с кнопками-ответами). Кнопка «Код виджета» выдаёт готовый сниппет для вставки перед </body>:

<script src="адрес вашей установки/static/js/salesbot_widget.js"
        data-bot="3" data-title="Онлайн-консультант"
        data-color="#43b77a" async></script>

Параметры: data-title (заголовок), data-color (цвет), data-pos="left|right" (угол), data-greeting (приветствие). Виджет гоняет тот же сценарий через публичный движок /api/crm/bot/<id>/ (CORS, лимит 30 сообщений/5 мин), гость запоминается между сессиями. Соберите ответы узлом «Лид в CRM» — заявки придут в воронку бота с источником web.