Перейти к основному содержимому

08. Сценарии типа Nodul

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

При выполнении Production-ветки основного сценария, который использует сценарий типа Nodul важен статус сценария типа Nodul:

  • Если статус сценария типа Nodul Пауза и триггером основного сценария служит узел Trigger on Webhook - при выполнении сценария возникнет ошибка, указывающая на необходимость активации сценария типа Nodul.
  • Если статус сценария типа Nodul Пауза и триггером основного сценария служит узел Trigger on RunOnce - при выполнении сценария ошибка не возникнет и сценарий будет выполнен.
  • Если статус сценария типа Nodul Активен, то при любом триггере основного сценария ошибка не возникнет и сценарий будет выполнен.

Если выполняется Development-ветки версия сценария ошибок также не будет.

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

Таким образом, необходимо:

  1. Создать сценарий типа Сценарий с предварительным названием ”Строка в таблицу”, результатом выполнения которого является часто повторяющееся действие, т.е. занесение информации в Google таблицу:
  • Добавить узел Trigger on Webhook для запуска сценария;
  • Добавить узел Add Single Row для записи строки в Google таблицу в соответствии с настройками;
  • Добавить узел Webhook response для возврата ответа на выполнение сценария;
  • Сохранить и активировать сценарий;
  1. В сценарии ”Строка в таблицу” заменить узлы Trigger on Webhook и Webhook response на узлы NodulInput и NodulOutput соответственно;
подсказка

В поле Иконка (svg) можно добавить XML-код иконки, для того чтобы сценарий было легче распознать.

  1. Заменить на название “Al Tools/Action/GoogleSheetAddRow” текущее название сценария ”Строка в таблицу”.
подсказка

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

  1. Заменить тип сценария на Nodul;
подсказка

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

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

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

  1. Создать сценарий типа Сценарий с названием ”Получение и запись пользователей”, результатом выполнения которого является получение данных о пользователях, их преобразование и запись имени пользователя в 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 об успешном выполнении.
  1. Сохранить и активировать сценарий.

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

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

Подробнее об узлах NodulInput и NodulOutput см:

подсказка

Рядом с названием сценария после смены типа обозначаются иконка “Nodul” (признак сценария типа Nodul) и иконка “Частный” (признак отсутствия общего доступа к сценарию).