n8n робочі процеси
AI-Corporate може запускати n8n робочі процеси через production webhook. Це зручно, якщо ви хочете запустити автоматизований процес поза AI-Corporate, наприклад створення завдання, оновлення CRM-запису, запуск звітного потоку або передачу даних форми в іншу систему.
Приклад: новинна стаття на корпоративному сайті
Припустимо, що в організації створено workflow n8n, який публікує новинну статтю на WordPress сайті компанії. В AI-Corporate ви тоді заповнюєте лише короткий фрагмент тексту, наприклад кілька речень про кейс клієнта, подію або внутрішній досягнення. З цим текстом ви запускаєте workflow в n8n.
Далі workflow n8n може, наприклад:
- З короткого тексту зробити чернетку тексту за допомогою вузла LLM та підходящого запиту, що відповідає тону організації.
- Створити відповідну ілюстрацію за допомогою другого вузла LLM, наприклад у фірмових кольорах та в позначеному стилі.
- Поставити текст і зображення як блог-публікацію або опублікувати на WordPress сайті.
Так AI-Corporate та n8n працюють разом: у AI-Corporate користувач обирає workflow та заповнює потрібну інформацію. далі n8n виконує автоматизовані кроки і забезпечує коректне розміщення новини на веб-сайті.
Що робить ця інтеграція?
Ви запускаєте n8n workflow з перегляду workflow. Обов’язкові лише production webhook, POST та Header Auth. Поля та зворотні повідомлення з n8n є опційними і можуть налаштовуватися незалежно.
- Якщо у workflow немає полів, webhook викликається одразу.
- Якщо у workflow є поля, спочатку з’являється форма. Користувач заповнює поля і потім запускає workflow кнопкою.
- Внесені значення надсилаються як JSON у POST-запиті до n8n webhook.
- Без зворотних повідомлень AI-Corporate підтверджує лише, що workflow запущено, а далі працює в n8n. Вікно не відображає спінер і може бути закрите.
- Якщо це було увімкнено під час реєстрації, workflow може надсилати щодо проміжних кроків або кінця назад в AI-Corporate.
- Якщо увімкнено схвалення під час реєстрації, користувач може обрати прямо в AI-Corporate. Далі n8n продовжує з кроку, що очікує.
створення n8n workflow в AI-Corporate
Адміністратор реєструє workflow так:
- Перейдіть до Помічники.
- Відкрийте Робочі процеси.
- Виберіть Новий n8n workflow.
- Введіть назву workflow та URL виробничого n8n.
- Налаштуйте Header authentication з ім’ям заголовка та секретним значенням заголовка.
- Познач під Terugmeldingen uit n8n лише ті елементи, які справді були побудовані в цьому n8n-Workflow: прогрес, схвалення та/або кінець workflow.
- За бажанням додайте поля, які повинні передаватися у POST-запиті.
- Збережіть workflow.
Усі три опції зворотних повідомлень за замовчуванням вимкнені. Якщо пізніше ви додасте callbacks або етап схвалення в n8n, оновіть також реєстрацію в AI-Corporate. Діалог тоді знає, чи потрібно показувати лише підтвердження запуску або очікувати подальших сигналів.
Поля
- Поля є опційними.
- У кожному полі є ім’я поля та його тип.
- Підтримувані типи полів: короткий текст, довгий текст, число, так/ні, дата, один вибір та кілька виборів.
- У Один вибір та Декілька виборів додаються доступні варіанти. Один вибір відображатиметься як компактний список вибору; Декілька виборів — як прапорці. Обрані значення надсилаються у JSON-тілі.
- Обов’язкові поля мають бути заповнені, щоб workflow міг бути запущений.
- Ім’я поля стає ключем у JSON-тілі, що надсилається в n8n.
Створення сумісного workflow в n8n
- Створіть у n8n новий workflow.
- Додайте на початку вузол Webhook.
- Дайте цьому вузлу точну назву Start workflow. Нижче наведені приклади виразів використовують цю назву.
- Встановіть HTTP Method на POST.
- Виберіть Authentication: Header Auth та використайте ту саму назву заголовка та секретне значення, як і в AI-Corporate.
- Встановіть Respond або Response Mode на Immediately.
- Скопіюйте Production URL у поле n8n production-url в AI-Corporate. Не використовуйте тестовий URL з
/webhook-test/. - Активуйте workflow.
Отримані дані знаходяться під body; технічні дані інтеграції — під body.integration. Не видаляйте їх в Edit Fields-, Set- чи Code-node.
Приклад JSON-тіла
Якщо ви визначаєте поля з іменами prompt, klantnaam, doelgroepen та datum, тоді n8n отримує, наприклад, таке JSON-тіло. AI-Corporate автоматично додає об’єкт integration.
{
"prompt": "Maak een korte samenvatting van de aanvraag.",
"klantnaam": "Voorbeeldorganisatie",
"doelgroepen": ["medewerkers", "klanten"],
"datum": "2026-09-22",
"integration": {
"runId": "chat-document-id",
"tenant": "default",
"callbackUrl": "https://europe-west1-ai-corporate.cloudfunctions.net/n8nWorkflowCallback",
"callbackToken": "tijdelijk-token-voor-deze-uitvoering"
}
}
Токен зворотного виклику відповідає одному виконанню. Не зберігайте його в журналах, у постійних конфігураціях або в інших системах.
Опціонально: надсилати проміжні та завершальні зворотні повідомлення
AI-Corporate може лише відображати те, що повертає n8n. Використовуйте ці callbacks лише тоді, коли у реєстрації увімкнено Звітувати проміжний прогрес та/або Звітувати про завершення workflow.
Налаштуйте кожен callback-node так:
-
Виберіть Method: POST.
-
У полі URL натисніть Expression та вставте:
{{ $('Start workflow').first().json.body.integration.callbackUrl }} -
Виберіть Authentication: None.
-
Увімкніть Send Headers та додайте наведені нижче заголовки.
-
Увімкніть Send Body та оберіть Body Content Type: JSON та Specify Body: Using JSON.
Використовуйте ці заголовки:
Authorization: Bearer {{ $('Start workflow').first().json.body.integration.callbackToken }}
Content-Type: application/json
Надійте, наприклад, таке повідомлення, коли крок починається:
{
"tenant": "{{ $('Start workflow').first().json.body.integration.tenant }}",
"runId": "{{ $('Start workflow').first().json.body.integration.runId }}",
"eventId": "document-maken-gestart",
"type": "progress",
"executionId": "{{ $execution.id }}",
"step": {
"id": "document_maken",
"label": "Document maken"
},
"message": "Документ створюється."
}
- Для кожної події в одній і тій же виконанні використовуйте унікальний
eventId. - Використовуйте зрозумілу українську
step.label; цей текст буде видно в застосунку. - Якщо ви увімкнули Звітувати про завершення workflow, наприкінці завжди надсилайте
type: "completed",type: "failed"абоtype: "rejected". - Для
completedза потреби додайтеoutput-об’єкт з результатом. - При
failedнадайте зрозумілу повідомлення про помилку. Виконання також зупиняється в застосунку.
Опціонально: запит на схвалення в додатку
Використовуйте вузол n8n Wait з On Webhook Call, коли workflow може продовжитися лише після вибору. Надішліть перед вузлом Wait зворотний виклик з type: "approval_required":
Налаштуйте вузол Wait на Resume: On Webhook Call, HTTP Method: POST та Authentication: Header Auth. Оберіть ті самі облікові дані Header Auth, що й у Start workflow. Після вузла Wait додайте вузол Switch та перевірте всередині {{ $json.body.decision }}.
{
"tenant": "{{ $('Start workflow').first().json.body.integration.tenant }}",
"runId": "{{ $('Start workflow').first().json.body.integration.runId }}",
"eventId": "controle-document",
"type": "approval_required",
"executionId": "{{ $execution.id }}",
"step": {
"id": "controle_document",
"label": "Document controleren"
},
"approval": {
"question": "Mag de workflow doorgaan?",
"context": "Controleer eerst het gegenereerde document.",
"resumeUrl": "{{ $execution.resumeUrl }}",
"choices": [
{ "value": "approve", "label": "Goedkeuren" },
{ "value": "reject", "label": "Afwijzen" }
]
}
}
Користувач бачить варіанти у вікні виконання. Після вибору Wait отримає, зокрема, decision. Тоді використовуйте, наприклад, вузол Switch, щоб визначити подальший шлях.
Значення вибору може містити лише літери, цифри, _ та -. Метка може містити звичайний читабельний текст.
Налаштування виробничого callback-url
Виробничий callback-url для AI-Corporate:
https://europe-west1-ai-corporate.cloudfunctions.net/n8nWorkflowCallback
Не вставляйте цей URL як постійний текст у кожен callback-node. У полі URL вузла HTTP Request використовуйте Expression та застосуйте:
{{ $('Start workflow').first().json.body.integration.callbackUrl }}
AI-Corporate надає під час кожного старту відповідний виробничий URL. Постійний URL вище використовуйте лише для перевірки під час тестування, щоб переконатися, що вираз посилається на AI-Corporate, а не на AI-School або AI-Public.
Виклики triggerCustomN8nWorkflow, triggerN8nWorkflow та resumeN8nWorkflow викликає сам додаток. Ці URL-адреси не потрібно налаштовувати в n8n.
Обробка помилок
Повертайте очікувані помилки з callback типу failed. Для несподіваних помилок вузлів створіть також централізований Error Workflow:
-
Створіть новий workflow з вузлом Error Trigger.
-
Додайте далі вузол HTTP Request з методом POST.
-
Вкажіть у URL цей постійний production URL:
https://europe-west1-ai-corporate.cloudfunctions.net/n8nWorkflowExecutionFailed -
Виберіть Authentication: None та додайте заголовок
n8n-handihow-nameіз секретним стандартним значенням адміністратора платформи. -
Оберіть JSON тіло і вставте:
{
"executionId": "{{ $json.execution.id }}",
"workflowId": "{{ $json.workflow.id }}",
"workflowName": "{{ $json.workflow.name }}",
"lastNode": "{{ $json.execution.lastNodeExecuted }}",
"message": "{{ $json.execution.error.message }}"
}
- Активуйте Error Workflow.
- Відкрийте налаштування звичайного workflow і виберіть його як Error Workflow.
Відправляйте одразу після Start workflow мінімум один callback з executionId: "{{ $execution.id }}". Тільки тоді AI-Corporate зможе прив’язати непередбачувану помилку до потрібного виконання.
Важливі обмеження
- Підтримуються лише тригери вебхуками.
- Підтримуються лише production webhook-URL.
- Тестові webhook-URL з
/webhook-test/відхиляються. - Підтримується лише POST.
- Підтримується лише generic header authentication.
- Значення заголовка обробляються як конфіденційні в застосунку.
- Callback tokens та resume-url обробляються лише на сервері і недоступні прямо користувачам.
- Тенант визначається на сервері з використанням увійшлого користувача, а не з значення, яке надсилає браузер.
Виправлення проблем
- 404 або webhook не зареєстрований: активуйте workflow в n8n та використовуйте production-url.
- Помилка автентифікації: перевірте, чи співпадають ім’я заголовка та значення в обох системах.
- Відсутні дані: перевірте, чи відповідають імена полів у застосунку ключам, очікуваним в n8n.
- Немає запиту в n8n: перевірте, чи workflow починається з webhook-тригера та використовує POST.
- Вікно виконання продовжує крутитися: якщо увімкнено завершення workflow, перевірте, чи n8n надсилає останній
completed,failedчиrejectedcallback. Якщо ви не очікуєте зворотних повідомлень, вимкніть всі три опції у реєстрації. - Немає видимого прогресу: перевірте, чи увімкнено Повідомляти проміжний прогрес під час реєстрації або чи зберігається об'єкт
integrationта чи кожен callback має унікальнийeventId. - Непрацюють кнопки схвалення: перевірте вузол Wait,
resumeUrl, автентифікацію заголовка та допустимі символи вchoices[].value.