Создать элемент смарт-процесса

Действие "Создать элемент смарт-процесса" позволяет создать элемент в заранее установленном смарт-процессе, записав в его поля значения из переменных.

Действие содержит следующие параметры:

Смарт-процесс - смарт-процесс в котором будет создан элемент.

Заполнение полей элемента - набор полей элемента смарт-процесса, которые нужно заполнить, где:
  • Поле элемента - поле элемента смарт-процесса, которое нужно заполнить. Обязательные поля нельзя удалить, они уже добавлены и действие не сохранится, если для них не указать значение.
  • Заполнить из - источник, откуда берутся данные для заполнения поля. Это может быть переменная, которая должна быть предварительно заполнена. Если переменная окажется пустая, а поле будет обязательным для заполнения - элемент не создастся.

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

Записать результат в переменную - если вы хотите в дальнейшем работать именно с этим элементом - сохраните его в переменную типа "Элемент смарт-процесса". Переменную можно создать в настройках (иконка с шестерёнкой) на вкладке "Переменные". Обратите внимание, что у данной переменной необходимо указать смарт-процесс с которым она потом будет работать, это можно будет сделать только единожды. Поэтому вам будет доступен список только тех переменных, у которых параметр "Смарт-процесс" соответствует аналогичному параметру в настройках действия.




Итого, для создания элемента вам нужно выполнить следующее:
  • Создать переменную с типом "Элемент смарт-процесса".
  • Создать набор переменных в которых будет храниться нужная вам информация, которую вы потом запишете в элемент смарт-процесса.
  • Записать нужные вам данные в эти переменные с помощью действий или типов ответа "Ждать произвольного ответа пользователя" и "Ожидать ответ из предустановленного списка".
  • В действии "Создать элемент смарт-процесса" сопоставить поля и ранее созданные переменные, а результат (сам элемент смарт-процесса) записать в переменную с типом "Элемент смарт-процесса".



Пример.

Наша цель - создать элемент смарт-процесса, который будет хранить информацию о выбранном клиентом товаре и контактные данные клиента.

Предположим, что у нас есть смарт-процесс "Заказы".

Помимо стандартных полей у нас есть ряд пользовательских:
  • Телефон - строка
  • Товар - привязка к элементу списка "Товары".




Создаём переменную "Заказ" с типом "Элемент смарт-процесса" и указываем смарт-процесс "Заказы".



Также создадим переменную "ФИО" с типом "строка", куда запишем имя клиента.



И переменную "Телефон" с типом "Телефон", куда запишем контактные данные клиента.



Список товаров мы храним в инфоблоке "Товары", поэтому создаём переменную "Товар" с типом данных "Привязка к элементу списка", в качестве списка по умолчанию указываем наш инфоблок "Товары".




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

Например, таким образом:



В узле "Как вас зовут?" просим клиента представиться и с помощью действия "Ждать произвольного ответа пользователя" записываем полученную информацию в переменную "ФИО".



Далее чат-бот перейдёт в узел "Ваши контактные данные", где попросит у клиента отправить ему номер телефона. С помощью действия "Ждать произвольного ответа пользователя" записываем ответ клиента в переменную "Телефон", предварительно проверив его формат.



После успешной записи телефона, чат-бот перейдёт в узел "Какой товар вас интересует?", где выведет в сообщении список товаров на выбор с помощью действия "Ожидать ответ из предустановленного списка". Указываем наш список "Товары" и переменную "Товар" в которую будет записан элемент списка.



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

В действии "Создать элемент смарт-процесса" нам нужно указать следующее:

Смарт-процесс - выбираем наш смарт-процесс "Заказы".

Заполнение полей элемента:
  • Название - это стандартное поле смарт-процесса, в него мы запишем имя клиента из переменной "ФИО".
  • Телефон - это пользовательское поле с типом "строка", записываем туда номер телефона из переменной "Телефон".
  • Товар - это пользовательское поле с типом "привязка к элементам инф. блоков", записываем туда товар из переменной "Товар".
  • Контакт - это стандартное поле смарт-процесса, позволяющий указать сущность контакта. У нас нет переменной для этого поля, но в зависимости от настроек открытой линии после того, как клиент укажет номер телефона - контакт может быть создан и привязан к чату. Поэтому попробует записать контакт из чата в это поле.

Записать результат в переменную - выбираем ранее созданную переменную "Заказ" с типом "Элемент смарт-процесса" и смарт-процессом "Заказы".





Итак, согласно нашему сценарию чат-бот запрашивает ФИО.



После ответа чат-бот сохраняет ФИО в переменную и запрашивает телефон.



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



И наконец, после того как все данные собраны, они записываются в новый элемент смарт-процесса.