Перейти до основного змісту

n8n робочі процеси

AI-Corporate може запускати n8n робочі процеси через production webhook. Це зручно, якщо ви хочете запустити автоматизований процес поза AI-Corporate, наприклад створення завдання, оновлення CRM-запису, запуск звітного потоку або передачу даних форми в іншу систему.

Приклад: новинна стаття на корпоративному сайті

Припустимо, що в організації створено workflow n8n, який публікує новинну статтю на WordPress сайті компанії. В AI-Corporate ви тоді заповнюєте лише короткий фрагмент тексту, наприклад кілька речень про кейс клієнта, подію або внутрішній досягнення. З цим текстом ви запускаєте workflow в n8n.

Далі workflow n8n може, наприклад:

  1. З короткого тексту зробити чернетку тексту за допомогою вузла LLM та підходящого запиту, що відповідає тону організації.
  2. Створити відповідну ілюстрацію за допомогою другого вузла LLM, наприклад у фірмових кольорах та в позначеному стилі.
  3. Поставити текст і зображення як блог-публікацію або опублікувати на 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 так:

  1. Перейдіть до Помічники.
  2. Відкрийте Робочі процеси.
  3. Виберіть Новий n8n workflow.
  4. Введіть назву workflow та URL виробничого n8n.
  5. Налаштуйте Header authentication з ім’ям заголовка та секретним значенням заголовка.
  6. Познач під Terugmeldingen uit n8n лише ті елементи, які справді були побудовані в цьому n8n-Workflow: прогрес, схвалення та/або кінець workflow.
  7. За бажанням додайте поля, які повинні передаватися у POST-запиті.
  8. Збережіть workflow.

Усі три опції зворотних повідомлень за замовчуванням вимкнені. Якщо пізніше ви додасте callbacks або етап схвалення в n8n, оновіть також реєстрацію в AI-Corporate. Діалог тоді знає, чи потрібно показувати лише підтвердження запуску або очікувати подальших сигналів.

Поля

  • Поля є опційними.
  • У кожному полі є ім’я поля та його тип.
  • Підтримувані типи полів: короткий текст, довгий текст, число, так/ні, дата, один вибір та кілька виборів.
  • У Один вибір та Декілька виборів додаються доступні варіанти. Один вибір відображатиметься як компактний список вибору; Декілька виборів — як прапорці. Обрані значення надсилаються у JSON-тілі.
  • Обов’язкові поля мають бути заповнені, щоб workflow міг бути запущений.
  • Ім’я поля стає ключем у JSON-тілі, що надсилається в n8n.

Створення сумісного workflow в n8n

  1. Створіть у n8n новий workflow.
  2. Додайте на початку вузол Webhook.
  3. Дайте цьому вузлу точну назву Start workflow. Нижче наведені приклади виразів використовують цю назву.
  4. Встановіть HTTP Method на POST.
  5. Виберіть Authentication: Header Auth та використайте ту саму назву заголовка та секретне значення, як і в AI-Corporate.
  6. Встановіть Respond або Response Mode на Immediately.
  7. Скопіюйте Production URL у поле n8n production-url в AI-Corporate. Не використовуйте тестовий URL з /webhook-test/.
  8. Активуйте 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 так:

  1. Виберіть Method: POST.

  2. У полі URL натисніть Expression та вставте:

    {{ $('Start workflow').first().json.body.integration.callbackUrl }}
  3. Виберіть Authentication: None.

  4. Увімкніть Send Headers та додайте наведені нижче заголовки.

  5. Увімкніть 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:

  1. Створіть новий workflow з вузлом Error Trigger.

  2. Додайте далі вузол HTTP Request з методом POST.

  3. Вкажіть у URL цей постійний production URL:

    https://europe-west1-ai-corporate.cloudfunctions.net/n8nWorkflowExecutionFailed
  4. Виберіть Authentication: None та додайте заголовок n8n-handihow-name із секретним стандартним значенням адміністратора платформи.

  5. Оберіть JSON тіло і вставте:

{
"executionId": "{{ $json.execution.id }}",
"workflowId": "{{ $json.workflow.id }}",
"workflowName": "{{ $json.workflow.name }}",
"lastNode": "{{ $json.execution.lastNodeExecuted }}",
"message": "{{ $json.execution.error.message }}"
}
  1. Активуйте Error Workflow.
  2. Відкрийте налаштування звичайного 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 чи rejected callback. Якщо ви не очікуєте зворотних повідомлень, вимкніть всі три опції у реєстрації.
  • Немає видимого прогресу: перевірте, чи увімкнено Повідомляти проміжний прогрес під час реєстрації або чи зберігається об'єкт integration та чи кожен callback має унікальний eventId.
  • Непрацюють кнопки схвалення: перевірте вузол Wait, resumeUrl, автентифікацію заголовка та допустимі символи в choices[].value.
WhatsApp