Помилки й що робити
Коли прогін падає, у результатах видно текст помилки. Тут зібрані ті, що трапляються найчастіше, — з причиною й тим, що саме виправити. Знайти свою найпростіше пошуком: скопіюйте текст помилки в поле пошуку вгорі.
Вираз не дав булеве значення
Condition must evaluate to a boolean value
Вузол «Умова» вимагає, щоб вираз повертав рівно true або false. Найчастіші причини:
- у виразі є посилання на поле, якого немає, — порівняння з порожнечею дає не булеве, а порожнє значення;
- у сухому прогоні вузол, що пише кудись назовні, підмінюється заглушкою, і поля з його виходу зникають;
- умова написана як
outputs.x.valueзамість порівняння, наприкладoutputs.x.value > 0.
Перевірити просто: тимчасово поставте true — якщо прогін пішов далі, річ у виразі. Пам'ятайте, що всередині [...] контекстом є елемент, а не флоу, тож на флоу треба посилатися через $$: data[id = $$.outputs.incoming.body.id].
Вираз не дав рядок
Text formatter must evaluate to a string
Шаблон у «Форматуванні тексту» — це цілий вираз JSONata, а не текст із підстановками. Літерали беруться в лапки й склеюються через &:
"Замовлення " & outputs.incoming.body.orderNumber & " готове"
Просто написати Замовлення {{...}} тут не можна — це синтаксична помилка.
Помилка у виразі
Condition evaluation failed · Text formatting failed · JSONata mapping failed · Unable to cast value to a number
Вираз не розібрався або впав під час обчислення. Часті випадки:
$number("немає")— приведення нечислового тексту валить весь прогін. Перед приведенням перевірте вміст:$contains($trim(x), /^[0-9]+$/);- ідентифікатор вузла з дефісом читається як віднімання — беріть його в лапки:
outputs."my-node"; - незакрита дужка або лапка в шаблоні.
Тіло не стало валідним JSON
Rows are not valid JSON after substitution · Expected valid JSON after resolving template · Filters must be a JSON object
Після підстановки {{…}} у тілі запиту вийшов не JSON. Дві типові причини:
- підстановка порожня, і в тілі лишилось
{"statusId":,"orderId":1}— значення просто зникло, бо вираз дав порожнечу; - вираз повертає рядок, а ви очікували масив чи число.
$string(...)навколо масиву псує JSON: лапки всередині екрануються. Приберіть$stringі дозвольте підстановці серіалізувати значення самій.
Перевірка: скопіюйте тіло, підставте очікувані значення руками й прогоніть через будь-який валідатор JSON.
Адреса не підходить
The request URL is not a valid address · URL is required for HTTP request node · must use http or https
- Порожня змінна: якщо адреса складається як
{{variables.BASE_URL}}/orders, а змінну не заповнили, лишається/orders— це не адреса. Заповніть змінні флоу. - Стала адреса в гібридному полі мусить бути в лапках:
"https://api.example.com/orders". Без лапок поле читається як вираз.
Адреса не публічна
is not a public address
Флоу виконуються в хмарі, тож localhost, 127.0.0.1 і адреси внутрішньої мережі недосяжні. Потрібен публічний домен або тунель.
Немає відповіді вчасно
did not answer within N seconds · timed out after · Could not reach
Зовнішня служба не відповіла в межах відведеного часу. Що можна зробити:
- підняти
timeoutMsвузла, якщо служба справді повільна; - увімкнути повтори на вузлі — але не для CRM з жорсткими лімітами: повтор після 429 подовжує блокування;
- перевірити, чи служба взагалі приймає запити з нашої мережі.
Служба відмовила
Telegram refused the message · Slack refused the message · HTTP request refused
Запит дійшов, але служба його не прийняла. Дивіться текст після двокрапки — там відповідь самої служби. Найчастіше це неправильний токен, немає прав на чат або застарілий ідентифікатор отримувача.
Не заповнене обов'язкове поле
is required for · needs a key · Give the list to work on · Say which value to sum
Вузол не має того, без чого не працює. Відкрийте вузол — поле буде порожнім. Якщо воно заповнене виразом, то вираз дав порожнечу: подивіться на вихід попереднього вузла в результатах прогону.
Флоу занадто великий або зациклений
exceeded the maximum of 1000 node executions · is already running in this chain · Cycle detected
- Цикл: флоу мусить бути без циклів — з'єднання назад до попереднього вузла заборонене.
- Ліміт кроків: тисяча виконань вузлів на прогін, рахуючи підфлоу. Найчастіше це цикл
ForEachз великим списком: зменшітьlimitу запиті або розбийте роботу на кілька прогонів. - Підфлоу: підфлоу не може викликати сам себе, навіть через посередника.
Немає з чого почати
No start node found in the flow
У флоу немає тригера, або він не з'єднаний із рештою. Додайте вузол із групи «Тригери» й проведіть від нього зв'язок.
Ліміт тарифу вичерпано
quota · Ліміт вичерпано
Місячна квота прогонів або операцій ШІ закінчилась. Подивіться Ліміти й тарифи — там видно, що входить у тариф і як докупити пакет.
Якщо помилки тут немає
Відкрийте док перевірки внизу редактора: вкладка Діагностика знаходить проблеми ще до запуску й веде на потрібну сторінку довідки, а вкладка Прогони показує вихід кожного вузла — видно, на якому саме обірвалось і з якими даними.