Гайд · Чат-боты

Конструктор чат-ботов: как собрать сценарий для веб, Telegram, VK и MAX

Разбор визуального редактора Связио: 8 типов нод, переменные, вебхуки, реальные сценарии. Один и тот же бот одновременно работает на сайте, в Telegram, VK и MAX. Без кода.

18 апреля 2026 · 14 минут чтения · Полный гайд

Большинство конструкторов ботов заставляют выбирать между двумя крайностями: drag-and-drop коробочки, которые рождают очередное дерево ответов, неспособное общаться с вашими системами, — или редактор кода с ещё одним YAML-диалектом, который потом никто в команде не отредактирует. Конструктор Связио визуальный, но с «аварийным выходом» для любого серьёзного требования: валидируемый ввод, ветвление, реальные HTTP-вебхуки с маппингом ответа, переменные между шагами и передача живому оператору в любой момент.

Один сценарий работает на всех каналах: веб-виджет, Telegram-боты, сообщества VK, каналы MAX. Inline-клавиатуры рендерятся нативно под каждую платформу; на каналах без клавиатур кнопки автоматически превращаются в нумерованный текст — клиент отвечает «1» или «2».

Зачем визуальный конструктор вместо кода и дерева ответов

Сценарий читается как схема. Любой в команде понимает бота за 30 секунд — ревью сокращается с дней до минут. Края и исключения имеют своё место: петли, повторы, таймауты и передача оператору заданы явно. Упавший вебхук уходит в ветку error, невалидный ввод — на повторный вопрос, таймаут сессии — в инбокс оператора. Переменные делают бота stateful: каждая нода «Ввод» пишет переменную, каждый вебхук может смапить части ответа, а следующие ноды подставляют их: «Здравствуйте, {{name}}, ваш заказ {{order_id}} уходит завтра».

Каналы, где работает один и тот же сценарий

Веб-виджет (на всех тарифах), Telegram, VK и MAX (тариф Про). Веб-виджет использует Socket.IO; Telegram и MAX принимают inline-клавиатуры; VK использует свой формат keyboard. Движок переводит каждую ноду: buttons → inline_keyboard в Telegram, payload-клавиатура в VK, Socket.IO-событие в виджете.

Как устроен сценарий

Каждый сценарий начинается с единственной ноды «Старт». Ноды соединяются стрелками: у каждой 0/1 входящее ребро и 1+ исходящих. Ноды могут ветвиться, сливаться и зацикливаться — движок идёт по рёбрам шаг за шагом. Черновик и опубликованная версия разделены: сохранение — «Сохранить», публикация — «Опубликовать».

Конструктор чат-ботов Связио — визуальный редактор сценариев с нодами и связями

1. Нода «Сообщение»

Отправляет текст бота с подстановкой {{имя}}. Опциональная задержка перед отправкой (0–10 сек).

2. Нода «Кнопки»

Сообщение плюс inline-клавиатура; у каждой кнопки свой текст и исходящее ребро — главный инструмент ветвления. На каналах без клавиатур кнопки становятся нумерованным списком («1. Заказы 2. Поддержка 3. Вопросы»), клиент отвечает цифрой.

3. Нода «Ввод» (с валидацией)

Запрашивает свободный текст и сохраняет в переменную. Встроенная валидация трёх типов: text, email, phone. Невалидный ответ → повтор вопроса без продвижения; валидный → сохраняется в session.variables[name].

4. Нода «Условие»

Ветвление по переменным или полям профиля посетителя. Каждая ветка — набор AND-условий, проверка сверху вниз, первое совпадение выигрывает, иначе default-ветка. Операторы: равенство, неравенство, contains, starts-with, больше/меньше, boolean, regex.

5. Нода «Действие» (передача оператору, переменные)

Побочные эффекты без ввода пользователя. Пять подтипов: assign_department, assign_agent, close, set_variable, set_visitor_field. Первые три завершают сессию бота — это инструмент передачи оператору. set_visitor_field пишет в постоянный профиль (email/phone сохраняются между каналами и визитами).

6. Нода «Задержка»

Пауза заданной длительности, диапазон 0–10 сек. 300–800 мс между короткими сообщениями обычно достаточно; 2–3 сек перед «секунду, проверяю ваш заказ».

7. Нода «Вебхук» (HTTP в ваши системы)

Вызывает любой HTTPS-URL с методом, заголовками, телом и таймаутом. Ответ можно смапить в переменные сессии, а сценарий ветвится по success/error:

{
  "url": "https://api.yourshop.ru/orders/{{order_id}}",
  "method": "GET",
  "headers": {
    "Authorization": "Bearer sk_live_xxx"
  },
  "timeoutMs": 5000,
  "responseMapping": {
    "status": "data.status",
    "tracking": "data.tracking_url",
    "customer_tier": "data.customer.tier"
  }
}

После ноды доступны {{status}}, {{tracking}}, {{customer_tier}}. Защиты по умолчанию: SSRF-guard блокирует localhost и приватные подсети (10.x, 172.16/12, 192.168.x, 169.254.x), IPv6 loopback и link-local; не-HTTPS отклоняется; ответы больше 256 КБ отбрасываются в ветку error; таймаут ограничен 15 секундами.

Переменные и шаблоны

Переменные — это клей. Каждая нода «Ввод», каждое поле responseMapping вебхука и каждое действие set_variable пишут в session.variables; любое сообщение, URL и тело вебхука читают их через {{имя}}. Работает точечная нотация: {{order.tracking.url}}. Лимиты: до 100 переменных на сессию, до 2 000 символов на значение, до 500 переходов в логах аналитики.

Три рабочих сценария, которые можно скопировать

Квалификация лида для SaaS. Старт → Сообщение → Кнопки (Цены / Интеграции / Просто смотрю → intent) → Ввод (email) → Ввод (размер команды) → Условие (intent == «Цены» И size != «1» → тёплый) → Действие: assign_department(Продажи); холодных — в онбординг. Собирается за ~10 минут, работает на сайте и в Telegram.

Проверка статуса заказа для интернет-магазина. Ввод (номер заказа) → Ввод (email) → Задержка + «Проверяю…» → Вебхук GET /orders/{{order_id}} (маппинг status, tracking) → success: «Ваш заказ {{status}}. Трек: {{tracking}}»; ошибка или «Есть проблема» → assign_department(Поддержка).

Ночной бот. Запускается, когда все операторы оффлайн. Собирает email и вопрос, пишет в профиль и через вебхук отправляет сводку в Telegram-канал утренней смены.

Передача оператору и контроль сессии

За оператором всегда последнее слово: баннер «Бот ведёт диалог» и кнопка «Остановить» → сессия переходит в HANDED_OFF, ожидающие клавиатуры убираются, собранные переменные остаются видны оператору. Под капотом: lock в Redis сериализует одновременные клики; rate-limit 30 событий/мин на сессию; cron-обход раз в минуту закрывает зависшие по таймауту сессии.

Тариф и лимиты

Чат-боты — функция тарифа Про. В него также входят ИИ-ассистент, триггеры и автосообщения, отделы, аналитика, безлимит операторов, 10 Telegram-ботов, VK, MAX и White Label. На всех платных тарифах — 7-дневный триал без карты. Смотреть тарифы · страница конструктора.

Вопросы

Частые вопросы

Соберите первый сценарий сегодня

7 дней тарифа Про без карты. Все типы нод, все каналы.