Типы блоков в конструкторе диалогов
В платформе "Диалог" есть следующие типы блоков, необходимые для создания сценария любой сложности. Рассмотрим их в назывном порядке.
💡У каждого блока сразу под полем «Заголовок блока» есть поле «Название контрольной точки» ⓵ с кнопкой ✕ для очистки. Если заполнить его, платформа зафиксирует прохождение сценария через этот блок как достижение контрольной точки с этим названием — результат смотрите в аналитике обзвона/диалога («Список диалогов»).
|
Название блока |
Описание |
Вид |
|
Начать сценарий |
Инициирует начало диалога и принимает на вход переданные параметры (не обязательно). Например, ФИО абонента |
|
|
Завершить сценарий |
Переводит звонок на оператора ИЛИ завершает звонок |
|
|
Завершить и переадресовать |
Завершает сценарий и переадресовывает звонок на выбранный номер |
|
|
Диалог с LLM |
Блок, в котором LLM ведёт диалог с абонентом по заданным роли, задаче и контексту. Блок может завершить работу при выполнении одного из настроенных условий или после одного ответа абонента. При выходе LLM может записать результаты диалога в переменные сценария. |
|
|
Озвучить текст |
Блок, которые озвучивает переданный в него текст |
|
|
Воспроизвести аудио |
Блок, который воспроизводит загруженное в него аудио |
|
|
Обработать ответ |
Обрабатывает ответы пользователей и в зависимости от ответа перенаправляет диалог по нужной ветке |
|
|
Выполнить SQL-запрос |
Отправляет запрос в базу данных и принимает вернувшиеся данные |
|
|
Выполнить HTTP-запрос |
Отправляет HTTP-запрос и принимает вернувшиеся данные |
|
|
Выполнить Python скрипт |
Выполняет пользовательский Python-скрипт для обработки данных сценария |
|
|
Заполнить переменные с LLM |
Используется для того, чтобы LLM (большая языковая модель) автоматически заполнила указанные переменные на основании контекста всего диалога по описанию этих переменных. Этот блок может быть полезен, если нужно извлечь и структурировать данные, которые абонент упомянул в свободной форме. |
|
|
Изменить переменную |
Присваивает переменной любое значение, в том числе значение другой переменной |
|
|
Сравнить переменные |
Сравнивает значение двух переменных с помощью логических операторов (=, >, <) И если условие пройдено перенаправляет диалог по нужной ветке |
|
|
Пройти по случайной ветке |
Случайным образом определяет по какой ветке пойдет сценарий (вариант 1 ИЛИ вариант 2) |
|
|
Поставить на удержание |
Позволяет поставить звонок на удержание и подождать ответа абонента (например, если абонент выполняет перезагрузку роутера) |
|
|
Отправить в телеграм |
Отправляет сообщение в Telegram — через системного бота платформы или собственного |
|
|
Перенаправить и вернуться |
Передаёт диалог в другой проект платформы с возможностью вернуться в исходный сценарий |
|
|
Пустой блок |
Служит для удобства создания сценария, трансформируется в любой блок |
Список со всеми блоками можно увидеть, нажав ПКМ (правой кнопкой мыши) по свободному участку поля в конструкторе.
Описание работы блоков
Блок «Начать сценарий»
Блок «Начать сценарий»
При создании нового сценария данный блок создается по умолчанию.
|
№ |
Блок «Завершить сценарий»
Блок «Завершить сценарий»
Завершающий блок обязателен для работы сценария. Для завершения сценария используйте блок «Завершить сценарий» или «Завершить и переадресовать»
|
№ |
Действие |
Скрин |
|
1 |
Чтобы создать новый блок: Нажмите ПКМ по полотну и в появившемся списке выберите блок «Завершить сценарий» |
|
|
2 |
В боковой панели справа откроются свойства блока. У нас есть четыре типа завершения сценария: 1 – Положить трубку. Звонок просто завершится со стороны голосового ассистента 2 – Перевести на оператора. Звонок будет переведен на оператора 3 – Перенаправление. Диалог будет перенаправлен в другой сценарий платформы "Диалог" |
|
|
3 |
Выбираем нужный тип и нажимаем на кнопку «Сохранить изменения», если изменения были внесены |
Блок «Завершить и переадресовать»
Блок «Завершить и переадресовать»
|
№ |
Действие |
Скрин |
|
1 |
Чтобы создать новый блок: Нажмите ПКМ по полотну и в появившемся списке выберите блок «Завершить и переадресовать» |
|
|
2 |
В боковой панели справа откроются свойства блока. В поле «Номер для переадресации» выберите номер из списка добавленных в проект (номера, разрешённые для переадресации, настраиваются в разделе «SIP-транки») |
|
|
3 |
Если нужного номера нет в списке — нажмите «Хотите переадресовать на другой номер? Ввести номер», выберите SIP-транк и введите номер вручную |
|
|
4 |
Нажмите «Сохранить изменения» |
Дополнительные свойства:
- 1. Добавление контрольной точки.
- 2. Быстрая кнопка «Добавить номер в проект» прямо из свойств блока.
Блок «Диалог с LLM»
Это краткая инструкция по настройке блока «Диалог с LLM». Подробное описание всех настроек, примеры промптов и рекомендации по тестированию смотрите в полной инструкции.
Блок «Диалог с LLM»
Блок позволяет большой языковой модели вести диалог с абонентом по заданным роли, задаче и контексту. LLM самостоятельно формулирует реплики, задаёт уточняющие вопросы и завершает работу блока при выполнении одного из настроенных условий.
Для каждого условия создаётся отдельный выход. При выходе модель может записать полученные во время разговора данные в переменные сценария.
Краткая настройка блока
Настраивайте блок, начиная с ожидаемого результата диалога, а не с первого поля в панели свойств.
-
Определите результаты диалога.
Решите, при каких результатах блок должен завершить работу. Например: тема обращения определена, запись подтверждена, абонент отказался. -
Добавьте условия для выхода.
Для каждого результата укажите короткое название и критерии, по которым LLM должна понять, что условие выполнено. -
Добавьте переменные.
Выберите данные, которые модель должна сохранить при выполнении каждого условия. Для переменных задайте понятные описания и допустимые значения, если их набор ограничен. -
Заполните промпт.
-
Задача — что модель должна выяснить или озвучить — на основании этого модель определяет, какие вопросы задать абоненту.
-
Контекст — какие данные и обстоятельства учитывать.
-
Роль — от чьего имени отвечает модель и каких правил общения придерживается.
-
-
При необходимости подключите базу знаний.
Выберите знание, в контексте укажите, как модель должна использовать найденную информацию. -
Выберите модель.
В дополнительных настройках можно выбрать модель (например, Qwen 3, Qwen 3.5 или другую доступную) и изменить параметры генерации ответа. Разница между моделями описана на странице расширенных инструкций по настройке блока -
Соедините выходы со следующими блоками и сохраните изменения.
Дополнительный выход после одного ответа
При необходимости включите опцию «Выйти после одного ответа».
Сначала платформа проверит все заданные условия. Если ни одно из них не выполнено, сценарий продолжится по дополнительному выходу. По этой ветке можно проверить или обработать ответ в других блоках, а затем вернуться в блок «Диалог с LLM» и продолжить разговор.
Рекомендации
-
Один блок должен решать одну конкретную задачу.
-
Сначала настраивайте условия для выхода, затем задачу.
-
Передавайте модели только необходимый контекст.
-
Важные сведения из предыдущих этапов сохраняйте в переменные.
-
Не разрешайте LLM сообщать о выполнении действия, пока соответствующий блок сценария фактически его не выполнил.
-
Перед публикацией проверьте все условия, переменные и ветки во вкладке «Проверка» и с помощью тестовых звонков.
Блок «Озвучить текст»
Блок «Озвучить текст»
В блоке «Озвучить текст» мы пишем текст, который голосовой ассистент озвучит во время разговора.
Начнем редактирование сценария с добавления блока «Озвучить текст». Для этого:
|
Нажмите ПКМ по полотну и в появившемся списке выберите блок «Озвучить текст» |
|
Введите текст для озвучивания голосовым ассистентом в поле «Текст для озвучивания»
Необязательно: чтобы прослушать текст, можно нажать на кнопку «Синтезировать», а затем на значок плеера в появившейся ниже аудиозаписи |
|
Нажмите на кнопку «Сохранить изменения» |
Дополнительные свойства блока «Озвучить текст»
|
Элементы |
Блок «Воспроизвести аудио»
Блок «Воспроизвести аудио»
В блоке «Воспроизвести аудио» мы загружаем аудиосообщение для воспроизведения во время разговора.
|
Нажмите ПКМ по полотну и в появившемся списке выберите блок «Воспроизвести аудио» |
|
Нажмите «Выбрать аудио» и загрузите файл. После загрузки рядом появится плеер для прослушивания |
|
Необязательно: заполните поле «Текст аудиозаписи». Здесь можно написать текст, который будет воспроизводится, аналогично блоку «Озвучить текст» |
|
Нажмите на кнопку «Сохранить изменения» |
Дополнительные свойства блока «Воспроизвести аудио»
| 1. Добавление цели на блок для отображения его в аналитике | |
| 2. Загрузка аудиофайла через «Выбрать аудио» — рядом появляется плеер для прослушивания загруженного файла | |
| 3. Добавление альтернативного варианта аудио. При прохождении диалога блок будет случайным образом воспроизводить один из загруженных вариантов | |
| 4-6. Выберите один из трёх вариантов — одновременно может быть выбран только один: |
|
| 4. «Объединить со следующим блоком» — объединяет содержимое этого блока выдачи ответа со следующим блоком выдачи ответа (озвучить текст или воспроизвести аудио). Объединённое содержимое будет озвучено в том блоке выдачи ответа, где эта опция не включена. В нём же обработается ответ абонента. Это удобно, когда нужно воспроизвести содержимое нескольких блоков выдачи ответа без пауз и показать в расшифровке единой фразой ассистента. | |
| 5. «Не обрабатывать ответ абонента» — содержимое будет озвучено, и сценарий продолжит работу без ожидания ответа. Это удобно, например, когда нужно сообщить абоненту о необходимости подождать из-за обработки больших объёмов данных или когда ответ абонента неважен. | |
| 6. «Обрабатывать перебивания» — позволяет автоматически остановить воспроизведение содержимого блока и обработать ответ абонента, если он произнёс что-то в момент воспроизведения. |
Блок «Обработать ответ»
Блок «Обработать ответ»
Блок «Обработать ответ» обрабатывает ответы абонента на вопросы и в зависимости от ответа ведет диалог по нужной ветке сценарии. Например, если ответ «да», то по одной ветке, если «нет», то по другой.
|
№ |
Действие |
Скрин |
|
1 |
Нажмите ПКМ по полотну и в появившемся списке выберите блок «Обработать ответ» |
|
|
2 |
В боковом меню нажмите на кнопку «Добавить пользовательский интент» |
|
|
3 |
В открывшемся модальном окне вы можете создать новый интент для добавления в блок или использовать существующий общедоступный или шаблонный интент. Подробнее о добавлении интента на странице «Добавление интента в блок» |
|
|
4 |
Вы можете отредактировать добавленный в блок интент, кликнув на иконку карандаша справа от названия добавленного интента.
Для созданных интентов с нуля (не на основе другого интента), это сделать необходимо, потому что именно ключевые фразы влияют на попадание/не попадание ответа под интент |
|
|
4.1 |
В открывшемся окне редактирования можно добавить/удалить/отредактировать ключевые и исключающие фразы, протестировать интент, изменить название
|
|
|
4.2 |
Также вы можете изменить порядок добавленных интентов стрелками слева от названия интентов. Ответ абонента отнесется к тому интенту, с ключевыми словами которого произойдет совпадения первым, поэтому очередность важна.
Для удаления интента кликните на иконку крестика справа от названия интента. |
|
|
5 |
После добавления нужных интентов, можете протестировать блок, чтобы проверить на тестовых фразах, как он будет отрабатывать с текущими настройками
|
|
|
6 |
Для удобства редактирования блока можете перейти на отдельную страницу «Настройка интентов в блоке», кликнув на кнопку «Открыть страницу настройки блока». Инструкция по работе с этой страницей здесь. |
|
|
7 |
Не забудьте сохранить изменения при редактировании блока в редакторе сценариев. |
|
|
8 |
После сохранения настроек добавленные интенты отобразятся в карточке блока в рабочем пространстве. Для каждого интента будут добавлены исходящие порты, из которых необходимо вывести связи к другим блокам. |
Дополнительные свойства блока «Обработать ответ»
|
Описание |
Элементы |
|
1. Добавление цели на блок для отображения его в аналитике
2. Добавление системного интента: «Молчание по умолчанию» проведет по определенной ветке в случае молчания абонента. 3-4. Определение количества переспросов и снятие ограничения на количество переспросов. То есть определение, сколько раз робот будет переспрашивать абонента, если его вариант не попадает под добавленные интенты (варианты ответов). Например, есть выставлено 2 повтора: Р: Вы придете? Ч: Что-что? Р: Вы придете? Ч: Хммм Р: Вы придете? Ч: бебебе Р: Переходит к следующему блоку 5. Превышен лимит — это когда робот повторил вопрос заданное количество раз, но не получил нужного ответа. Далее он отправит диалог из варианта «Превышен лимит» |
Блок «Выполнить SQL-запрос»
Блок «Выполнить SQL-запрос»
Блок «Выполнить SQL-запрос» обрабатывает специальные скрипты для обращения и взаимодействия с базами данных.
|
№ |
Действие |
Скрин |
|
1 |
Нажмите ПКМ по полотну и в появившемся списке выберите блок «Выполнить SQL-запрос» |
|
|
2 |
Выберите ранее созданный запрос из списка, либо нажмите «Создать SQL Запрос», чтобы создать его прямо отсюда |
|
|
3 |
В разделе «Входные параметры» выберите переменную сценария для каждого параметра запроса |
|
|
4 |
На вкладке «Результаты запроса» выберите/создайте переменные, в которые запишутся возвращённые значения |
|
|
5 |
Сохраните изменения |
Дополнительные свойства блока «Выполнить SQL-запрос»
Блок «Выполнить HTTP-запрос»
Блок «Выполнить HTTP-запрос»
Блок «Выполнить HTTP-запрос» обрабатывает специальные скрипты для взаимодействия с данными, которые находятся вне платформы, например, для обращения к CRM-системе.
|
№ |
Действие |
Скрин |
|
1 |
Нажмите ПКМ по полотну и в появившемся списке выберите блок «Выполнить HTTP-запрос» |
|
|
2 |
Выберите ранее созданный запрос из списка, либо нажмите «Создать HTTP-запрос», чтобы создать его прямо отсюда |
|
|
3 |
В разделе «Входные параметры» выберите переменную сценария для каждого параметра запроса |
|
|
4 |
На вкладке «Результаты запроса» выберите/создайте переменные, в которые запишутся возвращённые значения |
|
|
5 |
Сохраните изменения |
Дополнительные свойства блока «Выполнить HTTP-запрос»
Блок «Выполнить Python скрипт»
Блок «Выполнить Python скрипт»
Блок «Выполнить Python скрипт» позволяет выполнить требующиеся команды, посредством написания специального python-кода для выполнения нужных операций.
|
№ |
Действие |
Скрин |
|
1 |
Нажмите ПКМ по полотну и в появившемся списке выберите блок «Выполнить Python скрипт» |
|
|
2 |
Нажмите «Открыть редактор скрипта», чтобы написать логику на Python ( |
|
|
2.1 |
Откроется тот самый редактор скрипта, позволяющий написать код |
|
|
3 |
Задайте «Лимит времени ожидания ответа»; при необходимости включите «Добавить выход из блока в случае превышения лимита времени» |
|
|
4 |
На вкладках «Входные параметры» и «Результаты» настройте, какие данные передаются в скрипт и что он возвращает в переменные сценария |
|
|
5 |
Нажмите «Запустить скрипт» в редакторе, чтобы проверить результат и логи выполнения тут же |
|
|
6 |
Не забудьте сохранить изменения при редактировании блока в редакторе сценариев. |
|
|
7 |
Отдельно: кнопка «AI» в редакторе скрипта открывает чат с ИИ-ассистентом, который напишет скрипт по текстовому описанию задачи. |
Блок «Заполнить переменные с LLM»
Блок «Заполнить переменные с LLM»
Блок «Заполнить переменные с LLM» используется для того, чтобы LLM (большая языковая модель) автоматически заполнила указанные переменные на основании контекста диалога и описания этих переменных. Этот блок может быть полезен, если нужно извлечь и структурировать данные, которые абонент упомянул в свободной форме.
Особенности блока
-
Переменные: пользователь вручную выбирает переменные, которые необходимо заполнить. Каждая переменная может быть:
-
Обязательной — рекомендуется заполнить, но не гарантируется (см. ниже);
-
Необязательной — может остаться пустой.
-
⚠️ Важно: на текущий момент, из-за ограничений работы LLM, даже если переменная отмечена как обязательная, это не гарантирует её заполнение перед выходом из блока. Модель постарается её заполнить, но может не успеть или не найти нужную информацию в контексте.
Как работает заполнение
LLM использует накопленный контекст всего диалога и описание переменных, чтобы попытаться:
-
определить значение переменной;
-
выбрать подходящее из допустимых значений (если они заданы);
-
внести значение в переменную перед переходом к следующему блоку.
Настройка переменных
В блоке можно:
-
выбрать переменную из списка созданных в сценарии;
-
задать флаг «Обязательная» — LLM постарается обязательно заполнить её;
-
при необходимости — задать или изменить описание переменной (например, «город проживания абонента»);
-
задать список допустимых значений (например, сезоны года или названия городов или темы обращений для дальнейшей обработки конкретных тем).
Команда для LLM
Промт, который используется для заполнения переменных, можно изменить через кнопку «Изменить команду для LLM». Но мы не рекомендуем делать этого. Сейчас в блоке оптимальный промт для качественного выполнения задачи блока.
Рекомендации
-
Добавляйте только те переменные, которые реально могут быть распознаны на текущем этапе диалога.
-
Старайтесь писать лаконичные, но точные описания переменных.
-
Если есть список допустимых значений, заполняйте его — это повысит точность распознавания.
Блок особенно полезен после блока «Диалог с LLM», когда модель уже взаимодействовала с абонентом и получила достаточно контекста.
Блок «Изменить переменную»
Блок «Изменить переменную»
Используется для изменения значений переменных в сценарии
|
Действие |
|
Нажмите ПКМ по полотну и в появившемся списке выберите блок «Изменить переменную» |
|
В боковом меню выберите переменную, которой хотите присвоить новое значение, и в поле «Значение переменной» введите новое значение. Кнопкой «Добавить переменную для изменения» можно присвоить значения нескольким переменным в одном блоке. Как создать переменную, читайте в разделе «Работа с переменными» |
Системные переменные
{{serv__request_text}} – текст, который озвучил абонент
Блок «Сравнить переменные»
Блок «Сравнить переменные»
Блок «Сравнить переменные» позволяет сравнивать одну переменную с другой с помощью логических операторов: =, >, <, ≥, ≤, ≠
В зависимости от выполнения условия сценарий идет по одной или другой ветке.
|
Нажмите ПКМ по полотну и в появившемся списке выберите блок «Сравнить переменные» |
|
В боковом меню в поле Переменная 1 выберите первую переменную, которую хотите сравнить Как создать переменную, читайте в разделе «Работа с переменными» |
|
Затем выберите логический оператор и вторую переменную для сравнения |
|
Кликните на кнопку «Сохранить изменения». Вы получите блок следующего вида Если переменная 1 будет, например, больше переменной 2, то условие выполнится и сценарий пойдет из точки «Условие 1». Если не выполнится, то диалог выйдет из точки «Не пройдено» |
Дополнительные свойства блока «Сравнить переменные»
Блок «Пройти по случайной ветке»
Блок «Пройти по случайной ветке»
Блок «Пройти по случайной ветке» позволяет случайным образом определить и пустить сценарий по разным веткам (связям), в зависимости от их количества.
|
Нажмите ПКМ по полотну и в появившемся списке выберите блок «Пройти по случайной ветке» |
| Задайте «Количество исходящих связей» — число вариантов веток (не ограничено двумя) |
|
Сохраните изменения — на блоке появится соответствующее число исходов «Вариант 1», «Вариант 2» и т.д. |
Блок «Поставить на удержание»
Блок «Поставить на удержание»
Блок ставит звонок на удержание и ждёт ответа абонента заданное время.
|
№ |
Действие |
Скрин |
|
1 |
Чтобы создать новый блок: Нажмите ПКМ по полотну и в появившемся списке выберите блок «Поставить на удержание» |
|
|
2 |
В свойствах блока задаётся «Время ожидания ответа (сек)» — число секунд, в течение которых блок ждёт реакции абонента (по умолчанию 60).
|
|
|
3 |
Выставляем нужное количество времени для удержания и нажимаем на кнопку «Сохранить изменения», если изменения были внесены |
У блока два исхода:
- «Клиент произнес фразу» — абонент что-то сказал в течение заданного времени;
- «Клиент молчал» — время ожидания истекло без ответа. После окончания времени сценарий будет продолжен по ветке далее.
Блок «Отправить в телеграм»
Блок «Отправить в телеграм»
Блок позволяет отправить сообщение через телеграм бота пользователю
|
№ |
Действие |
Скрин |
|
1 |
Чтобы создать новый блок: Нажмите ПКМ по полотну и в появившемся списке выберите блок «Отправить в телеграм» |
|
|
2 |
По умолчанию сообщение уходит через системного бота платформы. Для своего бота нажмите «Ввести токен» и укажите API-токен |
|
|
3 |
Укажите «ID чата», куда отправить сообщение |
|
|
4 |
Введите текст в поле «Сообщение» — доступно форматирование и подстановка переменных сценария |
|
|
5 |
Сохраните изменения |
Также, можно добавить цели на блок для отображения его в аналитике.
Блок «Перенаправить и вернуться»
Блок «Перенаправить и вернуться»
Блок «Перенаправить и вернуться» позволяет перенаправить сценарий в другой проект или сценарий, например для выполнения операций, чтобы не дублировать их в текущем проекте.
|
№ |
Действие |
Скрин |
|
1 |
Чтобы создать новый блок: Нажмите ПКМ по полотну и в появившемся списке выберите блок «Перенаправить и вернуться» |
|
|
2 |
В поле «Проект» найдите и выберите целевой проект платформы |
|
|
3 |
После выбранного проекта можно выбрать сценарий, в который будет происходить перенаправление | |
|
4 |
Сохраните изменения |
Блок «Пустой блок»
Блок «Пустой блок»
Блок позволяет создать любой нужный блок из данного блока, например, для быстрой сборки сценария.
|
№ |
Действие |
Скрин |
|
1 |
Чтобы создать новый блок: Нажмите ПКМ по полотну и в появившемся списке выберите блок «Пустой блок» |
|
|
2 |
В свойствах откроется список «Выберите для блока его роль» со всеми типами блоков — кликните нужный, чтобы превратить пустой блок в него |
|

































































































