Community-ноди n8n та npm: створення і публікація власного вузла
Практичний гайд зі створення community-нод n8n для npm: правила іменування, вибір стилю, тестування, версіонування та публікація.

Перевірено за наведеними джерелами .
Що потрібно, щоб перетворити ідею вузла на опублікований npm-пакет
Перетворити робочий вузол на одну з community-нод n8n на npm — це менше про написання хитромудрого коду, а більше про дотримання послідовності конвенцій, які перевіряють і n8n, і npm. Вам потрібен пакет, що відповідає правилам іменування та структури n8n, рішення щодо того, чи має вузол бути декларативним чи програмним, локальний цикл збірки та лінтингу, який виявляє проблеми ще до того, як хтось встановить ваш пакет, свідома звичка версіонування і, нарешті, обліковий запис npm, налаштований так, як це тепер вимагає npm. Опціональна верифікація n8n додає до цього власний етап перевірки.
Жоден із цих кроків сам по собі не є складним, але пропуск одного з них зазвичай згодом проявляється як відхилена заявка, зламане оновлення чийогось воркфлоу або команда публікації, що завершується помилкою через налаштування облікового запису, про яке ви навіть не знали. Решта цього гайду проведе вас через кожен етап у тому порядку, в якому ви реально з ним зіткнетеся, починаючи з того, що офіційно робить пакет community-нодою.

Sources: Using the n8n-node tool | Connect | n8n Docs, GitHub - n8n-io/n8n-nodes-starter: Example starter module for custom n8n nodes. · GitHub
Основи: що робить пакет community-нодою n8n
Звичайний npm-пакет автоматично не вважається community-нодою. Офіційна документація n8n стверджує, що назва пакета community-ноди має починатися з n8n-nodes- (або аналогічного варіанту зі scope) і повинна містити ключове слово n8n-community-node-package у метаданих пакета, щоб інструменти n8n могли знайти його серед інших community-нод на npm (F1).
Та сама документація залишає за n8n право відхиляти community-ноди, які конкурують із власними платними чи enterprise-функціями n8n, що окреслює межу того, що має доповнювати community-пакет, а не замінювати (F4). На нашу думку, варто сприймати цю конвенцію щодо іменування та метаданих як перший крок, а не як щось другорядне, — це займає всього п'ять хвилин, адже виправляти неправильно названий пакет після того, як люди вже його встановили, значно складніше, ніж зробити все правильно до першої публікації.
Sources: Building community nodes | Nodes | n8n Docs, Submit community nodes | Connect | n8n Docs
Іменування, package.json та обов'язкові стандарти
На практиці це означає, що у вашому package.json поле name має містити префікс n8n-nodes-, а серед keywords має бути вказане ключове слово community-node — саме так, як описано в документації n8n (F1). Туторіал, написаний спільнотою на Medium у жовтні 2025 року, незалежно повторює те саме правило іменування, що підтверджує офіційні вказівки, не додаючи нових деталей (F40).
Той самий туторіал також чітко окреслює базову одиницю: кожен опублікований вами вузол n8n живе у власному npm-пакеті, а не кілька вузлів вільно об'єднуються в одну універсальну бібліотеку, згідно з гайдом Omar Walied на Medium від жовтня 2025 року (F38). Окрім назви та ключового слова, пакету потрібні звичайні метадані npm — опис, посилання на репозиторій і поле license, — які знову стануть актуальними, якщо ви вирішите пройти опціональну перевірку верифікації n8n.
Sources: Building community nodes | Nodes | n8n Docs, How to Create and Publish a Custom n8n Community Node | by Omar Walied | Medium
Вибір декларативного чи програмного стилю вузла
Кожному вузлу потрібен базовий файл з об'єктом description, який визначає вузол усередині класу вузла, згідно з документацією n8n (F13). Далі ви обираєте один з двох стилів. Вузол у програмному стилі потребує методу execute(), який зчитує вхідні дані та параметри перед формуванням запиту, що дає повний контроль над запитом і даними, які він повертає (F14).
Документація n8n також дає два конкретні правила вибору між стилями: кожен тригерний вузол слід будувати в програмному стилі, навіть якщо супутній вузол дії для того самого сервісу є декларативним, а якщо ви не впевнені, який стиль потрібен, за замовчуванням обирайте декларативний (F15, F16). Ми підтримуємо це правило за замовчуванням: починати з декларативного стилю і переходити до програмного лише тоді, коли цього вимагають тригер, не-REST API або складніше перетворення даних, — це робить першу версію вузла простішою для перевірки, тестування та підтримки.
| Стиль | Коли документація n8n радить його застосовувати | Підтримка версіонування |
|---|---|---|
| Декларативний | Вибір за замовчуванням, якщо не впевнені; підходить для більшості REST-подібних сервісів (F16) | Лише легке версіонування — декларативні вузли не можуть використовувати повне версіонування (F25) |
| Програмний | Обов'язковий для тригерних вузлів і не-REST або складної логіки перетворення (F14, F15) | У документації n8n не обмежений лише легким версіонуванням; легке версіонування доступне для всіх типів вузлів незалежно від стилю (F26) |
Sources: Structure | Connect | n8n Docs, Choose a node building style | Connect | n8n Docs, Versioning | Connect | n8n Docs
Збірка та тестування вашого вузла

Коли ви визначилися зі стилем, повсякденна робота відбувається у локальному циклі збірки-тестування-виправлення, з використанням інструментів, які n8n постачає спеціально для цього завдання, а не саморобних скриптів.
Створення каркасу та розробка за допомогою CLI n8n-node
n8n описує n8n-node як офіційний CLI для розробки community-нод, який використовується для створення каркаса, збірки, лінтингу та релізу пакета, і офіційний пакет @n8n/node-cli на npm описує себе так само (F5, F10). Стартовий репозиторій, що постачається разом із ним, перелічує Node.js версії 22 або вище та npm як передумови перед початком роботи (F9).
Якщо вузол не з'являється в n8n після збірки, розділ усунення несправностей README репозиторію n8n-nodes-starter радить перевірити, чи дійсно ви виконали npm install для завантаження залежностей (F8). Якщо ж локальний сервер розробки поводиться дивно, розділ усунення несправностей README пакета @n8n/node-cli радить очистити кеш кастомних нод n8n, що вирішує напрочуд велику частку локальних збоїв (F12).
Sources: Using the n8n-node tool | Connect | n8n Docs, GitHub - n8n-io/n8n-nodes-starter: Example starter module for custom n8n nodes. · GitHub, @n8n/node-cli - npm
Стандарти коду, лінтинг і локальний цикл розробки
Документація n8n зі стандартів коду наказує розробникам ніколи не змінювати вхідні дані, які отримує вузол, оскільки кілька вузлів можуть спільно використовувати ці самі дані в пам'яті (F17). Вона також радить авторам вузлів використовувати вбудований модуль-помічник HTTP-запитів n8n замість підключення стороньої бібліотеки для того самого сервісу (F18).
Перед публікацією чого-небудь документація радить переконатися, що ваш вузол проходить перевірки лінтера (F19). Документація лінтера нод n8n описує свій плагін ESLint як такий, що виявляє проблеми та автоматично виправляє багато з них, допомагаючи авторам дотримуватися найкращих практик, і наказує авторам запускати команду lint, щоб побачити виявлені проблеми в консолі (F31, F32).
Sources: Code standards | Connect | n8n Docs, Node linter | Connect | n8n Docs
Версіонування вузла для безпечних оновлень
Власна документація npm радить авторам пакетів починати версіонування з 1.0.0 і збільшувати номер далі за правилами семантичного версіонування (F29). Вона наполегливо рекомендує збільшувати номер основної (major) версії саме тоді, коли зміна ламає залежні пакети (F30), — а для community-ноди це означає будь-кого, чий збережений воркфлоу покладається на попередню поведінку.
Номер версії — це єдиний сигнал, який кінцеві користувачі бачать до появи оновлення, тож недбале ставлення до нього ризикує зламати чужі воркфлоу без попередження. Патч-реліз має лише виправляти помилку, мінорний реліз має лише додавати зворотносумісну поведінку, а мажорний реліз — єдине чесне місце для будь-чого, що може змінити поведінку наявного воркфлоу.
- Патч (x.x.1): виправлення помилок, які не змінюють поведінку вузла для наявних користувачів
- Мінор (x.1.x): нові зворотносумісні функції або параметри
- Мажор (1.x.x): зміни, що можуть зламати наявний воркфлоу, побудований на цьому вузлі
Sources: About semantic versioning | npm Docs
Публікація community-нод n8n у npm
Коли ваш вузол успішно проходить локальні перевірки, публікація community-нод n8n у npm здебільшого зводиться до виконання однієї команди. Документація n8n стверджує, що команда release у CLI n8n-node публікує пакет community-ноди в npm, а README пакета @n8n/node-cli описує цю ж команду як таку, що обробляє весь процес релізу за допомогою інструменту release-it перед етапом публікації (F6, F11).
Sources: Using the n8n-node tool | Connect | n8n Docs, @n8n/node-cli - npm
GitHub Actions, провенанс і довірені видавці
Власний стартовий репозиторій n8n стверджує, що включений у нього воркфлоу GitHub Actions автоматично публікує пакет у npm при кожному пуші тега версії, що усуває спокусу запускати публікацію вручну з ноутбука (F7). Це має більше значення, ніж здається на перший погляд: документація n8n стверджує, що починаючи з 1 травня 2026 року вузли, подані на верифікацію в Creator Portal, мають публікуватися через GitHub Actions із заявою про провенанс (provenance statement) (F2).
Друга, майже ідентична сторінка на docs.n8n.io повторює, що n8n не прийматиме верифіковані вузли, опубліковані безпосередньо з локального комп'ютера розробника, що радше підтверджує, ніж незалежно доводить те саме правило (F3). Якщо верифікація взагалі є у ваших планах, налаштування цього воркфлоу GitHub Actions ще до першого релізу позбавить вас необхідності переналаштовувати конвеєр публікації пізніше.
Sources: GitHub - n8n-io/n8n-nodes-starter: Example starter module for custom n8n nodes. · GitHub, Building community nodes | Nodes | n8n Docs, Submit community nodes | Connect | n8n Docs
Вимоги до облікового запису npm: 2FA та пакети зі scope
Якщо назва вашого пакета має scope, документація npm стверджує, що пакети зі scope за замовчуванням публікуються з приватною видимістю, тому для того, щоб зробити пакет доступним для встановлення будь-ким, потрібен прапорець public access (F33, F34). Окремо документація npm стверджує, що тепер для створення та публікації будь-яких пакетів потрібна двофакторна автентифікація або гранульований токен доступу з увімкненим обходом 2FA (bypass-2FA) (F35).
Sources: Creating and publishing scoped public packages | npm Docs, Requiring 2FA for package publishing and settings modification | npm Docs
Подання на верифікацію n8n (опціонально)

Публікація в npm робить ваш вузол доступним для встановлення, але не верифікованим. Верифікація — це окремий, опціональний крок через Creator Portal n8n, який має власний технічний чек-лист і власні, часом непередбачувані, терміни розгляду.
Вимоги до верифікації та технічні рекомендації
Рекомендації n8n щодо верифікації стверджують, що кожен поданий пакет community-ноди має інтегрувати рівно один сторонній сервіс, а не об'єднувати кілька інтеграцій в одному пакеті (F20). Ті самі рекомендації вимагають, щоб пакет, призначений для верифікації, не мав зовнішніх runtime-залежностей і мав ліцензію MIT (F21, F22).
Sources: Verification guidelines | Connect | n8n Docs, Building community nodes | Nodes | n8n Docs
Усунення затримок у розгляді та проблем зі сканером
Жодне з джерел, використаних у цьому гайді, не наводить офіційних, заявлених середніх чи гарантованих термінів розгляду в Creator Portal, тож сприймайте наведене нижче лише як розрізнені повідомлення спільноти, а не як обіцянку рівня сервісу. Користувач під ніком ondics повідомив у дописі на форумі спільноти n8n за липень 2026 року, що оновлення його вузла зависло в статусі «Update Changes Required» з порожньою сторінкою зворотного зв'язку (F43); інша відповідь на форумі за липень 2026 року припустила, що поширеною причиною є те, що нова версія не була опублікована в npm до подання оновлення в порталі (F44).
| Коли повідомлено | Що описано в повідомленні |
|---|---|
| Липень 2026 | Статус оновлення вузла показував «Update Changes Required» без видимого зворотного зв'язку протягом кількох днів |
| Грудень 2025 | Подання нового вузла залишалося в статусі «Under Review» протягом кількох тижнів |
| Липень 2026 | Creator Portal відхилив пакет, який пройшов перевірку поточним публічним інструментом сканування |
| Серпень 2026 | Розгляд нового вузла залишався очікуваним протягом 11 днів без зворотного зв'язку |
Окремо, користувач повідомив у дописі на форумі за грудень 2025 року, що подання нового вузла досі показувало статус «Under Review» через кілька тижнів, а користувач у дописі за серпень 2026 року повідомив, що розгляд досі очікував вирішення через 11 днів без жодного зворотного зв'язку (F45, F48). Розробник на ім'я atacan також повідомив у дописі на форумі за липень 2026 року, що Creator Portal відхилив його пакет, тоді як доступний на той момент інструмент сканування його пропустив, а в одній із відповідей спільнота порадила попросити n8n оновити сервіс перевірки, очистити кеш і повторно подати заявку (F46, F47).
Ми б розглядали це радше як привід для обережності, ніж для тривоги: це поодинокі, неперевірені повідомлення, прив'язані до конкретних пакетів, а не задокументована закономірність. Наш практичний висновок — тримати версію вашого npm-пакета, метадані репозиторію GitHub і заявку в Creator Portal у чіткій синхронізації перед поданням, оскільки невідповідність між ними в кількох із цих повідомлень фігурує як ймовірна причина затримки.
Sources: Creators portal: Node still in review. Why? - Questions - n8n Community, I submitted a node, but it still shows “Under Review” after several weeks - Questions - n8n Community, Creator Portal False Rejection for n8n-nodes-speechall - Questions - n8n Community, Creators Portal: Node Review taking too long! - Questions - n8n Community
Безпека, ризики та постійна підтримка
Публікація вузла — це лише половина стосунків: щойно хтось його встановлює, документація n8n стверджує, що community-ноди мають повний доступ до машини, на якій працює n8n, і можуть виконувати будь-які дії, включно зі шкідливими, а будь-яка встановлена community-нода має доступ до даних, що проходять через воркфлоу цього користувача (F23, F24). Варто чітко озвучити це обмеження один раз: відповідальна публікація означає, що код, який ви поширюєте, несе реальну довіру, а не лише функціональність.
| Тип ризику | Що стверджує документація n8n |
|---|---|
| Безпека системи | Встановлена community-нода має повний доступ до машини, на якій працює n8n, і може виконувати будь-які дії, включно зі шкідливими |
| Безпека даних | Будь-яка встановлена community-нода має доступ до даних, що проходять через воркфлоу цього користувача |
Незалежний розробник Карлос Арагон (Carlos Aragon) ілюструє бік попиту на це у власному дописі в блозі за березень 2026 року, де він описує, як створив community-ноду n8n-nodes-hyros, бо копіював той самий сирий HTTP-патерн у понад 20 воркфлоу клієнтів і хотів, щоб інші користувачі Hyros разом з n8n не починали з нуля (F36). Згідно з тим самим дописом у блозі за березень 2026 року, його пакет на той момент досяг 4 525 встановлень через npm — це самостійно заявлена цифра з власного комерційного блогу автора, а не незалежно перевірений підрахунок. У його дописі також задокументовано, як community-ноди n8n встановлюються у воркфлоу на практиці: користувач переходить у Settings, а потім Community Nodes у власному екземплярі n8n (F37).
Заглядаючи наперед, документація n8n щодо запланованого релізу 3.0, який у changelog позначено як запланований на жовтень 2026 року, стверджує, що self-hosted n8n вимагатиме розгортання на основі Docker і припинить підтримку встановлення через npm та npx, а налаштування unverified-community-packages за замовчуванням зміниться з увімкненого на вимкнене в цьому релізі (F27, F28). Перехід неверифікованих встановлень на опціональний режим за замовчуванням може підштовхнути більше авторів нод до шляху верифікації, описаного в цьому гайді, але командам, що керують self-hosted n8n, варто спланувати процес розгортання та оновлення з огляду на вимогу Docker задовго до релізу.
Sources: Risks | Nodes | n8n Docs, I Built an n8n Node for Hyros — 4,525 Installs and Counting | Carlos Aragon, v3.0 Breaking changes | Changelog | n8n Docs
Висновок: практичний чек-лист
Перехід від робочої ідеї вузла до підтримуваного пакета на npm — це радше послідовність невеликих, перевірюваних рішень, ніж одна складна проблема: правильно назвати та створити каркас пакета, обрати правильний стиль, зібрати та перевірити лінтером до коректної роботи, версіонувати з огляду на збережені воркфлоу ваших користувачів, опублікувати через обліковий запис, що відповідає поточним вимогам npm, і свідомо вирішити, чи варта опціональна верифікація n8n процесу розгляду для вашого випадку використання.
Чек-лист нижче об'єднує конкретні, підкріплені джерелами кроки, розглянуті в цьому гайді, у тому порядку, в якому ви, ймовірно, їх застосовуватимете.


