Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Якорь
Top
Top

CSS Stylesheet
.top-button {
		background-image: url(https://confluence.twin24.ai/download/thumbnails/23986188/baseline_keyboard_arrow_up_white_18dp.png) !important;
		background-position: center;
		background-color: #47a7f5 !important;
		background-repeat: no-repeat;
		box-shadow: -1px 1.5px 3px #999;
		color: #47a7f5 !important;
		border-radius:50px !important;
        position: fixed;
        bottom: 45px;
        left: 93.5%;
        width: 50px;
		height: 50px !important;
        font-size: 12px !important;
        padding: 14.5px !important;
		z-index: 2;
}
.top-button:hover{
		background-color: #65b9ff !important;
        color: #65b9ff !important;
}
.page-header{
		background-color: #232838;
	    background-repeat: no-repeat;
	    background-position: center;
		width: auto;
    	height: 100px;
		background-image: url(https://confluence.twin24.ai/download/attachments/23986188/logo_twin-02.png);
		background-size: 10em;
        color: #fff;
        font-size: 20px;
        padding: 20px;
}
.page-footer{
		background-color: #232838;
		background-image: url(https://confluence.twin24.ai/download/thumbnails/23986188/decorated-pattern-dark.png);
		width: auto;
    	height: 10px;
        color: #fff;
		text-align: end;
    	font: small-caption;
    	padding-inline-end: 30px;
    	padding-top: 200px;
    	padding-bottom: 30px;
}
.page-headline{
		background-image: url(https://confluence.twin24.ai/download/thumbnails/23986188/Solid256dot8_2changed.png);
    	background-repeat: no-repeat; 
    	background-position-x: -227px;
    	background-position-y: center;
    	padding: 20px;
		background-color: #007bff;
		width: auto;
    	height: 10px;
        color: #fff;
		text-align: center;
    	font: caption;
    	font-weight: 600;
}
.tabs-menu{
    padding-left: 85% !important;
}


Создание сценария

Для создания сценария перейдите в раздел Сценарии и нажмите кнопку Новый сценарий

Image Removed

В появившемся окне введите название нового сценария и нажмите кнопку Создать новый сценарий.

Image Removed

Для того, чтобы перейти в окно редактирования сценария, найдите в перечне существующих сценариев новый созданный сценарий со столбцу Название и нажмите кнопку Просмотр.

Image Removed

Окно редактирования сценария

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

Элементы управления:

Горячие клавиши:

Работа с блоками

Настройка каждого блока/стрелки на рабочем пространстве производится в правой части экрана редактора. Для того чтобы открыть свойства, нужно кликнуть на блок/стрелку левой клавишей мыши. Для быстрого создания часто используемых блоков предусмотрена функция, которая позволяет создать блок в один клик. Для этого, у выделенного блока, внизу располагаются кнопки с блоками типа Вопрос, Информация и Случайный выбор. Пользователю лишь остается потянуть одну из кнопок, чтобы расположить блок на рабочем пространстве.

Image Removed

Работа с переменными

Создание переменных возможно двумя способами:

  • Объявление переменной в блоке
  • Объявление переменной в стрелке

Объявление переменной в блоке возможно лишь в следующих типах блоков:

  • Блок вопроса
  • Блок информации
  • Блок результата

Во всех перечисленных типов блоков объявление происходит аналогичным образом.

Для того, чтобы объявить переменную в блоке:

  1. Выделите нужный блок
  2. Нажмите кнопку Добавить элемент
  3. Введите название переменной в левое поле
  4. Введите значение переменной в правое поле

Image Removed

Объявление переменной в стрелке возможно лишь из следующих типов блоков:

  • Блок вопроса
  • Блок паузы

Для того, чтобы объявить переменную в стрелке:

  1. Выделите нужную стрелку
  2. Поставьте галочку напротив Сохранить ответ
  3. Введите название переменной

Image Removed

В отличии от объявления в блоке, объявление в стрелке помещает в переменную ответ клиента, а не изначально заготовленное значение.

После того, как переменная объявлена в блоке или стрелке, появилась возможность ее использования.

Чтобы использовать переменную, укажите ее название в фигурных скобках.

Image Removed

Russian
Message Box
iconnone
titleНа этой странице:
typegeneric
Оглавление
Подсказка

Инструкция по созданию сценария описана в этой статье.

Окно редактирования сценария

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

Image Added



Элементы управления:

НазваниеСкриншотОписание
Блоки действий

Image Added

Позволяют задать системе сценарии обзвона.

Стрелка

Image Added

Позволяет задать системе направление сценария.

Подсказка

Подробнее о работе стрелок можно узнать в этой статье.


Рука

Image Added

Даёт возможность перемещаться по рабочему пространству.
Курсор

Image Added

Позволяет работать с объектом или выделять их.
Карта

Image Added

Открывает окно с рабочим пространством для быстрого перемещения.
Масштаб

Image Added

Изменяет масштаб рабочего пространства.

Отменить

Image Added

Шаг назад.
Вернуть

Image Added

Шаг вперед.
Сохранить

Image Added

Сохраняет скрипт.
Удалить

Image Added

Удаляет скрипт.
Управление медиа

Image Added

Управляет всеми записанными и загруженными медиафайлами.
Показать последний

Image Added

Перейти к последнему добавленному блоку.
Очистить

Image Added

Возвращает в исходное состояние.
Чат

Image Added

Позволяет проверить скрипт в форме переписки.
Микрофон

Image Added

Позволяет проверить скрипт в форме живого общения.


Горячие клавиши:

РезультатКлавиши
Меняет активный инструмент на Рука

Ctrl

Сохранение сценария

Ctrl + S

Отмена последнего совершенного действия
Ctrl + Z
Снятие выделенияEsc
Удаление выделенного элементаDel




Работа с блоками

Настройка каждого блока/стрелки на рабочем пространстве производится в правой части экрана редактора. Для того чтобы открыть свойства, нужно кликнуть на блок/стрелку левой клавишей мыши. Для быстрого создания часто используемых блоков предусмотрена функция, которая позволяет создать блок в один клик. Для этого, у выделенного блока, внизу располагаются кнопки с блоками типа Вопрос, Информация и Случайный выбор. Пользователю лишь остается потянуть одну из кнопок, чтобы расположить блок на рабочем пространстве.

Image Added


Подсказка

Работа с переменными в редакторе сценариев описана в этой статье.

Div
classpage-header
Russian

Оглавление

1. Сценарий

            Создание сценария
            Окно редактирования сценария
            Работа с блоками
            Работа с переменными

2. Элементы

            Стрелка (Ветка)
            Стартовый блок
            Блок «Вопрос»
            Блок «Пауза»
            Блок «Информация»
            Блок «Условие»
            Блок «Случайный выбор»
            Блок «Эмоции»
            Блок «Результат»
            Блок «Запрос к серверу»
            Блок «Арифметика»           
            Блок «Порядковый выбор»
            Блок «Телепорт»
            Блок «Пустой»
            Блок «AI»

1. Сценарий 
Якорь
СценарииСценарии
Div
classpage-headline
Якорь
СозданиеСценарияСозданиеСценария
Div
classpage-headline
Якорь
ОкноРедактированияСценарияОкноРедактированияСценария
НазваниеСкриншотОписание
Блоки действий

Image Removed

Позволяют задать системе сценарии обзвона

Стрелка

Image Removed

Позволяет задать системе направление сценария
Рука

Image Removed

Даёт возможность перемещаться по рабочему пространству
Курсор

Image Removed

Позволяет работать с объектом или выделять их
Карта

Image Removed

Открывает окно с рабочим пространством для быстрого перемещения
Масштаб

Image Removed

Изменяет масштаб рабочего пространства

Отменить

Image Removed

Шаг назад
Вернуть

Image Removed

Шаг вперед
Сохранить

Image Removed

Сохраняет скрипт
Удалить

Image Removed

Удаляет скрипт
Управление медиа

Image Removed

Управляет всеми записанными и загруженными медиафайлами
Показать последний

Image Removed

Перейти к последнему добавленному блоку
Очистить

Image Removed

Возвращает в исходное состояние
Чат

Image Removed

Позволяет проверить скрипт в форме переписки
Микрофон

Image Removed

Позволяет проверить скрипт в форме живого общения
РезультатКлавиши
Меняет активный инструмент на Рука

Ctrl

Сохранение сценария

Ctrl + S

Отмена последнего совершенного действия
Ctrl + Z
Снятие выделенияEsc
Удаление выделенного элементаDel
Div
classpage-headline
Якорь
РаботаСБлокамиРаботаСБлоками
Div
classpage-headline
Якорь
РаботаСПеременнымиРаботаСПеременными
Примечание

Для блока "Условие", переменная объявляется без фигурных скобок.

Примечание

Если в одну и ту же переменную, по ходу выполнения сценария, будут вложены разные значения, то использовано будет последнее вложенное значение.

2. Элементы ЯкорьЭлементыЭлементы Div
classpage-headline
Стрелка (Ветка) ЯкорьСтрелкаСтрелка

Image Removed

Описание:

Показывает направление сценария и определяет условия перехода от одного блока к другому. У таких блоков как Вопрос, Условие, Запрос к серверу и Эмоции, стрелка имеет свойства отличные от всех остальных блоков.

Раскрыть
titleСвойства стрелки

Описание

Скриншот

1. Заголовок стрелки

Возможно использовать как пометку для себя, чтобы знать какой ответ мы будем ожидать от пользователя, либо любая другая информация, которая нам облегчит навигацию по сценарию

Image Removed

ЯкорьСтартовыйБлокСтартовыйБлок
Div
classpage-headline

Стартовый блок

Image Removed

Описание:

Стартовый блок служит для отображения начала сценария диалога и его настройки. С помощью этого блока можно быстро найти начало в сценариях с огромным количеством блоков.

Раскрыть
titleСвойства блока
ОписаниеИзображение

1. Название скрипта – позволяет быстрее найти блок в редакторе сценариев. Служит для поиска сценария в кабинете администратора.

2. Отладочный режим – включает режим подробного логирования действий робота. Этот режим включается по просьбе технической поддержки и используется для поиска и устранения ошибок в работе робота. После включения этого режима пользователю требуется повторить диалог с клиентом, в котором возникают прроблемы. Все ошибки фиксируются на сервере разработчика. Использование этого режима увеличивает вычислительную нагрузку на систему. Не рекомендуется включать этот режим без соответствующего указания.

3. Включить прерывания – включает режим перебивания бота в диалогах.

4. Система распознавания – выбирает систему распознавания речи клиента в диалоге. Во всех случаях рекомендуется использовать систему распознавания по умолчанию. Изменять систему распознавания рекомендуется только при запросе от службы технической поддержки.

5. Язык – язык речи, которая распознается системой. На текущий момент распознавание речи в диалогах возможно для следующих языков:

  • Русский
  • Украинский
  • Английский
  • Испанский
  • Немецкий
  • Вьетнамский
  • Узбекский
  • Казахский
  • Чешский
  • Венгерский
  • Индонезийский

6. Тип аудио – вид голосовых сообщений робота. Возможные варианты:

Синтез –синтез речи по указанной фразе
  • Аудиозаписи – воспроизведение предварительно подготовленного аудиофайла
  • 7. Выберите тип голоса – тип голоса робота в диалогах с клиентом.

    8. Выберите эмоцию – эмоциональный тон голосовых сообщений робота. Воможные варианты:

    • Нейтральный
    • Доброжелательный
    • Раздраженный

    9. Выберите скорость (темп) в диапазоне от 01. до 3.0 – темп речи в голосовых сообщениях робота

    10. Количество переспросов – количество раз, когда робот переспрашивает клиента, если не получает или не может распознать ответ на свой вопрос. Для стабильной работы этой функции нужно добавить фразу или несколько фраз переспроса.

    11. Фразы с просьбой повторить ответ – фраза, которую робот использует, чтобы попросить клиента повторить ответ, если робот не получает или не может распознать ответ на свой вопрос. 

    12. Фразы с просьбой сказать следующую часть большого числа – робот будет воспроизводить в диалоге с клиентом указанную фразу в случае, если произнесенное клиентом число содержит меньше символов, чем ожидалось.

    13. Переводить на специалиста, если робот не знает что делать – в случае, если робот не знает, что делать, будет выполнена переадресация на оператора.

    14. Допустимое количество циклов – максимальное количество раз, когда робот попросит клиента повторить ответ на заданный вопрос. 

    15. Отключить приведение слов к первой форме при выборе ответа – отключает приведение слов в начальную форму, что усложняет распознавание речи клиента. Если параметр не используется, то система по умолчанию приводит все слова в ответах клиента в начальную форму.  Существительные приводятся к форме единственного числа и именительного падежа (например, менеджер). Глаголы приводятся в неопределенную форму (например, позвонить).

    16. Отключить фонетический корректор на звонках – отключает фонетический корректор. Эта функция корректирует мелкие ошибки в произношении слов (например: Пирвет → Привет).

    17. Выберите блок по умолчанию –  блок в сценарии, в который система направляет робота, если он не получает или не может распознать ответ клиента на свой вопрос.

    18. Таймаут ожидания ответа (сек) – период времени, в течение которого робот ожидает от пользователя ответ на вопрос. Если пользователь не ответил на вопрос, или его ответ не подходит под заданный вопрос, то система переведет робота в блок помощи (см. ниже).

    19. Выберите блок помощи – блок Информация, в который система переведет робота, если в ответе клиента присутствует одна из следующих фраз: «Помощь», «Что ты умеешь».

    20. Фоновые шумы – фоновый шум позволяет создать желаемую атмосферу во время диалога с клиентом (например, звуки офиса, улицы, аэропорта).

    21. Шаблоны ключевых слов – позволяет задать ключевые слова на уровне сценария.

    22. Переменные – позволяет задавать переменные и типы их значений (используется только в сценариях для обзвонов).

    23. Игнорировать вышестоящие ключевые слова – эта функция позволяет игнорировать установленные ключевые слова на вышестоящих уровнях (выше уровня сценария), делая актуальными лишь ключевые слова, заданные на уровне сценария и его блоков.

    Ключевые слова платформы – отображает список всех ключевых слов, которые заданы на уровне платформы.

    Ключевые слова компании – отображает список всех ключевых слов, которые заданы на уровне компании.

    24. Новое ключевое слово – позволяет указать новые ключевые слова на уровне сценария для работы функции перебивания.

    Image Removed

    Div
    classpage-headline
    Блок «Вопрос» ЯкорьБлокВопросБлокВопрос

    Image Removed

    Описание:

    Данный блок предназначен для опроса клиента.

    Условия выхода:

    • По истечении времени сеанса распознавания
    • По факту получения ответа от клиента
    Раскрыть
    titleСвойства блока
    ОписаниеСкриншот

    1. ID – уникальный идентификатор блока.

    2. Тип блока – отображает тип выбранного блока. Позволяет заменить тип блока на любой другой.

    3. Маркер блока – произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

    4. Вопрос – текст, который будет произнесен роботом, после того, как будет произведен переход в этот блок.

    5. Задержка перед отправкой сообщения – период времени, по истечению которого будет произведена отправка сообщения после перехода в этот блок*.

    6. Отправить немедленно – позволяет отправить сообщения до полного формирования очереди.

    7. Присвоить переменные – дает возможность создать переменные и задать им значения.

    8. Прикрепить файлы – позволяет добавить файлы в сценарий

    9. Длительность сеанса распознаванияпериод времени, в течение которого система выполняет распознавание речи абонента во время вызова. 

    Для выбора доступны следующие уровни длительности сеанса распознавания:

    • Односложный ответ – длительность сеанса распознавания речи составляет 7 секунд;
    • Очень короткая – длительность сеанса распознавания речи составляет 5 секунд;
    • Короткая – длительность сеанса распознавания речи составляет 5 секунд;
    • Нормальная – длительность сеанса распознавания речи составляет 7 секунд;
    • Нормальная (5 сек) – длительность сеанса распознавания речи составляет 5 секунд;
    • Нормальная (180 сек) – длительность сеанса распознавания речи составляет 180 секунд;
    • Длинная – длительность сеанса распознавания речи составляет 10 секунд;
    • Очень длинная – длительность сеанса распознавания речи составляет 15 секунд;
    • Очень длинная (180 сек) – время распознавания речи составляет 180 секунд.

    Уровни длительности сеанса распознавания речи абонента определяются различными параметрами. Посмотреть значения всех параметров можно в разделе Длительность сеанса распознавания.

    10. Система распознавания речи – выбор сервиса для распознавания речи

    • Система 1 – сервис распознавания Google
    • Система 2 – сервис распознавания Yandex

    11. Количество переспросов – количество раз, когда робот переспрашивает клиента, если не получает или не может распознать ответ на свой вопрос. Для стабильной работы этой функции нужно добавить фразу или фразы переспроса. 

    12. Определение эмоций – при выставленной галке, система будет распознавать эмоциональную окраску пользователя и записывать её в переменную {детектор.эмоции}

    13. Отключить переспрос – при выставленной галке , система не будет дожидаться ответа от клиента, а переведет его на оператора

    14. Отключить возврат на предыдущий блок – при выставленной галке, система не будет пытаться найти ответ на поставленный вопрос через другие блоки типа «Вопрос», которые находятся на той же ветке

    15. Использовать ответ пользователя – возможность использовать ответ пользователя, сохраненный в системной переменной

    16. Действия – позволяет выбрать одно из вложенных действий***. 

    17. Фразы с просьбой повторить ответ  текст, который будет озвучен роботом в случае, если не удастся получить ожидаемый ответ клиента**.

    18. Файлы с просьбой повторить ответ – возможность импорта фраз с аудиозаписями озвучек из файла.

    19. Отключить рандом фраз повтора – при выcтавленной галке фразы повтора определяются в порядке их добавления, а не случайным образом.

    20. Добавить запись (Гибридный синтез) – позволяет загрузить с компьютера аудиозапись для озвучки данного блока с помощью гибридного синтеза речи.

    21. Выберите тип действия – используется для фиксации и вывода в отчёт момент завершения диалога, в столбец «Результат разговора».

    22. Добавить запись – позволяет загрузить с компьютера аудиозапись для озвучки данного блока живым голосом.

    23. Записать аудио – Позволяет создать и скачать аудиозапись для озвучки данного блока живым голосом.

    24. Игнорировать вышестоящие ключевые слова – эта функция позволяет игнорировать установленные ключевые слова на вышестоящих уровнях, делая актуальными лишь слова, указанные в этом блоке и ниже.

    25. Новое ключевое слово – позволяет указать новые ключевые слова для работы функции перебивания.

    * Задержка в блоках начинает срабатывать лишь после получения первого ответа от пользователя
    ** Если вариантов больше чем одно, то фразы будут произноситься в случайном порядке
    *** Среди действий есть функция "Поделиться номером". Данный функционал позволяет вывести клиенту кнопку с предварительно заданным текстом, по нажатию на которую клиент может передать в бота свой контактный номер телефона (указанный в профиле). В данный момент данный функционал доступен только для ботов в Telegram, для корректной работы также необходимо чтобы текст на кнопке действия совпадал с текстом на кнопке в исходящей из блока стрелке и должен быть задан тип выходных данных "по умолчанию".

    Image Removed

    Image Removed

    Типы:

    ТипОписаниеСкриншотПользовательское событие

    Интеграционный функционал для создания пользовательских событий (не поддерживается).

    1. Сообщение на кнопкетекст, который отображается на кнопке клиента.

    2. Название события – заголовок пользовательского события.

    3. Данные – описание пользовательского события.

    Image Removed

    Принудительный переход к блоку

    Позволяет переходить к выбранному блоку аналогично работе блока телепорта (не поддерживается).

    1. Принудительный переход к блоку – выбранный блок для перехода.

    Image Removed

    Прикрепить шаблон WhatsApp

    Позволяет прикрепить шаблон для WhatsApp.

    1. ID шаблона – уникальный идентификатор полученный от тех. поддержки.

    2. Название шаблона – название шаблона, полученное от тех. поддержки.

    3. Сообщение на кнопке – текст, который отображается на кнопке клиента.

    4. Ссылка на картинку – URL картинки.

    5. Добавить переменную – возможность добавить переменную.

    6. Тип кнопок – значение типов кнопок.

    Image Removed

    Кнопки WhatsApp

    Позволяет добавлять кнопки в WhatsApp.

    1. Тип кнопок – значения типов кнопок.

    2. Header – текст, который отображается в верхней части сообщения.

    3. Footer – текст, который отображается в нижней части сообщения.

    Image Removed

    Поделиться номером

    Позволяет получить номер от клиента через кнопку.

    1. Сообщение на кнопке – текст, который отображается на кнопке клиента.

    Image Removed

    Раскрыть
    titleСвойства стрелки

    Свойства:

    ОписаниеСкриншот

    1. Текст стрелки – название стрелки в сценарии. По названию можно быстро найти нужную стрелку и понять ее назначение.

    2. Сохранить ответ – позволяет сохранить ответ клиента в какую-либо переменную, чтобы в дальнейшем использовать его в блоках сценария. Если для этого параметра установлен флажок, то в поле Название переменной нужно ввести название используемой переменной.

    3. Сохранить всю фразу – параметр определяет способ сохранения ответа. Если параметр используется, то система сохранит ответ клиента полностью. Если параметр не используется, то система сохранит только ключевое слово, по которому осуществляется переход в ветку.

    4. Сохранить ответ в системную переменную – позволяет сохранить ответ пользователя, чтобы в дальнейшем использовать его в одном из блоков (или нескольких блоках) Вопрос. Это особенно удобно при переходе диалога из одного сценария в другой, чтобы не задавать пользователю вопрос, ответ на который был получен ранее.

    5. Тип выходных данных – этот параметр должен быть заполнен для каждой стрелки принятия решения. Он определяет тип условия, при выполнении которого система понимает, что диалог должен развиваться в направлении, которое указано с помощью этой стрелки.

    6. Варианты ответа* – с помощью этого параметра можно отображать клиенту возможные варианты ответа в виде кнопок. Если клиент нажмёт на такую кнопку, то диалог пойдет в направлении, которое указано с помощью стрелки, которая связана с выбранной кнопкой. В некоторых случаях клиенту удобнее использовать кнопки чем писать ответ.

    7. Порядковый номер кнопки* – если существует несколько ответов на вопрос, то кнопок будет несколько. Этот параметр позволяет определить порядок отображения кнопок (первая, вторая, третья и т. д.). Отсчёт ведётся от 0. Если вы не укажите порядок отображения кнопок, то система разместит их в произвольном порядке.

    * Данный пункт используется только для чатов

    Image Removed

    Примечание

    Для корректного отображения текста кнопки в Facebook, рекомендуется в поле Вариант ответа размещать текст не более 20-ти символов

    Типы:

    ТипОписаниеСкриншотВетка по умолчанию

    Данный тип используется для перехода, если система не найдет озвученный ответ во всех остальных стрелках данного блока.

    1. Максимальный вес ветки – указывается для определения точности ответа в рамках NLU. 

    2. Вариант ответа – наименование кнопки ответа (см. описание в свойствах стрелки).

    3.Порядковый номер кнопки определяет порядок отображения кнопки (см. описание в свойствах стрелки).

    Image Removed

    Ключевые слова

    Переход по ветке будет произведен, если ответ пользователя совпадет с ключевым словом.

    1. Ключевые слова – слова или выражения, которые система ожидает от пользователя для перехода по ветке

    Ключевые слова вводятся через пробел. Выражения вводятся с использованием кавычек, например "уже на месте"

    Так же, можно использовать абстрактное слово NEAR в выражении, которое будет значиться любым словом, например: "я NEAR не пойду", где NEAR - может быть любым словом: никуда, никогда, сейчас, завтра и т.д. 

    В системе предусмотрена система весов, когда явный ответ "да" от человека, не всегда может означать признание, например: фраза Да, я вас отчетливо слышу, я не пойду на обед. В данном ответе мы видим слово "да" и предлог "не", который по смыслу является приоритетней и в общей концепции ответа является отрицанием: фраза я не пойду на обед. Таким образом, при расстановке ключевых слов и выражений, будет более явно добавить вес к отрицательным словам:+++не и +нет. Каждый знак плюс имеет единицу веса. Где единицей является слово или выражение. Соответственно, в примере к слову нет + одно слово, а к предлогу не + 3 слова. При количественном перевесе система принятия решения выберет этот маршрут.В обратной ситуации мы можем наоборот, понижать вес, используя знак минус: -да

    2. Словари  возможность использования заранее подготовленного набора ключевых слов*

    3. Вариант ответа  наименование кнопки ответа (см. описание в свойствах стрелки).

    4. Порядковый номер кнопки Определяет порядок отображения кнопки (см. описание в свойствах стрелки).

    Примечание
    titleВажно
    typeInfo

    Рекомендуется использовать не более 100 ключевых слов в ветке, для большего количества ключевых фраз мы рекомендуем использовать ветку "интеллектуальное принятие решений" в связке с НЛУ

    * Словари задаются в стартовом блоке в пункте 21

    Image Removed

    Дата/Время/Дата и время

    Переход по ветке будет произведен, если озвученная пользователем дата совпадет с указанной датой в свойстве стрелки.

    1. Значение должно быть – условие проверки значения

    Например, для согласования даты доставки товара, можно сделать проверку на то, что дата должна быть больше текущей, чтобы избежать ситуации, когда доставка будет оформлена на прошедший день.

    Если необходимо пользовательское значение даты для сравнения, то дата задается в формате:

    YYYY-MM-DD (без времени)

    YYYY-MM-DD HH:MM:SS (дата и время)

    2. Значение – ответ, который система ожидает от клиента

    Система знает и умеет работать с датами и относительными датами. Пример ответов пользователя, которые система сможет распознать:

    • 23 января
    • Завтра
    • Послезавтра
    • Вчера
    • Позавчера
    • Через n дней
    • n дней назад
    • 23 января 1996 года

    Если в дате явно не указан год, берется текущий

    Форматы записи ответа в переменную:

    • Дата: Y-m-d
    • Дата и время: Y-m-d H:i:s

    Так же данный тип пытается найти время. Возможные варианты:

    • в 14:00
    • Через n минут
    • через n часов

    Если клиент явно не указывает время, берется текущее

    Формат записи в переменную: H:i

    3. Вариант ответа – наименование кнопки ответа (см. описание в свойствах стрелки).

    4. Порядковый номер кнопки – определяет порядок отображения кнопки (см. описание в свойствах стрелки).

    Image Removed

    Число

    Переход по ветке будет произведен, если озвученное пользователем число совпадет с указанным числом в свойстве стрелки.

    1. Значение должно быть – Условие проверки значения

    Например, при проведения соц. опроса, система может задать вопрос: "Скажите, сколько вам лет?" и благодаря условиям можно задать различные вопросы разным возрастным группам. 

    Сравнение происходит по правилам:

    {РАСПОЗНАННОЕ} {ОПЕРАТОР} {СРАВНИВАЕМОЕ}

    Где  

    • {РАСПОЗНАННОЕ} - число, которое распознано в речи клиента в момент диалога
    • {ОПЕРАТОР}  - оператор сравнения (меньше, больше, равно и т.д.)
    • {СРАВНИВАЕМОЕ} - Значение, заданное в свойствах (см. пункт №2)*

    2. Значение – ответ, который система ожидает от клиента

    3. Вариант ответа – наименование кнопки ответа (см. описание в свойствах стрелки).

    4. Порядковый номер кнопки – определяет порядок отображения кнопки (см. описание в свойствах стрелки).

    5. Интеллектуальное определение  с помощью этого параметра робот распознает числа в ответах клиентов, как во время обзвонов, когда клиент произносит число голосом, так и при переписке, когда клиент вместо числа пишет слово (например, вместо «18» пишет «восемнадцать»). Если для этого параметра установлен флажок, то робот распознает число во всех указанных случаях.

    * Может содержать в себе переменные заключенные в фигурные скобки, которые могут быть переданы при постановке задания.

    Image Removed

    Большое число

    Переход по ветке будет произведен, если количество озвученных символов в номере, совпадет с указанным количеством символов в свойстве стрелки.

    1. Значение должно быть – условие проверки значения

    2. Маска для большого числа  Маска ожидаемого ввода 

    Например, для паспорта мы можем задать маску вида #### ######, где каждый символ # - это цифра

    3. Пользователю дается одна попытка  В случае, если система не распознала ответ или ответ от пользователя не совпадает с указанным, то система не будет предпринимать попытки повторного опроса

    4. Значение – значение, которое система будет ожидать от пользователя

    В случае если человек при разговоре назовет число которое не будет подходить под указанное значение, то система будет просить пользователя ввести необходимые цифры до тех пор, пока они точно не совпадут с указанным вариантом в сценарии.

    5. Вариант ответа – наименование кнопки ответа (см. описание в свойствах стрелки).

    6. Порядковый номер кнопки – определяет порядок отображения кнопки (см. описание в свойствах стрелки).

    7.Интеллектуальное определениес помощью этого параметра робот распознает числа в ответах клиентов, как во время обзвонов, когда клиент произносит число голосом, так и при переписке, когда клиент вместо числа пишет слово (например, вместо «18» пишет «восемнадцать»). Если для этого параметра установлен флажок, то робот распознает число во всех указанных случаях.

    Image Removed

    Интеллектуальное принятие решений

    Переход по ветке будет произведен, если указанное в свойствах намерение совпадет с озвученным намерением клиента*

    1. Агент – выбор агента

    2. Приоритет ветки – возможность выставить более высокий приоритет, чем для ветки с ключевым словом.

    3. Добавить намерение – намерения, которые система ожидает от пользователя.

    4. Сущности – создание переменных, в которые могут быть записаны данные, которые были выяснены системой во время диалога

    5. Вариант ответа – наименование кнопки ответа (см. описание в свойствах стрелки).

    6. Порядковый номер кнопки – Определяет порядок отображения кнопки (см. описание в свойствах стрелки).

    * Для работы с данным типом, нужно иметь подключение к Twin.ai и необходим обученный агент.  Подробнее об этом вы можете прочитать здесь

    Image Removed

    Номер телефона

    Переход по ветке будет произведен, если количество озвученных символов будет соответствовать ожидаемому количеству цифр в номере телефона*.

    1. Значение должно быть – условие проверки значения

    2. Значение – значение, которое система будет ожидать от пользователя

    В случае если человек при разговоре назовет число которое не будет подходить под указанное значение, то система будет просить пользователя ввести необходимые цифры до тех пор, пока они точно не совпадут с указанным вариантом в сценарии.

    3. Вариант ответа – наименование кнопки ответа (см. описание в свойствах стрелки).

    4. Порядковый номер кнопки – определяет порядок отображения кнопки (см. описание в свойствах стрелки).

    * Параметр Номер телефона позволяет отслеживать как мобильные, так и городские номера. На текущий момент данная функция работает только с номерами российских операторов связи.
    Номер телефона должен содержать не более 11 цифр. В противном случае робот не сможет его распознать.
    При вводе мобильного номера код страны указывать необязательно.
    При вводе городского номера нужно указывать код страны и код города (например, 7 и 812).

    Image Removed

    Ошибка определения номера телефона

    Переход по ветке будет произведен, если озвученный клиентом номер телефона будет недействующим.

    1. Вариант ответа – наименование кнопки ответа (см. описание в свойствах стрелки).

    2. Порядковый номер кнопки – определяет порядок отображения кнопки (см. описание в свойствах стрелки).

    Image Removed

    Сигнал DTMF

    Эту функцию удобно использовать в голосовых меню. Система позволяет отслеживать нажатие клиентом кнопок в диапазоне от 0 до 9, а также кнопок с символами * и #. В зависимости о того, на какую кнопку нажмет клиент, система перейдет по соответствующей стрелке (например, робот говорит клиенту: «Для создания нового заказа нажмите кнопку 1. Для перехода к работе с текущим заказом нажмите кнопку 2. Для завершения разговора нажмите кнопку 3»).

    1. Сигнал – символ, необходимый для перехода по ветке.

    2. Вариант ответа – наименование кнопки ответа (см. описание в свойствах стрелки).

    3. Порядковый номер кнопки – определяет порядок отображения кнопки (см. описание в свойствах стрелки).

    Image Removed

    Div
    classpage-headline
    Блок «Пауза» ЯкорьБлокПаузаБлокПауза

    Image Removed

    Описание:

    Данный блок переводит систему в режим ожидания ответа.

    Условия выхода:

    • По истечении заданного времени
    • По факту получения ответа от клиента
    Раскрыть
    titleСвойства блока
    ОписаниеСкриншот

    1. ID – уникальный идентификатор блока.

    2. Тип блока – отображает тип выбранного блока. Позволяет заменить тип блока на любой другой.

    3. Маркер блока – произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения)

    4. Текст – текст, который будет произнесен роботом, после того, как будет произведен переход в этот блок.

    5. Отправить немедленно – позволяет отправить сообщения до полного формирования очереди.

    6. Задержка перед отправкой сообщения  период времени, по истечению которого будет произведена отправка сообщения после перехода в этот блок*.

    7. Максимальное время ожидания до повтора  Время, через которое будет произнесен текст из секции «Текст повтора» (см. пункт № 6)

    8. Максимальное время ожидания ответа собеседника – Время, по истечении которого, звонок будет переведен на оператора

    9. Текст повтора – варианты повтора, которые будут озвучены системой по истечении времени ожидания**

    10. Добавить запись (Гибридный синтез) – позволяет загрузить с компьютера аудиозапись для озвучки данного блока с помощью гибридного синтеза речи.

    11. Выберите тип действия – возможность зафиксировать результат для отчета

    12. Добавить запись – позволяет загрузить с компьютера аудиозапись для озвучки данного блока живым голосом.

    13. Записать аудио – позволяет создать и скачать аудиозапись для озвучки данного блока живым голосом.

    14. Игнорировать вышестоящие ключевые слова – эта функция позволяет игнорировать установленные ключевые слова на вышестоящих уровнях, делая актуальными лишь слова, указанные в этом блоке и ниже.

    15. Новое ключевое слово – позволяет указать новые ключевые слова для работы функции перебивания.

    * Задержка в блоках начинает срабатывать лишь после получения первого ответа от пользователя
    ** Если вариантов больше чем одно, то фразы будут произноситься в случайном порядке

    Image RemovedImage Removed

    Div
    classpage-headline
    Блок «Информация» ЯкорьБлокИнформацияБлокИнформация

    Image Removed

    Описание:

    Данный блок используется для произнесения сообщения клиенту.

    Условия выхода:

    • После озвученного сообщения системой
    • Пропуск блока
    Раскрыть
    titleСвойства блока
    ОписаниеСкриншот

    1. ID – уникальный идентификатор блока.

    2. Тип блока – отображает тип выбранного блока. Позволяет заменить тип блока на любой другой.

    3. Маркер блока – произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения)

    4. Информационное сообщение – текст, который будет произнесен роботом, после того, как будет произведен переход в этот блок.

    5. Задержка перед отправкой сообщения – период времени, по истечению которого будет произведена отправка сообщения после перехода в этот блок*.

    6. Прикрепить файлы – позволяет добавить файлы в сценарий

    7. Пропустить блок, если произнесен блок – система пропустит текущий блок, если она озвучит информационный блок, который будет выбран в данном пункте**

    8. Отправить немедленно – позволяет отправить сообщения до полного формирования очереди.

    Например в сценарии идет цепочка из 3 блоков информации, блока запроса к серверу и еще 2 блоков информации. И сообщения уйдут лишь после обработки блока запроса к серверу.
    Если поставить галочку «Отправить немедленно» на 3 блоке в этой цепочке (т.е. перед запросом), то уйдут 3 сообщения, потом сделается запрос и уйдут оставшиеся 3. 

    9. Действия  позволяет выбрать одно из вложенных действий.

    10. Добавить элемент – дает возможность создать переменные и задать им значения.

    11. Добавить запись (Гибридный синтез) –позволяет загрузить с компьютера аудиозапись для озвучки данного блока с помощью гибридного синтеза речи.

    12. Выберите тип действия – возможность зафиксировать результат для отчета

    13. Добавить запись – позволяет загрузить с компьютера аудиозапись для озвучки данного блока живым голосом.

    14. Записать аудио – позволяет создать и скачать аудиозапись для озвучки данного блока живым голосом.

    Задержка в блоках начинает срабатывать лишь после получения первого ответа от пользователя
    ** Выбрать возможно только блок типа «Информация»

    Image RemovedImage Removed

    Div
    classpage-headline
    Блок «Условие» ЯкорьБлокУсловиеБлокУсловие

    Image Removed

    Описание:

    Данный блок позволяет определить направление сценария на основании состояния диалога.

    Раскрыть
    titleСвойства блока
    ОписаниеСкриншот

    1. ID – уникальный идентификатор блока.

    2. Тип блока – отображает тип выбранного блока. Позволяет заменить тип блока на любой другой.

    3. Маркер блока – произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения)

    Image Removed

    Раскрыть
    titleСвойства стрелки

    Свойства:

    ОписаниеСкриншот

    1. Текст стрелки – вспомогательный текст, который позволяет создателю сценария ориентироваться в связях.

    2. Тип – способ принятия решения.

    Image Removed

    Типы:

    ТипОписаниеСкиншотПо умолчаниюДанный тип используется для перехода по ветке, в случае, если условия во всех остальных стрелках данного блока не будут соблюдены.

    Image Removed

    Условие И / ИЛИ

    Переход по ветке будет произведен, если заданное условие будет выполнено.

    1. Загрузить файл - возможность экспорта условий и переменных из файла

    2. Условия  - набор условий, по которым принимается решение

    • Условие "И" требует, чтобы все указанные условия выполнялись.
    • Условие "ИЛИ" требует, чтобы выполнялось хотя бы одно указанное условие

    Логические операторы:
    "=" - равно
    "!=" - не равно
    "<" - меньше
    "<=" - меньше или равно
    ">" - больше
    ">=" - больше или равно
    "*" - содержит
    "**" - совпадает

    3. Присвоить переменные при выборе ветки - служит для установки значений переменным.

    В левое поле записывается название переменной без фигурных скобок

    В правое поле записывается значение, которое мы хотим присвоить переменной*

    * Допускается использование переменных, которые будут заменены на их значение в момент присваивания

    Image Removed

    Image Removed

    Информация
    titleПримеры использования условий "*" и "**"

    Разберем на примере сравнения переменной {answer} (записываемой как ответ пользователя) с заданным значением

    Если задано условие {answer} * как дела

    то при получении фраз:

    "привет как дела" - условие будет выполнено, т.к. фраза содержит искомый фрагмент "как дела"

    "как ваши дела" - условие не будет выполнено, т.к. фраза содержит только часть искомого фрагмента "как дела"

    "как дела у Алексея Петровича?" - условие будет выполнено, т.к. фраза содержит искомый фрагмент "как дела"

    "как добраться до аптеки" - условие не будет выполнено, т.к. фраза содержит только часть искомого фрагмента "как дела"
    Если задано условие Если задано условие {answer} ** привет как дела

    то при получении фраз:

    "привет как дела" - условие будет выполнено, т.к. фраза совпадает с фразой условия "привет как дела"

    "привет, как ваши дела" - условие не будет выполнено, т.к. фраза не совпадает с фразой условия "привет как дела"

    "как дела у Алексея Петровича?" - условие не будет выполнено, т.к. фраза не совпадает с фразой условия "привет как дела"

    "привет как дела, Василий" - условие не будет выполнено, т.к. фраза не совпадает с фразой условия "привет как дела"

    Информация
    titleОперация "*"

    В секции "Условия", для правого поля возможно использовать операцию "*"

    Данная операция используется для определения текста по маске, где * это любое количество букв или цифр.

    Например:

    если условие будет иметь вид имя = *на, то под условие будут попадать имена Анна, Карина, Марина и т.д.

    или условие ответ ** * как дела, то под условие будут попадать любые фразы где перед "как дела" содержится иной текст или не содержится ничего ("Василий, как дела", "Здравствуйте, Игорь Петрович, как дела", "как дела")

    Примечание
    titleВес решения

    Если есть две ветки которые удовлетворяют переходу, то будет выбрана та ветка, у которой количество совпавших условий больше. В случае равенства совпавших условий, приоритет будет отдан ветке с типом "Условие И", т.к. оно более строгое

    Для корректной работы блока необходимо чтобы не было двух и более веток с идентичными условиями

    Следует избегать ситуаций соответствия в ветках более чем 2м условиям одновременно

    Div
    classpage-headline
    Блок «Случайный выбор» ЯкорьБлокСлучайныйВыборБлокСлучайныйВыбор

    Image Removed

    Описание:

    Данный блок предназначен для вариативности диалога. Система в случайном порядке выполняет переход по стрелкам, которые выходят из блока.

    Раскрыть
    titleСвойства блока
    ОписаниеСкриншот

    1. ID – уникальный идентификатор блока.

    2. Тип блока – отображает тип выбранного блока. Позволяет заменить тип блока на любой другой.

    3. Маркер блока – произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

    4. Описание фиксации – произвольный пользовательский текст, который может использоваться для описания работы блока. Также благодаря этому тексту можно удобно найти нужный блок с помощью сочетаний клавиш ctrl+F.

    Image Removed

    Div
    classpage-headline
    Блок «Эмоции» ЯкорьБлокЭмоцииБлокЭмоции

    Image Removed

    Описание:

    Данный блок позволяет определить направление сценария на основании эмоции клиента. 

    Раскрыть
    titleСвойства блока
    ОписаниеСкриншот

    1. ID – уникальный идентификатор блока.

    2. Тип блока – отображает тип выбранного блока. Позволяет заменить тип блока на любой другой.

    3. Маркер блока – произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

    Image Removed

    Раскрыть
    titleСвойства стрелки

    Свойства:

    ОписаниеСкриншот

    1. Текст стрелки – вспомогательный текст, который позволяет создателю сценария ориентироваться в связях.

    2. Тип эмоций – выбор эмоции, которую система будет ожидать для переход по ветке.

    Image Removed

    Типы:

    ТипОписаниеПозитивнаяПереход по стрелке будет происходить в случае, если переменная {детектор.эмоции} имеет значение positiveНегативнаяПереход по стрелке будет происходить в случае, если переменная {детектор.эмоции} имеет значение negativeНейтральнаяПереход по стрелке будет происходить в случае, если переменная {детектор.эмоции} имеет значение neutral Div
    classpage-headline
    Блок «Результат» ЯкорьБлокРезультатБлокРезультат

    Image Removed

    Описание:

    Данный блок служит для фиксации результата разговора, а также для принудительного перевода на оператора, отправки сообщения и отправки нотификации.

    Раскрыть
    titleСвойства блока
    ОписаниеСкриншот

    1. ID уникальный идентификатор блока.

    2. Тип блока – отображает тип выбранного блока. Позволяет заменить тип блока на любой другой.

    3. Маркер блока – произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

    4. Описание фиксации – произвольный пользовательский текст, который может использоваться для описания работы блока. Также благодаря этому тексту можно удобно найти нужный блок с помощью сочетаний клавиш ctrl+F.

    5. Присвоить переменные – в данном месте вы можете изменить значение в любой переменной или ввести новую.

    6. Выберите тип действия – вы можете выбрать, из выпадающего списка, какое именно действие роботу необходимо совершить.

    Image Removed

    Типы:

    ТипОписаниеСкриншотБез действия

    Робот ничего не сделает, и просто пойдёт в следующий блок, если он есть.

    Image Removed

    Отправка email

    Робот отправит электронное письмо.

    1. Email получателя –Email адрес получателя.

    2. Заголовок письма – тема сообщения.

    3. Отправлять транскрипцию – возможность отправить текст диалога робота и клиента в теле письма.

    4. Текст сообщения – текст сообщения.

    Image Removed

    Отправка уведомления

    Робот отправит клиенту уведомление.

    1. Выберите шаблон уведомления – шаблон, который будет использован системой для отправки уведомления.

    2. Сокращать ссылки – возможность сокращать ссылки, имеющиеся в тексте.

    3. Телефон получателя – номер телефона получателя уведомления.

    Image Removed

    Примечание
    titleТестирование сообщений

    Если вы планируете отправить результат разговора себе, то для этого лучше использовать отправку через email, т.к. он является бесплатным. За отправку результатов разговора через уведомления, взимается плата

    Зафиксировать результат

    Сохраняет данные диалога в отчет

    1. Дата – поле, в которое можно записать дату для выгрузки в отчет.*

    2. Оценка – поле, в которое можно записать оценку для выгрузки в отчет.*

    3. NPS произвольная информация. Отобразится отчете о результате задания на обзвон столбец "NPS".

    4. Подтверждение – поле, в которое можно записать данные для выгрузки в отчет.*

    * Необязательное поле

    Image Removed

    Отправка DTMF сигналов

    Функционал по обходу IVR меню

    1. Сигналы – символы от 0 до 9, * и #, используемые для отправки сигнала роботом для перехода по нужной ветке IVR меню.

    Image Removed

    Перевод на оператора.

    Робот может передать перевести клиента на живого оператора или другой сценарий.

    1. Действие при переадресации (Исходящая линия) – робот завершит вызов.

    2. Действие при переадресации (Входящая линия) – перечень действий при переадресации по входящей линии (аналогичной исходящей).

    3. Анонс для оператора – данный текст будет виден пользователю при переводе диалога на оператора и оператору при переводе диалога на него.

    4. Группа операторов – с помощью групп операторов можно переводить диалоги с клиентами в разные отделы вашей компании или на разных специалистов (например, в отдел продаж, бухгалтерию, техническую поддержку).

    Image Removed

    1. Действие при переадресации (Исходящая линия) звонок будет переключен на оператора.

    2. Действие при переадресации (Входящая линия) – перечень действий при переадресации по входящей линии (аналогичной исходящей).

    3. Анонс для оператора – данный текст будет виден пользователю при переводе диалога на оператора и оператору при переводе диалога на него.

    4. Группа операторов – с помощью групп операторов можно переводить диалоги с клиентами в разные отделы вашей компании или на разных специалистов (например, в отдел продаж, бухгалтерию, техническую поддержку).

    Image Removed

    1. Действие при переадресации (Исходящая линия) – использует настройки переадресации из задания на обзвон.

    2. Действие при переадресации (Входящая линия) – перечень действий при переадресации по входящей линии (аналогичной исходящей).

    3. Анонс для оператора – данный текст будет виден пользователю при переводе диалога на оператора и оператору при переводе диалога на него.

    4. Группа операторов – с помощью групп операторов можно переводить диалоги с клиентами в разные отделы вашей компании или на разных специалистов (например, в отдел продаж, бухгалтерию, техническую поддержку).

    Image Removed

    1. Действия при переадресации (Исходящая линия) – план набора, который будет использован системой для переадресации звонка.*

    2. Действия при переадресации (Исходящая линия) – выбор плана набора из выпадающего списка.

    3. Введите номер – номер телефона на который нужно произвести переадресацию.

    4. Действие при переадресации (Входящая линия) – перечень действий при переадресации по входящей линии (аналогичной исходящей).

    5. Анонс для оператора – данный текст будет виден пользователю при переводе диалога на оператора и оператору при переводе диалога на него.

    6. Группа операторов – с помощью групп операторов можно переводить диалоги с клиентами в разные отделы вашей компании или на разных специалистов (например, в отдел продаж, бухгалтерию, техническую поддержку).

    * План набора создается в разделе "Телефония"

    Image Removed

    1. Действия при переадресации (Исходящая линия) – использует настройки переадресации из плана перевода.*

    2. Действия при переадресации (Исходящая линия) – выпадающий список с направлениями перевода.

    3. Действия при переадресации (Входящая линия) – перечень действий при переадресации по входящей линии (аналогичной исходящей).

    4. Анонс для оператора – данный текст будет виден пользователю при переводе диалога на оператора и оператору при переводе диалога на него.

    5. Группа операторов – с помощью групп операторов можно переводить диалоги с клиентами в разные отделы вашей компании или на разных специалистов (например, в отдел продаж, бухгалтерию, техническую поддержку).

    * План перевода создается в разделе "Телефония"

    Image Removed

    1. Действие при переадресации (Исходящая линия) – переводит по указанному номеру.

    2. Номер –номер телефона для перевода.

    3. Заголовки сопровождения – заголовочный текст для перевода.

    4. Действие при переадресации (Входящая линия) – перечень действий при переадресации по входящей линии (аналогичной исходящей).

    5. Анонс для оператора – данный текст будет виден пользователю при переводе диалога на оператора и оператору при переводе диалога на него.

    6. Группа операторов – с помощью групп операторов можно переводить диалоги с клиентами в разные отделы вашей компании или на разных специалистов (например, в отдел продаж, бухгалтерию, техническую поддержку).

    Image Removed

    1. Действия при переадресации (Исходящая линия) запускает указанный сценарий.

    2. Действия при переадресации (Исходящая линия) – выбор сценария для запуска.

    3. Действия при переадресации (Входящая линия) – перечень действий при переадресации по входящей линии (аналогичной исходящей).

    4. Анонс для оператора – данный текст будет виден пользователю при переводе диалога на оператора и оператору при переводе диалога на него.

    5. Группа операторов – с помощью групп операторов можно переводить диалоги с клиентами в разные отделы вашей компании или на разных специалистов (например, в отдел продаж, бухгалтерию, техническую поддержку).

    Image Removed

    Перезвонить

    1. Дата и время для перезвона – создает новое задание на обзвон для пользователя на определенное время.

    Данное поле использует переменную типа Дата, которая объявляется в стартовом блоке.

    Image Removed

    Идентификация клиента

    Робот отправит идентификатор клиента выбранному получателю

    1. Телефон получателя – номер телефона получателя идентификатора.

    2. Email получателя – адрес электронной почты получателя. идентификатора

    3. Идентификатор клиента – значение, позволяющее идентифицировать клиента. Таким может быть номер телефона, Email или ID.

    Image Removed

    Произвольный результат

    Используется для сохранения собственных переменных*

    1. Добавить элемент – позволяет создать переменные и присвоить им значения.

    * Подробнее о произвольном результате можно узнать здесь

    Image Removed

    Отмена перезвона

    Отменяет перезвон.

    Image Removed

    Div
    classpage-headline
    Блок «Запрос к серверу» ЯкорьБлокЗапросКсерверуБлокЗапросКсерверу

    Image Removed

    Описание:

    Данный блок позволяет роботу во время диалога с пользователем взаимодействовать с внешней или внутренней CRM-системой для обмена информации о клиенте посредством API. Робот может взаимодействовать с CRM-системой как для поиска и получения уже имеющейся информации о клиенте (место проживания, адрес места жительства, профессия), так и для сохранения новой информации о клиенте (например, наличие домашних животных, увлечения, интересы и т.д.), полученной во время диалога. При помощи данного блока робот также может использовать любые сетевые сервисы, которые доступны посредством API (например, калькулятор, конвертер величин, прогноз погоды, программа передач и др.).

    Пример:

    От клиента поступает входящий вызов. Робот идентифицирует номер телефона и отвечает на звонок. С помощью блока Запрос к серверу робот обращается в корпоративную CRM-систему, в которой хранятся клиентские данные, полная информация по всему предлагаемому ассортименту товаров, а также информация по статусам всех заказов. По номеру телефона робот получает информацию о клиенте и видит, что у клиента есть активный заказ. Робот обращается к клиенту по имени и до того, как клиент озвучивает цель звонка, интересуется, не хочет ли клиент узнать статус своего заказа. После утвердительного ответа робот предоставляет информацию о текущем статусе заказа.

    Информация

    Для лучшего понимания принципов работы блока Запрос к серверу рекомендуется прочитать информацию о синтаксисе формата JSON.

    Раскрыть
    titleСвойства блока
    ОписаниеСкриншот

    1. ID – уникальный идентификатор блока.

    2. Тип блока – отображает тип выбранного блока. Позволяет заменить тип блока на любой другой.

    3. Маркер блока – произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

    4. Сообщение с просьбой подождать – текст с просьбой подождать, который будет воспроизведен роботом. Данный текст можно использовать, чтобы заполнить паузу, во время которой система выполняет обращение к API стороннего сервиса или CRM-системы.

    5. Отправить немедленно – позволяет отправить сообщения до полного формирования очереди.

    6. Задержка перед отправкой сообщения – период времени, по истечению которого будет произведена отправка сообщения после перехода в этот блок*.

    7. Добавить запись (Гибридный синтез) – позволяет загрузить с компьютера аудиозапись для озвучки данного блока с помощью гибридного синтеза речи.

    8. Как часто говорить еще подождать – период времени, по окончании которого  робот будет воспроизводить повторное сообщение (см. пункт №4) до тех пор, пока не будет получен ответ от сервера.

    9. Сообщение с просьбой подождать еще немного – текст с просьбой подождать, который будет воспроизведен роботом до получения ответа от стороннего сервиса или CRM-системы.

    10. Параметр для уведомленияURL-адрес, на который осуществляется переход после выполнения запроса. Данный параметр является необязательным для использования. Вы можете использовать его для уведомления о выполнении запроса (например, отображать страницу с текстом стандартного сообщения или изображением).

    11. Тип авторизации – тип авторизации пользователя для обеспечения доступа к данным на сервере. Возможные значения данного параметра описываются ниже.

    12. Выберите тип запроса – тип запроса к серверу. Возможные значения данного параметра описываются ниже.

    13. URL – адрес страницы, с которой работает робот. Содержит параметры запроса и переменные.

    Информация

    В строке адреса страницы можно указать переменную, через которую можно передавать информацию в сервис, к которому обращается робот.

    14. Cookie – при отправке запросов для некоторых методов требуется передавать cookie. Требуемое значение cookie содержится в ответе при первом обращении к методу.

    15. Добавить элемент – при отправке запросов для некоторых методов требуется передавать заголовки. Требуемые значения заголовков содержатся в ответе при первом обращении к методу.

    16. Принудительный асинхронный режим – возможность бота продолжать диалог во время того, как он отсылает запрос к серверу.

    Задержка в блоках начинает срабатывать лишь после получения первого ответа от пользователя

    Image RemovedImage Removed

    Типы запросов:

    ТипОписаниеСкриншотGET

    Используется для получения данных от сервера.

    Используя этот тип запроса, можно получать данные о заказе, товаре, пользователе и т.д.

    1. URL - адрес страницы, с которой будет работать робот.

    2. Cookie - значение cookie (если требуется для работы с методом стороннего сервиса).

    3. Добавить элемент - значение заголовка (если требуется для работы с методом стороннего сервиса).

    4. Принудительный асинхронный режим - возможность бота продолжать диалог во время того, как он отсылает запрос к серверу.

    Image Removed

    POST

    Применяется для отправки данных на сервер.

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

    1. URL – адрес страницы, с которой будет работать робот.

    2. Cookie значение cookie (если требуется для работы с методом стороннего сервиса).

    3. Добавить элемент – значение заголовка (если требуется для работы с методом стороннего сервиса).

    4. Принудительный асинхронный режим – возможность бота продолжать диалог во время того, как он отсылает запрос к серверу.

    5. Выберите тип содержимого – тип передаваемого содержимого. Возможные значения:

    • JSON - данные передаются в формате JSON
    • Form - данные передаются в текстовой форме

    6. Добавить элемент  позволяет установить порядок указания ключа и значения.

    Например: если нужно отправлять данные в теле запроса, то ключ first_name нужно записать в левое поле, а его значение Владимир следует записать в правое поле.

    Блок кода
    {
    "first_name" : "Владимир"
    }

    7. Название переменной с вложением – позволяет отправить в запросе вложенный файл.

    Image Removed

    Delete

    Применяется для удаления данных на сервере. В запросе требуется указать ID изменяемого ресурса. 

    Используя этот тип запроса, можно удалять данные о заказе, товаре и т.д.

    1. URL – адрес страницы, с которой будет работать робот.

    2. Cookie – значение cookie (если требуется для работы с методом стороннего сервиса).

    3. Добавить элемент – значение заголовка (если требуется для работы с методом стороннего сервиса).

    4. Принудительный асинхронный режим – возможность бота продолжать диалог во время того, как он отсылает запрос к серверу.

    Image Removed

    Put

    Применяется для отправки данных на сервер. В запросе требуется указать ID изменяемого ресурса. 

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

    1. URL – адрес страницы, с которой будет работать робот.

    2. Cookie – значение cookie (если требуется для работы с методом стороннего сервиса).

    3. Добавить элемент – значение заголовка (если требуется для работы с методом стороннего сервиса).

    4. Принудительный асинхронный режим – возможность бота продолжать диалог во время того, как он отсылает запрос к серверу.

    5. Выберите тип содержимого – тип передаваемого содержимого. Возможные значения:

    • JSON - данные передаются в формате JSON
    • Form - данные передаются в текстовой форме

    6. Добавить элемент – позволяет установить порядок указания ключа и значения.

    Например: если нужно отправлять данные в теле запроса, то ключ first_name нужно записать в левое поле, а его значение Владимир следует записать в правое поле.

    Блок кода
    {
    "first_name" : "Владимир"
    }

    7. Название переменной с вложением – позволяет отправить в запросе вложенный файл.

    Image Removed

    Типы авторизации:

    ТипОписаниеСкриншотОтсутствует

    Данный тип используется, если для работы со страницей не требуется проходить авторизацию (например, если сервис находится в защищенном контуре).

    1. Выберите тип запроса – один из типов запроса описанных выше.

    2. URL – адрес страницы, с которой будет работать робот.

    3. Cookie – значение cookie (если требуется для работы с методом стороннего сервиса).

    4. Добавить элемент – значение заголовка (если требуется для работы с методом стороннего сервиса).

    5. Принудительный асинхронный режим – возможность бота продолжать диалог во время того, как он отсылает запрос к серверу.

    Image Removed

    Логин/Пароль

    Данный тип используется, если для работы со страницей требуется выполнить авторизацию по логину и паролю.

    1. Имя пользователя – логин клиента.

    2. Пароль – пароль клиента.

    3. Выберите тип запроса – один из типов запроса описанных выше.

    4. URL – адрес страницы, с которой будет работать робот.

    5. Cookie – значение cookie (если требуется для работы с методом стороннего сервиса).

    6. Добавить элемент – значение заголовка (если требуется для работы с методом стороннего сервиса).

    7. Принудительный асинхронный режим – возможность бота продолжать диалог во время того, как он отсылает запрос к серверу.

    Image Removed

    Заголовок

    Данный тип используется, если для работы со страницей требуется использовать авторизационный токен.

    В этом случае требуется:

    1. Тип авторизации – схема авторизации, которую робот будет использовать для работы со страницей.

    2. Значение ключа – имя ключа.

    3. Выберите тип запроса – один из типов запроса описанных выше.

    4. URL – адрес страницы, с которой будет работать робот.

    Пример: Если в заголовке токен передается в ключе Authorization в следующем виде:

    Блок кода
    Authorization: Bearer t490da279fd42889f56

    то в поле Тип авторизации нужно указать Bearer, а в поле Значение Ключа, нужно указать t490da279fd42889f56

    5. Cookie – значение cookie (если требуется для работы с методом стороннего сервиса).

    6. Добавить элемент – значение заголовка (если требуется для работы с методом стороннего сервиса).

    7. Принудительный асинхронный режим – возможность бота продолжать диалог во время того, как он отсылает запрос к серверу.

    * Подробнее о схемах можно ознакомиться в следующей статье.

    Image Removed

    Раскрыть
    titleСвойства стрелки

    Свойства:

    ОписаниеСкриншот

    1. Текст стрелки – вспомогательный текст, который позволяет создателю сценария ориентироваться в связях.

    2. Тип – тип принятия решения. Переход к следующему блоку скрипта осуществляется при достижении определенного результата запроса (успешен или не успешен) или по умолчанию.

    Image Removed

    Типы:

    ТипОписаниеСкриншотПо умолчаниюДанный тип используется для перехода по ветке, в случае, если условия во всех остальных стрелках данного блока не будут соблюдены.

    Image Removed

    РезультатУспешно

    Переход по ветке будет произведен, если код ответа от сервера совпадет с указанным в свойствах стрелки, и если указанные условия были выполнены.

    Результат ответа от сервера будет сохранен в переменную result.

    1. Успешность запроса – определяет успешность запроса.

    2. Загрузить файл – возможность экспорта условий и переменных из файла.

    3. Код ответа – код, который система будет ожидать после выполнения запроса.*

    4. Условия – набор условий, по которым принимается решение.

    5. Добавить элемент – создание переменной, в которую будет записано значение из ответа от сервера.

    Например, мы получили ответ вида:

    Блок кода
    {
        "success": true,
        "data": {
            "booking_days": {
                "6": [
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15,
                    16,
                    17,
                    18,
                    19,
                    20,
                    21,
                    22,
                    23,
                    24,
                    25,
                    26,
                    27,
                    28,
                    29,
                    30
                ],
                "7": [
                    1,
                    2,
                    3,
                    4
                ]
            },
            "booking_dates": [
                "2022-06-02",
                "2022-06-03",
                "2022-06-04",
                "2022-06-05",
                "2022-06-06",
                "2022-06-07",
                "2022-06-08",
                "2022-06-09",
                "2022-06-10",
                "2022-06-11",
                "2022-06-12",
                "2022-06-13",
                "2022-06-14",
                "2022-06-15",
                "2022-06-16",
                "2022-06-17",
                "2022-06-18",
                "2022-06-19",
                "2022-06-20",
                "2022-06-21",
                "2022-06-22",
                "2022-06-23",
                "2022-06-24",
                "2022-06-25",
                "2022-06-26",
                "2022-06-27",
                "2022-06-28",
                "2022-06-29",
                "2022-06-30",
                "2022-07-01",
                "2022-07-02",
                "2022-07-03",
                "2022-07-04"
            ],
            "working_days": {
                "6": [
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15,
                    16,
                    17,
                    18,
                    19,
                    20,
                    21,
                    22,
                    23,
                    24,
                    25,
                    26,
                    27,
                    28,
                    29,
                    30
                ],
                "7": [
                    1,
                    2,
                    3
                ]
            },
            "working_dates": [
                "2022-06-02",
                "2022-06-03",
                "2022-06-04",
                "2022-06-05",
                "2022-06-06",
                "2022-06-07",
                "2022-06-08",
                "2022-06-09",
                "2022-06-10",
                "2022-06-11",
                "2022-06-12",
                "2022-06-13",
                "2022-06-14",
                "2022-06-15",
                "2022-06-16",
                "2022-06-17",
                "2022-06-18",
                "2022-06-19",
                "2022-06-20",
                "2022-06-21",
                "2022-06-22",
                "2022-06-23",
                "2022-06-24",
                "2022-06-25",
                "2022-06-26",
                "2022-06-27",
                "2022-06-28",
                "2022-06-29",
                "2022-06-30",
                "2022-07-01",
                "2022-07-02",
                "2022-07-03"
            ]
        },
        "meta": []
    } 

    Чтобы сохранить второй элемент массива 6 (значение 3) из ключа booking_days, в правое поле нужно записать следующее значение: result.data.booking_days.6.1.

    Где:

    • result – тело ответа
    • data – имя объекта в теле ответа
    • booking_days – имя ключа
    • 6 – имя массива
    • 1 – позиция элемента в массиве (начиная с 0)

    Чтобы сохранить третий элемент массива 7 (значение 3) из ключа booking_days, в правое поле нужно записать следующее значение: result.data.booking_days.7.2.

    Где:

    • result – тело ответа
    • data – имя объекта в теле ответа
    • booking_days – имя ключа
    • 7 – имя массива
    • 2 – позиция элемента в массиве (начиная с 0)

    Чтобы сохранить второй элемент из ключа booking_dates (значение 2022-06-03), в правое поле нужно записать следующее значение: result.data.booking_dates.1.

    Где:

    • result – тело ответа
    • data – имя объекта в теле ответа
    • booking_dates – имя ключа
    • 1 – позиция элемента в массиве (начиная с 0)
    * Подробнее о кодах состояния можно прочесть здесь

    Image Removed

    Не успешноПереход по ветке будет произведен, если ответ от сервера получить не удалось.

    Image Removed

    Div
    classpage-headline
    Блок Арифметика ЯкорьБлокАрифметикаБлокАрифметика

    Image Removed

    Описание:

    Данный блок используется для выполнения арифметический операций над числами и переменными.

    Раскрыть
    titleСвойства блока

    Типы:

    ОписаниеСкриншот

    1. ID – уникальный идентификатор блока.

    2. Тип блока – отображает тип выбранного блока. Позволяет заменить тип блока на любой другой.

    3. Маркер блока – произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

    4. Тип – определяет тип блока арифметической операции.

    5. Добавить операцию – кнопки добавления арифметических действий в рабочую область и сама рабочая область для составления арифметического выражения.*

    6. Добавить переменную – поле для добавления переменной в рабочую область.

    7. Сохранить результат в переменную – поле сохранения результата вычислений. Результат вычислений всегда сохраняется в переменную (обязательно для заполнения).

    Image Removed

    1. Смещение от даты – позволяет произвести смещение от указанной даты в большую или меньшую строну. Смещение производится в секундах.

    2. Сохранить результат в переменную – позволяет сохранить полученную после смещения дату в переменную в формате «ГГГГ-ММ-ДД ЧЧ:ММ:СС».

    Image Removed

    *Помимо простых арифметических выражений, доступна функция округления результата, для этого необходимо записать выражение в виде: math.round({var},2), где {var} - переменная, число или арифметическое выражение, 2 - точность округления (знаков после запятой.

    Примеры:

    math.round(1/3,2) - будет произведено деление 1 на 3 и результат будет записан с точностью 2 знака после запятой - 0.33

    math.round(1.6666666,0) - число 1.6666666 будет округлено до целого - 2
    Image Removed
    Примечание
    titleВажно!

    Один блок поддерживает одно арифметическое выражение в одну строку. Если необходимы последовательные вычисления, то используются последовательно соединенные блоки.

    У блока всегда должны быть одна входная и одна выходная стрелки.

    Div
    classpage-headline
    Блок Порядковый выбор ЯкорьБлокПорядковыйВыборБлокПорядковыйВыбор

    Image Removed

    Описание:

    Данный блок используется для последовательного перехода по исходящим из него веткам диалога в рамках одной сессии.

    Пример: при первом посещении "блока порядковый выбор" будет произведен переход по ветке с порядковым номером "1", при повторном посещении того же самого блока "порядковый выбор", будет произведен переход по ветке диалога с порядковым номером "2", при третьем посещении - по ветке с порядковым номером "3" и т.д.

    Раскрыть
    titleСвойства блока
    ОписаниеСкриншот

    1. ID – уникальный идентификатор блока.

    2. Тип блока – отображает тип выбранного блока. Позволяет заменить тип блока на любой другой.

    3. Маркер блока – произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

    Image Removed

    Раскрыть
    titleСвойства стрелки

    Свойства:

    ОписаниеСкриншот

    1. Текст стрелки – нередактируемое поле, определяется порядковым номером стрелки.

    2. Порядковый номер – порядковый номер посещения блока, на основании которого будет выбрана дальнейшая ветка диалога.

    Image Removed

    Примечание
    titleТестирование сообщений

    Нумерация стрелок должна начинаться с "1" и производиться по порядку. Если не будет доступной стрелки с порядковым номером текущего посещения блока, то будет произведен перевод на оператора.

    Div
    classpage-headline
    Блок Телепорт ЯкорьБлокТелепортБлокТелепорт

    Image Removed

    Описание:

    Блок телепорт - эквивалент стрелки, и его задача связывать блоки между собой.

    Раскрыть
    titleСвойства блока
    ОписаниеСкриншот

    1. ID – уникальный идентификатор блока.

    2. Тип блока – отображает тип выбранного блока. Позволяет заменить тип блока на любой другой.

    3. Маркер блока – произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

    4. Примечание для телепорта – произвольный пользовательский текст, который может использоваться для описания работы блока. Также благодаря этому тексту можно удобно найти нужный блок с помощью сочетаний клавиш ctrl+F.

    5. Выбрать блок – блок, в который будет осуществляться перенаправление.

    Image Removed

    Div
    classpage-headline
    Блок Пустой ЯкорьБлокПустойБлокПустой

    Image Removed

    Описание:

    Пустой блок используется для более удобного построения сценария. Кроме того, что с помощью него возможно создавать более структурированные конструкции блоков, он также позволяет проводить более одной стрелки между двумя блоками.

    Раскрыть
    titleСвойства блока
    ОписаниеСкриншот

    1. ID – уникальный идентификатор блока.

    2. Тип блока – отображает тип выбранного блока. Позволяет заменить тип блока на любой другой.

    3. Маркер блока – произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

    Image Removed

    Div
    classpage-headline
    Блок AI ЯкорьБлокAIБлокAI

    Image Removed

    Описание:

    Блок AI используется для выполнения интеграций со сторонними нейронными сетями.

    Image Removed

    Раскрыть
    titleСвойства блока
    ОписаниеСкриншот

    1. ID – уникальный идентификатор блока.

    2. Тип блока – отображает тип выбранного блока. Позволяет заменить тип блока на любой другой.

    3. Маркер блока – произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

    4. Модель – модель нейронной сети.

    5. Тип – тип нейронной сети.

    6. Добавить запись – позволяет загрузить с компьютера аудиозапись для озвучки данного блока живым голосом.

    7. Записаться аудио – позволяет создать и скачать аудиозапись для озвучки данного блока живым голосом.


    ...

    English

    Table of contents

    1. Script

                Creating a script
                Script Editor window
                Work with blocks
                Script settings
                Work with variables

    2. Elements

                Arrow (Branch)
                Start Block
                Question Block
                Pause Block
                Information Block
                Condition Block
                Randomization Block
                Emotions Block
                Result Block
                Server Request Block



    1. Script 
    Якорь
    Script
    Script


    Div
    classpage-headline

    Creating a script

    Якорь
    CreatingScript
    CreatingScript


    Importance of focusing on “Audio type” field is very high as it afterwards controls capability of adding audio recording to repeat phrases section and efficiency of “voice block” section.

















    On pictures below you can see how repeat section appearance changes depending on defined settings in pause block.


    Type Synthesis

    The system will speak given text

    Type Audiorecording

    The system will use added audiorecordings



    Примечание

    In blocks such as “Server Question”, “Pause”, “Request” and “Information” added audio recordings (section voice block) are used instead of the text.



    Div
    classpage-headline

    Script Editor window

    Якорь
    ScriptEditor
    ScriptEditor



    A question-answer system which bears a superficial resemblance to a tree with neural network training and extraction of answers. Script is made as a question-answer basis, the questions and possible answers are developed ourselves. During the call, depending on possible response, the system will operate according to the script.



    Control elements (Controls):

    NameScreenshotDescription
    Action options

    Allows to set dialing scripts

    Flowline (Arrow)

    Allows to set script direction
    Hand icon

    Allows to navigate workspace
    Cursor

    Allows to work with the object or highlight it
    Map

    Opens a workspace window for quick navigation

    Zoom

    Changes workspace scale

    Cancel

    Step forward
    Back

    Step back
    Save

    Script saving
    Delete

    Delete script
    Delete media

    Delete all recorded and downloaded files

    Previous

    Go to the last added block

    Clean

    Back to the original state

    Chat

    Allows to see the script in chat form

    Microphone

    Allows to see the script in dialog form


    Hotkeys:

    ResultKey

    Script saving

    Ctrl + S

    Undo the last step

    Ctrl + Z

    Remove the highlight

    Esc

    Delete selected item

    Del



    Div
    classpage-headline

    Work with blocks

    Якорь
    WorkWithBlocks
    WorkWithBlocks



    Each block / arrow settings is configured on the right side of the editor screen on the workspace. In order to open the properties, you need to click on the block / arrow with the left mouse button. There is also a function that allows you to create blocks you use frequently in just one click. Selected block has buttons at the bottom, such as “Question”, “Information”, and “Random Selection”. The user only has to pull one of the buttons to place the block in the workspace.




    Div
    classpage-headline

    Script settings

    Якорь
    ScriptSettings
    ScriptSettings



    For cases when automatic speech recognition is not possible or the blocks do not have connections (arrows) it is possible to configure the call forwarding to a specialist.




    Div
    classpage-headline

    Work with variables

    Якорь
    WorkWithVariables
    WorkWithVariables



    Creation and use of a variable is going through a simple declaration in the field.

    For example, we create a variable which contains the current date and let's name it CurrentYear

    As you can see in the screenshot, the name is just typed into the field. As soon as the system reaches this exact block, it automatically creates a variable with that name, recorded data we need but to use created variable, you need to enclose it in curly brackets.

    Примечание

    No need of braces for a variable in ‘Requirement’ block


    As you can see in the screenshot, this block includes condition which we had put in the variable earlier. 



    2. Elements
    Якорь
    Elements
    Elements


    Div
    classpage-headline

    Arrow (Branch)

    Якорь
    Arrow
    Arrow


    Description:

    Shows the direction of the script (branch) and determines conditions for the transition from one block to another. For such blocks as “Question”, “Condition”, “Server Request” and “Emotions”, the arrow has properties different from all other blocks.


    Раскрыть
    titleArrow Properties


    Description

    Screenshot

    1. Arrow title

    It can be used as a mark for ourselves, in order to know what kind of response we will be expecting from the user, or any other information that will facilitate our navigation through the script




    Div
    classpage-headline

    Start Block

    Якорь
    StartBlock
    StartBlock


    Description:

    This block is used to fix the beginning of the script.The block does not imply any actions, and serves solely to display beginning of the dialog script to the user. It allows navigating in case of a large dialog script “tree”. 


    Раскрыть
    titleBlock Properties


    DescriptionScreenshot

    1. Script name

    2. Creation of variables to be used as part of the script

    The type of variables determines how they will be spoken by the system during the dialog. The system will be declining the date and amount in rubles depending on the number




    Div
    classpage-headline

    Question Block

    Якорь
    QuestionBlock
    QuestionBlock


    Description:

    This block is intended (to survey) for polling the user.


    Exit Criteria:

    • After the recognition session has expired
    • By keyword


    Раскрыть
    titleBlock Properties


    DescriptionScreenshot

    1. Title of the block

    2. Text of the question to be spoken by the system

    3. List of phrases spoken bythe system in case of user’s no response*

    4. Time duration the system awaits for the answer from user to finish the call**


    Total speech recognition duration time:
    • Short – 5 seconds
    • Middle – 7 seconds
    • Long – 10 seconds


    5. Speech recognition service selection
    • System 1 – Google recognition service
    • System 2 – Yandex recognition service


    6. If ticked, the system will recognize the user's emotional coloring and record it in the variable {detector.emotions}***

    7. If ticked, the system will not be waiting for a response from the user, but will transfer it to the operator

    8. If ticked, the system will not be trying to find response to the question through other blocks of the “Question” type, located on the same branch


    * If there are more than one options, then phrases will be spoken in random order
    ** You can read more about recognition duration time here
    *** You can read more about types of emotions here. (You can read more about types of emotion here



    Раскрыть
    titleArrow Properties

    Properties:

    DescriptionScreenshot

    1. Title

    2. Creation of a variable in which the system will record a response from the user

    3. Data type that the system expects from the user to proceed to navigate through the branch

    4. Name of the response button*

    5. Determines display order of the button*

    Thus, if we have a button with a serial number equal to 3 in one of the 4 development branches, then this button will be displayed penultimate in the list.

    * Used for chats only


    Types:

    TypeDescriptionScreenshot
    Default Branch

    This type is used for navigation if the system failed to find a voiced response in all other arrows of this block.


    1. Name of the response button (see description in the Arrow Properties)

    2. Determines display order of the button (see description in the Arrow Properties)

    Keywords

    Navigation through the branch will be performed if the user's response matches the keyword.


    1. Words or expressions that the system expects from the user to navigate through the branch

    Enter keywords separated by spaces. Expressions shall be entered using quotation marks, i.e. “already on the spot

    It is also possible to use the abstract word NEAR in an expression that will mean any word, i.e.:“I am not going NEAR”, where NEAR can be any word: anywhere, ever, now, tomorrow, etc.

    The system is provided with a balance system, when the explicit response “yes”from a person may not always denote recognition, i.e.: “Yes, I can clearly hear you, I am not going to lunch”.In this response, we can see the word “yes”and preposition “not”, which is of higher priority in the context, and is a negation in the general concept of the response: “I am not going to lunch”. Thus, when arranging keywords and expressions, it will be more explicit to add some “weight” to negative words: “+++no” and “+no”. Each plus sign has a unit of weight. Where the word or expression is one unit. Accordingly, in the example one word is added to the word “no”, and 3 words are added to the preposition “not”. In case of quantitative predominance, the decision making system will choose this route.

    In the opposite situation, we alternatively can reduce the weight using the minus sign: “-yes”


    2. Name of the response button (see description in the Arrow Properties)

    3. Determines display order of the button (see description in the Arrow Properties)

    Date

    Navigation through the branch will be performed if date announced by the user matches the date specified in the arrow properties.


    1. Value Check Condition

    For example, to match the delivery date of goods, it is possible to check that the date is greater than the current one in order to avoid the situation when the delivery will be arranged for the previous day.

    2. Response that the system expects from the user

    The system knows and able to work with dates and relative dates. Example of user responses that the system can recognize:

    • January 23
    • Tomorrow
    • Day after tomorrow
    • Yesterday
    • Day before yesterday
    • In n days
    • n days ago
    • January 23, 1996

    If the year is not explicitly specified in the date, then the current one is applied

    Also, this type is trying to determine the time. Possible variants:

    • At 14:00
    • In minutes
    • In hours

    If the user does not explicitly specify the time, then the current one is applied

    3. Name of the response button (see description in the Arrow Properties)

    4. Determines display order of the button (see description in the Arrow Properties)

    Number

    Navigation through the branch will be performed if number announced by the user matches the number specified in the arrow properties.


    1. Value Check Condition

    For example, when conducting an opinion poll, the system may ask a question: “How old are you?”, and then ask different questions for various age groups according to specific conditions. 

    The comparison follows the following rules:

    {RECOGNIZED} {OPERATOR} {COMPARED}

    Where 

    • {RECOGNIZED} is the number that was recognized in the user's speech during the dialog
    • {OPERATOR}is the comparison operator (less, more, equal, etc.)
    • {COMPARED} is the value specified in the properties (see item No. 2)*


    2. Response that the system expects from the user

    3. Name of the response button (see description in the Arrow Properties)

    4. Determines display order of the button (see description in the Arrow Properties)


    * May contain variables enclosed in curly brackets, which can be transmitted when setting a task.

    Big Number

    Navigation through the branch will be performed if the announced number of symbols in the number matches the number of symbols specified in the arrow properties.

    1. Value check condition.

    2. Expected input mask.

    For example, for a passport we can set a mask of the form #### ######, where each symbol # denotes a digit.

    3. If the system failed to recognize response or the user response does not match the specified one, then the system will not attempt to re-poll.

    4. Value that the system expects from the user:

    If a person during conversation denotes a number that will not fit the specified value, then the system will prompt the user to say the remaining digits until they exactly match the specified option in the script.

    5. Name of the response button (see description in the Arrow Properties).

    6. Determines display order of the button (see description in the Arrow Properties).

    Intelligent decision making

    Navigation through the branch will be performed if the intention specified in the properties matches the already voiced intention of the user*:

    1. System selection.

    2. Agent selection.

    3. Intentions that the system expects from the user.

    4. Creation of variables in which data clarified by the system during the dialog can be recorded.

    5. Name of the response button (see description in the Arrow Properties).

    6. Determines display order of the button (see description in the Arrow Properties).


    * To work with this type, established connection to Twin.ai and a trained agent are required. You can read more about it here.




    Div
    classpage-headline

    Pause Block

    Якорь
    PauseBlock
    PauseBlock


    Description:

    This block switches the system to standby mode.

    Exit Criteria:

    • After the set time has expired
    • By key word


    Раскрыть
    titleBlock Properties


    DescriptionScreenshot

    1. Title.

    2. Text that will be spoken by the system upon completion of navigation to the block.

    3. Keywords that the system expects to exit the block.

    4. Time after which the text from the section Repeat textwill be spoken (see item No. 6).

    5. Time after which the call will be transferred to the operator.

    6. Repeat options that will be spoken by the system after timeout*.

    * If there are more than one options, then phrases will be spoken in random order.





    Div
    classpage-headline

    Information Block

    Якорь
    InformationBlock
    InformationBlock


    Description:

    This block is used to issue voiced message to the user.

    Exit Criteria:

    • After a message spoken by the system
    • Block skip


    Раскрыть
    titleBlock Properties


    DescriptionScreenshot

    1. Title.

    2. Text that will be spoken by the system upon completion of navigation to the block.

    3. The system will skip the current block if has already spoken the information block, which we will select in this item*.

    * It is possible to select a block of “Information”type only.





    Div
    classpage-headline

    Condition Block

    Якорь
    ConditionBlock
    ConditionBlock


    Description:

    This block allows determining the script direction according to the dialog state. Navigation through arrow will be performed if all conditions specified by the user are met.


    Раскрыть
    titleBlock Properties


    DescriptionScreenshot

    1. Block title.



    Раскрыть
    titleArrow Properties

    Properties:

    DescriptionScreenshot

    1. Subtext allowing the script creator to navigate the links.

    2. Decision-making method.


    Types:

    TypeDescriptionScreenshot
    By defaultThis type is used to navigate through the branch if conditions in all other arrows of this block are not met.

    AND/OR Condition

    Navigation through the branch will be performed if the specified condition is met.

    1. Set of conditions according to which a decision is made:

    • The “AND” condition requires that all specified conditions be met.
    • The “OR” condition requires that at least one specified condition is met.


    2. Intended for setting values to variables.

    The name of variable without curly brackets is recorded in the left field.

    The value that we want to assign to the variable is recorded in the right field*.

    * It is allowed to use variables that will be further replaced with their value at the time of assignment.


    Информация
    titleOperation “*”

    It is possible to use operation “*” in section "Conditions" for the right field.

    This operation is used to determine text by mask, where * is any number of letters or digits.

    For example: if the condition is of the form name = *na, then such names as Sabrina, Lorena, Joanna, etc. will meet this condition.


    Примечание
    titleDecision weight

    If there are two branches that meet the navigation, then the branch in which the number of matching conditions is greater will be selected. If the matching conditions are equal, then the priority will be given to the branch with the “Condition AND” type, because it is more strict.




    Div
    classpage-headline

    Randomization Block

    Якорь
    RandomizationBlock
    RandomizationBlock


    Description:

    This block is intended to ensure variability of the dialog. The system randomly navigates through arrows that exit the block.


    Раскрыть
    titleBlock Properties


    DescriptionScreenshot

    1. Title.

    2. Description that the user can write for oneself.




    Div
    classpage-headline

    Emotions Block

    Якорь
    EmotionsBlock
    EmotionsBlock


    Description:

    This block allows determining the script direction according to the user emotions. Navigation through arrow will be performed if all conditions specified by the user are met.


    Раскрыть
    titleBlock Properties


    DescriptionScreenshot

    1. Block title



    Раскрыть
    titleArrow properties

    Properties:

    DescriptionScreenshot

    1. Subtext allowing the script creator to navigate the links.

    2. Selection of emotion that the system will expect to navigate through the branch.


    Types:

    TypeDescription
    PositiveNavigation through arrow will be performed if value of the variable {detector.emotions} is positive.
    NegativeNavigation through arrow will be performed if value of the variable {detector.emotions} is negative.
    NeutralNavigation through arrow will be performed if value of the variable {detector.emotions} is neutral.




    Div
    classpage-headline

    Result Block

    Якорь
    ResultBlock
    ResultBlock


    Description:

    This block is intended for recording the result of the conversation, as well as for forced transfer to the operator, sending a message and/or notification.


    Раскрыть
    titleBlock Properties


    DescriptionScreenshot

    1. Block title.

    2. Description that the user can write for oneself.

    3. Decision-making type.


    Types:

    TypeDescriptionScreenshot
    Email Sending

    1. Recipient email address.

    2. Letter head.

    3. Message text.

    Notification Sending

    1. Template that the system will use for notification sending.

    2. Recipient phone number.

    3. Recipient email address.

    4. Notification sending method.


    Примечание
    titleTesting Messages

    If you want to send the result of the conversation to oneself, it is better to send by e-mail, because it is free. Sending call results through notifications is charged.


    Result Recording

    Saving dialog data to a report:

    1. Field to which it is possible to record the date to be uploaded to the report*.

    2. Field to which it is possible to record the rating to be uploaded to the report*.

    3. Field to which it is possible to record the data to be uploaded to the report*.

    * Optional field

    Transfer to the Operator

    1. Call ending.

    1. The call will be transferred to the operator.

    1. Forwarding settings from the dialing task are used.

    2. Text that will be spoken by the system after the operator picks up the phone.

    1. Dial plan to be used by the system for call forwarding*.

    2. Phone number to be redirected to

    3. Text that will be spoken by the system after the operator picks up the phone.

    * The dial plan is created in the section “Telephony”

    1. Call forwarding settings from the transfer plan are used*.

    2. Text that will be spoken by the system after the operator picks up the phone.

    * The dial plan is created in the section “Telephony”

    1. Start of the specified script.

    2. Text that will be spoken by the system after the operator picks up the phone.

    Call Back

    1. Creation of a new call task for a user for specific time.

    This field uses a variable of type Date which is declared in the start block.




    Div
    classpage-headline

    Server Request Block

    Якорь
    ServerRequestBlock
    ServerRequestBlock


    Description:

    This block is used to complete a request to an external server.

    It is recommended to read about the syntax of the JSON format for a better understanding of the block operation. Read


    Раскрыть
    titleBlock Properties


    DescriptionScreenshot

    1. Block title.

    2. Text with a request of expectation to be spoken by the system.

    3. Time after which the system will speak a repeated message (see item No. 4).

    4. Text with a request of expectation that will be spoken by the system while the server will be completing the server request.

    5. Type of authorization to the server.

    6. Request type.

    7. URL of the page we will be working with.


    Types of requests:

    TypeDescriptionScreenshot
    GET

    Is used to receive data from the server.

    It is possible to obtain data about the order, product, user, etc. using this type of request.

    1. URL of the page we will be working with

    POST

    Is used to send data to the server

    It is possible to save data about the order, create product, refresh the user data, etc. using this type of request.

    1. URL of the page we will be working with.

    2. Allows setting the required key value.

    For example: If we need to send data in the form of the body.

    Блок кода
    {
    "first_name" : "John"
    }

    then record the key first_name in the left field, and its value John in the right field.


    Authorization types:

    TypeDescriptionScreenshot
    N/A

    This type is used if we do not need authorization to work with the page:

    1. Request type.

    2. Page URL.

    Login/Password

    This type is used if we are required to log in to work with the page:

    1. Login.

    2. Password.

    3. Request type.

    4. Page URL.

    Header

    This type is used if we are required to use token to work with the page:

    1. Key name.

    2. Determines which authorization scheme will be used to work with the page*.

    For example: If we pass the token in the Authorization key in the header as follows.


    Блок кода
    Authorization: Bearer t490da279fd42889f56


    then in the field Authorization type the user must input Bearer.

    and in the field Key value the user must input t490da279fd42889f56.

    3. Request type.

    4. Page URL.


    * You can read more about the schemes  here



    Раскрыть
    titleArrow Properties

    Properties:

    DescriptionScreenshot

    1. Subtext allowing the script creator to navigate the links.

    2. Decision-making types.



    Types:

    TypeDescriptionScreenshot

    By default


    This type is used to navigate through the branch if conditions in all other arrows of this block are not met.

    ResultSuccess

    Navigation through the branch will be performed if the server response code matches the code specified in the arrow properties, as well as if the specified conditions have been met.

    The server response result will be recorded to the variable result.


    1. Response code that the system expects after completing the request*.

    2. Set of conditions according to which a decision is made.

    3. Creation of a variable in which the value from the server response will be recorded.

    For example, we received the following response.

    Блок кода
    {
    "first_name" : "John", 
    "surname" : "Smith",
    "last_name" : "Doe",
    "age" : "51"
    }

    and we want to save only the age data from it.

    For this purpose, we need to record the value of the form result.age in the right field.

    Where:

    • result is the response body
    • age is the key in the response body

    If, for example, the response is as follows:

    Блок кода
    {
        "success": true,
        "data": {
            "booking_days": {
                "6": [
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15,
                    16,
                    17,
                    18,
                    19,
                    20,
                    21,
                    22,
                    23,
                    24,
                    25,
                    26,
                    27,
                    28,
                    29,
                    30
                ],
                "7": [
                    1,
                    2,
                    3,
                    4
                ]
            },
            "booking_dates": [
                "2022-06-02",
                "2022-06-03",
                "2022-06-04",
                "2022-06-05",
                "2022-06-06",
                "2022-06-07",
                "2022-06-08",
                "2022-06-09",
                "2022-06-10",
                "2022-06-11",
                "2022-06-12",
                "2022-06-13",
                "2022-06-14",
                "2022-06-15",
                "2022-06-16",
                "2022-06-17",
                "2022-06-18",
                "2022-06-19",
                "2022-06-20",
                "2022-06-21",
                "2022-06-22",
                "2022-06-23",
                "2022-06-24",
                "2022-06-25",
                "2022-06-26",
                "2022-06-27",
                "2022-06-28",
                "2022-06-29",
                "2022-06-30",
                "2022-07-01",
                "2022-07-02",
                "2022-07-03",
                "2022-07-04"
            ],
            "working_days": {
                "6": [
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15,
                    16,
                    17,
                    18,
                    19,
                    20,
                    21,
                    22,
                    23,
                    24,
                    25,
                    26,
                    27,
                    28,
                    29,
                    30
                ],
                "7": [
                    1,
                    2,
                    3
                ]
            },
            "working_dates": [
                "2022-06-02",
                "2022-06-03",
                "2022-06-04",
                "2022-06-05",
                "2022-06-06",
                "2022-06-07",
                "2022-06-08",
                "2022-06-09",
                "2022-06-10",
                "2022-06-11",
                "2022-06-12",
                "2022-06-13",
                "2022-06-14",
                "2022-06-15",
                "2022-06-16",
                "2022-06-17",
                "2022-06-18",
                "2022-06-19",
                "2022-06-20",
                "2022-06-21",
                "2022-06-22",
                "2022-06-23",
                "2022-06-24",
                "2022-06-25",
                "2022-06-26",
                "2022-06-27",
                "2022-06-28",
                "2022-06-29",
                "2022-06-30",
                "2022-07-01",
                "2022-07-02",
                "2022-07-03"
            ]
        },
        "meta": []
    } 

    To use the second element of array 6 (value 3) from the booking_days key, the following value should be written in the right field: result.data.booking_days.6.1.

    Where:

    • result – response body
    • data – object in response body
    • booking_days – key in response body
    • 6 – array in response body
    • 1 – position of element in array (starting from 0)

    To use the third element of array 7 (value 3) from the booking_days key, the following value should be written in the right field: result.data.booking_days.7.2.

    Where:

    • result – response body
    • data – object in response body
    • booking_days – key in response body
    • 7 – array in response body
    • 2 – position of element in array (starting from 0)

    To use the second element of the booking_dates key (value 2022-06-03),  the following value should be written in the right field: result.data.booking_dates.1.

    Where:

    • result – response body
    • data – object in response body
    • booking_dates – key in response body
    • 1 – position of element in array (starting from 0)
    * You can read more about the state codes here

    FailedNavigation through the branch will be performed if the server response failed.

    Div
    classpage-footer

    TWIN © 

    ...