Нода Code в n8n: когда нужна и пять простых примеров на JavaScript

· 3 мин чтения · Редакция Skill Unit

n8n называют автоматизацией без кода, и большинство задач действительно решается обычными нодами: Set (Edit Fields), If, Switch, Merge. Но бывают мелочи, которые проще сделать тремя строками кода: привести телефон к одному виду, посчитать сумму по списку, убрать дубли. Для этого есть нода Code.

Сначала попробуйте без кода

  • Переименовать или добавить поле — нода Edit Fields (Set) и выражения {{ }}.
  • Разделить поток по условию — If или Switch.
  • Отфильтровать записи — нода Filter.
  • Убрать дубли — нода Remove Duplicates.
  • Сгруппировать и посчитать — нода Summarize.

Если задача решается готовой нодой, используйте её: такой сценарий легче читать и чинить через полгода. Code нужен, когда готовых нод не хватает или цепочка из пяти нод заменяется пятью строками.

Как устроены данные в n8n

Между нодами передаётся список элементов (items). Каждый элемент — объект, в котором сами данные лежат в поле json. Например, заявка с формы — это один item с полями json.name, json.phone, json.sum.

Нода Code получает этот список и должна вернуть список в том же виде. Главное правило: на выходе — массив объектов с ключом json.

Два режима запуска

  • Run Once for All Items — код выполняется один раз и видит все записи сразу через $input.all(). Подходит для сумм, сортировки, поиска дублей.
  • Run Once for Each Item — код выполняется для каждой записи отдельно, запись доступна как $input.item. Подходит для обработки полей одной заявки.

Пример 1. Привести телефон к виду +7XXXXXXXXXX

Режим: для каждой записи. Убираем всё, кроме цифр, и заменяем первую 8 на 7.

JavaScript
const raw = String($input.item.json.phone || "");
let digits = raw.replace(/\D/g, "");
if (digits.length === 11 && digits.startsWith("8")) digits = "7" + digits.slice(1);
if (digits.length === 10) digits = "7" + digits;
return { json: { ...$input.item.json, phone: digits.length === 11 ? "+" + digits : null } };

Если номер не похож на российский, в поле окажется null — дальше его можно отправить в ветку «проверить вручную» через ноду If.

Пример 2. Сумма заказов за день

Режим: для всех записей. Возвращаем один item с итогом.

JavaScript
const items = $input.all();
const total = items.reduce((s, i) => s + Number(i.json.sum || 0), 0);
return [{ json: { orders: items.length, total } }];

Пример 3. Дата в понятном виде

Режим: для каждой записи. Превращаем дату из формы в «22.10.2026» по московскому времени.

JavaScript
const d = new Date($input.item.json.created_at);
const text = d.toLocaleDateString("ru-RU", { timeZone: "Europe/Moscow" });
return { json: { ...$input.item.json, date_ru: text } };

Пример 4. Оставить только крупные заявки

Режим: для всех записей. То же самое умеет нода Filter, но в коде удобно комбинировать сложные условия.

JavaScript
return $input.all().filter(i => Number(i.json.sum) >= 10000 && i.json.city === "Новосибирск");

Пример 5. Убрать дубли по телефону

Режим: для всех записей. Оставляем первую заявку с каждым номером.

JavaScript
const seen = new Set();
return $input.all().filter(i => {
  const key = i.json.phone;
  if (!key || seen.has(key)) return false;
  seen.add(key);
  return true;
});

Как не сломать сценарий

  • Перед изменениями нажмите Execute step на тестовых данных и посмотрите вывод в таблице справа.
  • Не меняйте исходные поля без нужды — добавляйте новые (phone_clean, date_ru). Так легче найти ошибку.
  • Не храните в коде токены и пароли. Для ключей в n8n есть Credentials.
  • Если код длиннее 20–30 строк, возможно, задачу лучше разбить на несколько нод или вынести во внешний сервис.
  • Попросить нейросеть написать код можно, но всегда проверяйте его на трёх-четырёх реальных записях, включая «кривые».

В курсе «Автоматизация без кода на n8n» разбираем выражения, условия, циклы и ноду Code на реальных сценариях — заявки с сайта, уведомления в Telegram, таблицы. Задания проверяет ИИ-преподаватель, «Быстрый старт» бесплатный.

Хотите пройти путь на практике?

Курс «Автоматизация без кода на n8n»: короткие уроки, практические задания и проверка ответов. Первый урок бесплатно.

Смотреть курс