08. Сценарии типа Nodul
Часто сценарий типа Nodul используется для быстрого внедрения в другой, основной сценарий уже настроенного и повторяющегося действия. Сформированный сценарий типа Nodul доступен к выбору в перечне всех узлов и визуально представляет из себя кастомизированный узел.
При выполнении Production-ветки основного сценария, который использует сценарий типа Nodul важен статус сценария типа Nodul:
- Если статус сценария типа Nodul Пауза и триггером основного сценария служит узел Trigger on Webhook - при выполнении сценария возникнет ошибка, указывающая на необходимость активации сценария типа Nodul.

- Если статус сценария типа Nodul Пауза и триггером основного сценария служит узел Trigger on RunOnce - при выполнении сценария ошибка не возникнет и сценарий будет выполнен.
- Если статус сценария типа Nodul Активен, то при любом триггере основного сценария ошибка не возникнет и сценарий будет выполнен.
Если выполняется Development-ветки версия сценария ошибок также не будет.
Создадим сценарий, записывающий строку в Google таблицу. Повторяющимся действием будем считать запись строки текста в Google таблицу. Специфичным действием будем считать получение строки данных из источника и ее преобразование, если это необходимо.
Таким образом, необходимо:
- Создать сценарий типа Сценарий с предварительным названием ”Строка в таблицу”, результатом выполнения которого является часто повторяющееся действие, т.е. занесение информации в Google таблицу:

- Добавить узел Trigger on Webhook для запуска сценария;
- Добавить узел Add Single Row для записи строки в Google таблицу в соответствии с настройками;

- Добавить узел Webhook response для возврата ответа на выполнение сценария;

- Сохранить и активировать сценарий;
- В сценарии ”Строка в таблицу” заменить узлы Trigger on Webhook и Webhook response на узлы NodulInput и NodulOutput соответственно;
В поле Иконка (svg) можно добавить XML-код иконки, для того чтобы сценарий было легче распознать.

- Заменить на название “Al Tools/Action/GoogleSheetAddRow” текущее название сценария ”Строка в таблицу”.
Часть названия “Al Tools/Action” необходима для хранения сценария в качестве узла типа Действие в нужной папке Al Tools.

- Заменить тип сценария на Nodul;


5. Добавить параметр узла NodulInput, например User - текстовая строка. Добавление параметров доступно по кнопке Добавить параметр.

6. Скорректировать настройки узла Add Single Row так, чтобы текст добавляемой в таблицу строки был равен значению параметра User узла NodulInput.

7. Добавить результат выполнения сценария “Строка добавлена” в поле Result узла NodulOutput;

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

- Добавить узел Trigger on Webhook для запуска сценария ”Получение и запись пользователей” и передачи в него JSON с данными пользователя:
{
"Surname": "Иванов",
"Name": "Иван",
"Email": "nodulemailexp@rambler.ru"
}
- Добавить узел JavaScript для формирования полного имени пользователя на основе переданных в Webhook данных с помощью кода:
export default async function run({execution_id, input, data}) {
const SurName = data["{{1.body.Surname}}"];
const Name = data["{{1.body.Name}}"];
const FullName = Name +' '+ SurName;
return {
FullName
}
}

- Добавить узел GoogleSheetAddRow (сценарий типа Nodul) для записи полного имени пользователя, полученного в узле JavaScript в Google таблицу;

- Добавить узел Webhook response для получение ответа узла GoogleSheetAddRow об успешном выполнении.

- Сохранить и активировать сценарий.
Результатом выполнения сценария является запись строки в Google таблицу и ответ об успешной записи строки.


В будущем, если информация о пользователе будет приходить из новых источников, или требовать другой обработки узел GoogleSheetAddRow можно будет использовать вновь, не настраивая заново логику записи строки в Google таблицу.
Подробнее об узлах NodulInput и NodulOutput см:
Рядом с названием сценария после смены типа обозначаются иконка “Nodul” (признак сценария типа Nodul) и иконка “Частный” (признак отсутствия общего доступа к сценарию).