← Назад до блогу

n8n Execute Sub-workflow: відпрацюйте контракт даних контакту

Створіть виклик через n8n Execute Sub-workflow і нормалізатор контактів у редакційній вправі та перевірте відсутні значення, типи й кілька елементів.

n8n Execute Sub-workflow: два верстаки, з’єднані рожевим лотком, із картками контактів, що проходять через ворота й пристрій вирівнювання.

Перевірено за наведеними джерелами .

Редакційна вправа: визначте контракт даних контакту

Два вхідні отвори, дерев’яний пристрій обробки й чотири вихідні відсіки поруч із порожнім бланком контракту даних контакту.
Вправа пропонує два вхідні поля та сталу структуру повернення з чотирьох полів.

Попрактикуйтеся з n8n Execute Sub-workflow: створіть багаторазово використовуваний нормалізатор контактів і окремий батьківський воркфлоу для розробки. Ваше завдання — визначити їхній спільний контракт, реалізувати його та зібрати фактичні вихідні дані або помилки для чотирьох запропонованих тестових випадків. Це редакційна вправа, а не виконане чи перевірене рішення.

Використовуйте власне середовище n8n для розробки, синтетичні контакти й жодних зовнішніх сервісів. Ви вже маєте вміти додавати вузли та зіставляти поля. Побудуйте вправу вручну й використовуйте синхронне виконання; публікація у виробничому середовищі, дозволи, призупинені виконання, маршрутизація до воркфлоу обробки помилок і автоматичне виокремлення наявних вузлів не входять до її обсягу.

Використовуйте запропонований нижче контракт. Значення email і name мають бути обов’язковими й непорожніми; приберіть пробіли на початку та в кінці обох значень і переведіть email у нижній регістр. Лише для цієї вправи вважайте адресу електронної пошти прийнятною, якщо вона містить @ із текстом по обидва боки й не містить пробільних символів. Це навмисно обмежена, а не повноцінна перевірка адреси електронної пошти.

Запропонований контракт вхідних і вихідних даних
НапрямокПолеТипПравило
ВхідemailРядокОбов’язкове; нормалізувати й перевірити
ВхідnameРядокОбов’язкове; прибрати крайові пробіли
ВихідsuccessБулеве значенняTrue лише для коректних даних
ВихідemailРядокНормалізоване значення або порожній рядок у разі невдачі
ВихідnameРядокЗначення без крайових пробілів або порожній рядок у разі невдачі
ВихідerrorРядокПорожній у разі успіху; причина в разі невдачі

На нашу думку, опис контракту повернення перед побудовою вузлів робить цю вправу кориснішою: кожна перевірка отримує конкретну ціль.

Побудуйте дочірній воркфлоу з n8n Execute Sub-workflow Trigger

Картки контактів проходять через вхідні ворота й пристрій обрізання до лотка повернення з чотирма відсіками.
Запропонований дочірній воркфлоу переходить від типізованих вхідних даних через перевірку до явно заданого результату повернення.

Почніть дочірній воркфлоу з n8n Execute Sub-workflow Trigger й оголосіть email і name як рядкові вхідні параметри. Документація n8n визначає цей тригер як перший вузол дочірнього воркфлоу; оголошені типізовані вхідні дані стають параметрами, які може заповнити батьківський воркфлоу.

Для запропонованої реалізації під’єднайте вузол Code, який перевірятиме й нормалізуватиме кожен елемент, а потім вузол Edit Fields із назвою Return. Послідовність нижче визначає запропоновану логіку. n8n повертає вихідні дані останнього вузла дочірнього воркфлоу, а його рекомендації радять використовувати завершальний вузол Set / Edit Fields, щоб явно задати контракт повернення; це не забезпечує автоматичного дотримання повної схеми вихідних даних.

  1. Перевірте наявність null, відсутніх значень і значень, що не є рядками, перш ніж викликати рядкові методи.
  2. Приберіть крайові пробіли з обох рядків, переведіть email у нижній регістр, а потім перевірте, чи значення не порожні та чи відповідає email правилу цієї вправи.
  3. У разі невдачі сформуйте success зі значенням false, порожні рядки email і name та рядок error із поясненням.
  4. У разі успіху сформуйте success зі значенням true, нормалізований email, name без крайових пробілів і порожній рядок error.
  5. Налаштуйте Return так, щоб він повертав лише success, email, name і error.

Для очікуваних помилок валідації зберігайте однакові назви й типи полів. Це відповідає рекомендації n8n використовувати сталу структуру повернення з прапорцем success і полем error.

Sources: n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.executeworkflowtrigger.md at main · n8n-io/n8n-docs · GitHub, skills/skills/n8n-subworkflows-official/SKILL.md at main · n8n-io/skills · GitHub

Побудуйте батьківський воркфлоу для розробки

Рука кладе картки контактів у лоток відправлення поруч із піднятим прапорцем, порожнім приймальним лотком та окремим блоком обробки.
Батьківський воркфлоу для розробки передає контрольовані вхідні дані й чекає завершення дочірнього.

Створіть окремий батьківський воркфлоу з Manual Trigger, синтетичними тестовими даними та n8n Execute Sub-workflow. Документація n8n описує Code і Edit Fields як способи створення власних тестових наборів даних. У Execute Sub-workflow виберіть Database / From list, укажіть дочірній воркфлоу та зіставте його оголошені вхідні параметри.

Увімкніть Wait for Sub-Workflow Completion і спочатку вимкніть Attempt to convert types. Очікування дає батьківському воркфлоу змогу продовжити роботу після завершення дочірнього; воно не перевіряє повернуті дані. Почніть із режиму, що передає всі вхідні елементи в одне виконання. Жоден із режимів не гарантує потрібної вам кількості вихідних елементів.

Поля для зіставлення відсутні, коли дочірній воркфлоу використовує Accept all data, тому тут задайте явні типізовані вхідні параметри. Для повторюваності можна закріпити тестові дані під час розробки, але закріплення недоступне у виробничих виконаннях; ці перевірки не дають змоги встановити поведінку у виробничому середовищі.

Sources: n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.executeworkflow.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/build/work-with-data/pin-and-mock-data.md at main · n8n-io/n8n-docs · GitHub

Перевірте чотири випадки через батьківський воркфлоу

Чотири тестові лотки містять підігнану картку контакту, порожнє заглиблення, круглий кілочок поруч із прямокутним отвором і кілька вирівняних карток.
Ці запропоновані тестові дані перевіряють різні частини контракту воркфлоу.

Пропустіть ці запропоновані тестові дані через межу виклику з батьківського воркфлоу й зафіксуйте, що відбувається насправді. Очікувані значення нижче — це цілі вправи, а не результати проведених тестів.

Запропоновані тестові дані та перевірки
ВипадокВхідні даніЦіль або спостереження
Коректні даніemail: ' ALICE@EXAMPLE.COM '; name: ' Alice 'true; alice@example.com; Alice; порожнє поле error
Відсутнє nameКоректний email; зіставлення name видаленоfalse; порожні email/name; error із поясненням
Неправильний типemail: 12345; name: AliceЗафіксуйте відхилення в батьківському воркфлоу або результат дочірнього
Кілька елементівДва різні коректні контактиЦіль — два нормалізовані результати в обох режимах виконання

Документація n8n зазначає, що видалення зіставлення запитаного поля name призводить до передавання null.

У своєму огляді від постачальника за 2026 рік Джаханзаїб Ахмед повідомляє, що під час його тесту в Docker на n8n 2.43.4 числове значення email було відхилене в батьківському воркфлоу за вимкненого перетворення типів; увімкнення перетворення передало його на перевірку в дочірній воркфлоу як рядок. Це результат, про який повідомив автор, а не незалежно перевірена поведінка в різних інсталяціях. Самостійно повторіть перевірку з обома налаштуваннями; за запропонованим правилом для email рядок 12345 має не пройти валідацію. Не припускайте, що відхилення виклику в батьківському воркфлоу перетворюється на рядок із результатом невдачі, сформований дочірнім.

Sources: n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.executeworkflow.md at main · n8n-io/n8n-docs · GitHub, n8n Sub Workflow: Build One and Handle Failures

Розберіть невідповідності та завершіть вправу

Якщо результат відрізняється від вашого контракту, спочатку перевірте оголошені вхідні параметри й зіставлення в батьківському воркфлоу, а потім обробку null і налаштування перетворення типів. Якщо повернутих даних немає, перевірте режим виконання, налаштування очікування та вихідні дані останнього вузла дочірнього воркфлоу. Порівняйте назви полів, типи й кількість елементів у батьківському воркфлоу.

Під час розбору ми радимо розглядати відхилення на межі виклику й невдачу перевірки бізнес-правил окремо: кожне з них по-своєму вказує, де саме контракт не було виконано.

Завершіть вправу, зібравши наведені нижче підтвердження. Для осмислення поясніть, чому відхилений виклик може не мати об’єкта, повернутого дочірнім воркфлоу, і як перетворення типів змінює дані, які отримує ваша перевірка.

Sources: skills/skills/n8n-subworkflows-official/SKILL.md at main · n8n-io/skills · GitHub, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.executeworkflow.md at main · n8n-io/n8n-docs · GitHub

Спробуйте на практиці

Практичні завдання з n8n

Оберіть завдання й створіть робочий воркфлоу у власному середовищі n8n – до кожного завдання є п’ять поступових підказок.

Спробувати практичне завдання

Для вашої команди

Програми навчання n8n для однієї команди чи відділу – на вашому власному екземплярі n8n, з вашими інструментами й даними.

Навчання для вашої команди

Оцінка навичок n8n

Безкоштовний тест приблизно на 20 хвилин, англійською: 30 запитань у 10 напрямах і рівень від початківця до експерта. На AI Adoption Score – іншому проєкті автора цього сайту.

Дізнатися свій рівень n8n