Перейти к содержанию

n8n Merge: как объединять ветки и данные workflow

Обновлено: 2026-05-29

Открыть мой план

Merge объединяет данные из двух веток workflow. Это нужно, когда одна ветка получает основную запись, другая — дополнительные данные, а дальше их надо снова собрать в один поток: например, лид + профиль из CRM, товар + цена, пользователь + последние события.

Основные сценарии

СценарийПодходПример
Склеить два списка подрядAppendСобрать результаты из двух API
Объединить записи по idCombine / matching fieldsЛид из формы + строка из базы
Дождаться двух ветокMerge как точка синхронизацииПосле параллельных запросов
Сохранить только совпавшиеInner join-логикаОбработать только найденных клиентов

Пример: лид + данные из CRM

  1. Webhook получает заявку и передаёт email.
  2. Ветка A нормализует заявку через Set / Edit Fields.
  3. Ветка B ищет контакт в CRM или PostgreSQL по email.
  4. Merge объединяет две ветки по email.
  5. IF решает: обновить существующего клиента или создать нового.

Ключ к успешному merge

Перед Merge поля для сопоставления должны называться одинаково и иметь одинаковый формат. Если в одной ветке email в верхнем регистре, а в другой в нижнем, matching может не сработать. Поэтому почти всегда перед Merge стоит Set / Edit Fields.

email: {{ ($json.email || "").toLowerCase().trim() }}
external_id: {{ String($json.id || "") }}

Типовые ошибки

  • После Merge пусто. Нет совпадений по matching field или поле называется по-разному.
  • Записей стало слишком много. Получился cartesian product из-за неуникального ключа.
  • Порядок сломался. Не полагайтесь на индекс, если данные приходят из разных API.
  • Дубли в Google Sheets. Используйте уникальный ключ и проверку перед append.

Merge или IF?

IF выбирает ветку по условию, Merge собирает ветки обратно. В сложном workflow они часто работают вместе: IF разводит новые и старые записи, Merge соединяет обогащённые данные перед финальной записью.

Как читать эту ноду в execution history

Разбор n8n Merge: как объединять ветки и данные workflow полезен только тогда, когда читатель понимает, что именно нода получает и что отдаёт дальше. В n8n всегда проверяйте input и output ноды рядом: количество items, имена полей, binary data, paired items и ошибки преобразования.

ПроверкаЧто смотретьТипичная проблема
Item countсколько items вошло и вышлофильтр, merge или code случайно потерял строки
JSON shapeверхний уровень, вложенные поля, arraysследующая нода ждёт другое имя поля
Expressionsкакой item используется в expressionберётся первый item вместо текущего
Errorscontinue on fail, retry, error branchошибка скрыта и дальше уходит пустой результат

Роль ноды в архитектуре workflow

Для n8n Merge: как объединять ветки и данные workflow заранее назовите ноду по действию: “нормализовать лид”, “получить заказ”, “проверить дубль”, “ответить webhook”. Если название звучит как “тут вся логика”, ноду стоит разделить: отдельно сбор данных, отдельно проверка, отдельно действие.

  • одна нода должна делать одно понятное действие
  • после внешнего API нормализуйте response в стабильные поля
  • сложные условия выносите в IF/Switch или Code node с тестовыми примерами
  • после Merge/Loop/Code проверяйте item linking, иначе downstream expressions могут ломаться
  • для production добавляйте owner, комментарий и ссылку на runbook или ошибку

Практика использования ноды

Страница n8n Merge: как объединять ветки и данные workflow должна отвечать за поведение ноды, а не за полный бизнес-рецепт. Поэтому при внедрении фиксируйте вход, выход и изменение количества items.

ПроверкаЧто посмотреть в executionЧастая ошибка
Input itemsсколько items вошло в ноду и какие поля обязательныожидается один item, но приходит массив
Output itemsсколько items вышло после обработкипоследующие ноды получают другой item index
Expressionsкакие значения реально подставились в параметрыexpression возвращает undefined или строку вместо числа
Error behaviorостанавливает ли нода workflow или продолжает веткуошибка скрыта Continue On Fail без логирования

Практический контекст для внедрения

Эта страница полезна не как абстрактная справка, а как рабочая инструкция под использование ноды/паттерна «n8n Merge: как объединять ветки и данные workflow» в рабочем workflow, где важно понимать входные items и формат результата. Перед изменением workflow зафиксируйте источник события: входные данные по теме merge: webhook, schedule, ручной запуск или событие внешнего сервиса. Так проще отделить ошибку данных от ошибки настройки n8n и не превратить исправление в набор случайных правок.

Минимальная проверка перед публикацией workflow: один happy path, один пустой payload, один повтор события и одна ошибка внешнего сервиса. Для мониторинга используйте successful executions, skipped items, retry count, error branch usage; эти показатели быстро покажут, что сценарий работает иначе, чем ожидалось.

Что читать дальше

Для подготовки ключей смотрите Set / Edit Fields, для ветвлений — IF / Switch.