Утиліти
Ноди секції Утиліти використовуються для обробки JSON-даних і формування структурованого результату сценарію. JSON processor перетворює JSON або текст на змінні, а JSON output завершує сценарій і повертає JSON-результат.
1. JSON processor (Обробник JSON)
JSON processor (JsonProcessor) обробляє JSON або текстовий шаблон і створює змінні, які можна використовувати в наступних нодах.
Використовуйте JSON processor, коли потрібно:
- сформувати JSON із поточних змінних сценарію;
- витягнути top-level поля JSON у окремі змінні;
- підготувати дані для наступної
Condition,HTTP Requestабо іншої ноди; - обробити текстове значення як окремий output.
Налаштування
| Поле | Значення |
|---|---|
JsonTemplate |
Текст або JSON із підтримкою #var і {{ JS }} |
NextAction |
Єдиний вихід |
Connections
- Вхід: один стандартний connector.
- Вихід: один
NextAction. - Якщо
JsonTemplateпорожній, нода використовує перше значення з inputs попередньої ноди.
Змінні і шаблони
У JsonTemplate можна використовувати #var та {{ JS }}.
Наприклад:
{
"user_id": {{ JSON.stringify(#member.external_id) }},
"score": {{ #node.4.points + 10 }}
}
Для string-значень краще використовувати JSON.stringify(...), щоб результат залишався валідним JSON.
Вихідні змінні
Top-level primitive fields JSON створюються як node-scoped variables.
Наприклад, для ноди з ID 7:
{
"user_id": "123",
"score": 15
}
створить:
#node.7.user_id
#node.7.score
Якщо результат є звичайним текстом, а не JSON object, він доступний як:
#node.{id}.json.source
Приклад
HTTP Request
-> JSON processor
-> Condition "#node.7.score >= 20"
Важливі особливості
- Root array
[...]не розкладається на окремі змінні й обробляється як plain text. - Arrays усередині JSON object не створюють окремих outputs.
- Найнадійніше використовувати top-level primitive fields.
- Для складного JSON краще читати потрібні значення через
parseJson(...)із raw JSON-джерела, наприклад#node.{httpNodeId}.http.rawBodyабо#webhook.body. - Якщо template має бути JSON object, він повинен містити валідний JSON.
2. JSON output (Результат JSON)
JSON output (JsonOutput) — термінальна нода, яка формує фінальний JSON-результат сценарію. Основний сценарій використання — синхронний AI tool.
Налаштування
| Поле | Значення |
|---|---|
Title |
Назва ноди на canvas |
JsonTemplate |
Обов'язковий JSON-шаблон із підтримкою #var і {{ JS }} |
Connections
- Вхід: один стандартний connector.
- Виходи: відсутні.
JSON outputзавершує поточний execution, тому після неї не можна підключити наступну ноду.
Змінні і шаблони
JsonTemplate підтримує #var і {{ JS }}.
Наприклад:
{
"service": {{ JSON.stringify(#node.2.arguments.service_name) }},
"price": {{ #node.8.price }},
"source": "external-api"
}
Template може сформувати будь-який валідний JSON value: object, array, number, boolean, string або null.
Для string-значень використовуйте:
{{ JSON.stringify(#var) }}
замість простого:
"#var"
щоб коректно екранувати лапки та інші спеціальні символи.
Результат
Після виконання ноди сформований JSON стає фінальним результатом execution.
У внутрішньому context він також доступний як:
#node.{id}.json.raw
Приклад
Типовий AI tool flow:
Agent trigger
-> HTTP Request
-> Condition
| success -> JSON output
| failure -> JSON output
Кожна гілка синхронного AI tool має зрештою завершитися JSON output.
Важливі особливості
JsonTemplateє обов'язковим.- Порожній template, помилка в JS або сформований невалідний JSON завершують execution помилкою.
JSON outputє terminal node і не має outgoing connection.- У фінальний JSON варто додавати лише ті дані, які справді мають бути повернуті назовні.